Skip to content

Files

core

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 27, 2024
Jan 7, 2025
Jan 7, 2025
Feb 15, 2025
Feb 27, 2024
Feb 14, 2025
Feb 13, 2025
Feb 7, 2025
Feb 14, 2025
Feb 14, 2025
Feb 5, 2025
Oct 25, 2024
Jan 12, 2024
Nov 20, 2024
Aug 6, 2024
Feb 17, 2025
Feb 17, 2025
Jan 7, 2025
Mar 28, 2023
Jan 21, 2025
Feb 14, 2025
Feb 6, 2025
Jan 31, 2025
Feb 14, 2025
Apr 12, 2024
Feb 10, 2025
Feb 7, 2025
Jun 5, 2023

Chainlink logo


Go Report Card Go Reference

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.

Features

  • Headless API implementation
  • CLI tool providing conveniance commands for node configuration, administration, and CRUD object operations (e.g. Jobs, Runs, and even the VRF)

Installation

See the root README for instructions on how to build the full Chainlink node.

Directory Structure

This directory contains the majority of the code for the backend of Chainlink.

Static assets are pulled in using Go's embed package and included in the final binary.

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

This excludes more extensive integration tests which require a bit more setup, head over to [./integration-tests] (../integration-tests/README.md) for more details on running those.

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