Chainlink Core is the API backend that Chainlink client contracts on Ethereum make requests to. The backend utilizes Solidity contract ABIs to generate types for interacting with Ethereum contracts.
- Headless API implementation
- CLI tool providing conveniance commands for node configuration, administration, and CRUD object operations (e.g. Jobs, Runs, and even the VRF)
See the root README for instructions on how to build the full Chainlink node.
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/
.
Additionally, the static assets generated by compiling the
sibling directory operator-ui/
are built by packr and included in the final
binary.
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 ./...
.