core

command
v0.8.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 27, 2020 License: MIT Imports: 4 Imported by: 0

README

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 directory 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.

Common Commands

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 ./....

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package adapters contain the core adapters used by the Chainlink node.
Package adapters contain the core adapters used by the Chainlink node.
Package cmd is the front-end interface for the application as a command-line utility.
Package cmd is the front-end interface for the application as a command-line utility.
gethwrappers
Package gethwrappers provides tools for wrapping solidity contracts with golang packages, using abigen.
Package gethwrappers provides tools for wrapping solidity contracts with golang packages, using abigen.
Package logger is used to store details of events in the node.
Package logger is used to store details of events in the node.
scripts module
Package services contain the key components of the Chainlink node.
Package services contain the key components of the Chainlink node.
eth
signatures/cryptotest
package cryptotest provides convenience functions for kyber-based APIs.
package cryptotest provides convenience functions for kyber-based APIs.
signatures/ethdss
Package ethdss implements the Distributed Schnorr Signature protocol from the ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
Package ethdss implements the Distributed Schnorr Signature protocol from the ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
signatures/ethschnorr
Package ethschnorr implements a version of the Schnorr signature which is ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
Package ethschnorr implements a version of the Schnorr signature which is ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
signatures/secp256k1
Package secp256k1 is an implementation of the kyber.{Group,Point,Scalar} ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
Package secp256k1 is an implementation of the kyber.{Group,Point,Scalar} ////////////////////////////////////////////////////////////////////////////// XXX: Do not use in production until this code has been audited.
vrf
Numbers are deterministically generated from seeds and a secret key, and are statistically indistinguishable from uniform sampling from {0,...,2**256-1}, to computationally-bounded observers who know the seeds, don't know the key, and only see the generated numbers.
Numbers are deterministically generated from seeds and a secret key, and are statistically indistinguishable from uniform sampling from {0,...,2**256-1}, to computationally-bounded observers who know the seeds, don't know the key, and only see the generated numbers.
Package store is used to keep application events in sync between the database on the node and the blockchain.
Package store is used to keep application events in sync between the database on the node and the blockchain.
models
Package models contain the key job components used by the Chainlink application.
Package models contain the key job components used by the Chainlink application.
models/vrfkey
Package vrfkey tracks the secret keys associated with VRF proofs.
Package vrfkey tracks the secret keys associated with VRF proofs.
orm
presenters
Package presenters allow for the specification and result of a Job, its associated TaskSpecs, and every JobRun and TaskRun to be returned in a user friendly human readable format.
Package presenters allow for the specification and result of a Job, its associated TaskSpecs, and every JobRun and TaskRun to be returned in a user friendly human readable format.
Package utils is used for the common functions for dealing with conversion to and from hex, bytes, and strings, formatting time.
Package utils is used for the common functions for dealing with conversion to and from hex, bytes, and strings, formatting time.
Package web handles receiving and supplying information within the node.
Package web handles receiving and supplying information within the node.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL