Chainlink expands the capabilities of smart contracts by enabling access to real-world data and off-chain computation while maintaining the security and reliability guarantees inherent to blockchain technology.
This repo contains the Chainlink core node and contracts. The core node is the bundled binary available to be run by node operators participating in a decentralized oracle network. All major release versions have pre-built docker images available for download from the Chainlink dockerhub. If you are interested in contributing please see our contribution guidelines. If you are here to report a bug or request a feature, please check currently open Issues. For more information about how to get started with Chainlink, check our official documentation.
Chainlink has an active and ever growing community. Discord is the primary communication channel used for day to day communication, answering development questions, and aggregating Chainlink related content. Take a look at the community docs for more information regarding Chainlink social accounts, news, and networking.
- Install Go 1.27.3, and add your GOPATH's bin directory to your PATH
- Example Path for macOS
export PATH=$GOPATH/bin:$PATH&export GOPATH=/Users/$USER/go
- Example Path for macOS
- Install NodeJS v20 & pnpm v10 via npm.
- It might be easier long term to use nvm to switch between node versions for different projects. For example, assuming $NODE_VERSION was set to a valid version of NodeJS, you could run:
nvm install $NODE_VERSION && nvm use $NODE_VERSION
- It might be easier long term to use nvm to switch between node versions for different projects. For example, assuming $NODE_VERSION was set to a valid version of NodeJS, you could run:
- Install Postgres (>= 15.x). It is recommended to run the latest major version of postgres.
- Note if you are running the official Chainlink docker image, the highest supported Postgres version is 18.x due to the bundled client.
- You should configure Postgres to use SSL connection (or for testing you can set
?sslmode=disablein your Postgres query string).
- Download Chainlink:
git clone https://github.com/smartcontractkit/chainlink && cd chainlink