This directory contains the majority of the code for the backend of Chainlink.
Outside of the code contained in this repo, some static assets are pulled in using
packr, in the sibling directory packr/
.
For the backend, the solidity ABIs are used to generate types for interacting with
Ethereum contracts. Additionally, the static assets generated by compiling the
sibling directroy operator-ui/
are built by packr and included in the final
binary.
See the root README for instructions on how to build the full Chainlink node.
Install:
By default go install
will install this directory under the name core
.
You can instead, build it, and place it in your path as chainlink
:
go build -o $GOPATH/bin/chainlink .
Test:
# A higher parallel number can speed up tests at the expense of more RAM.
go test -p 1 ./...
The golang testsuite is almost entirely parallelizable, and so running the default
go test ./...
will commonly peg your processor. Limit parallelization with the
-p 2
or whatever best fits your computer: go test -p 4 ./...
.