Skip to content

Development Setup Guide

Thomas edited this page Jun 15, 2019 · 43 revisions

The Complete Setup Guide for a Chainlink Development Environment

Install Go, Git, developer tools, Python (2.7), curl

Debian-based Linux (Ubuntu, Mint, etc.)

sudo apt install -y git build-essential python curl

Red Hat-based Linux (CentOS, Fedora, etc.)

sudo yum groupinstall -y 'C Development Tools and Libraries' 
sudo yum install -y git python curl

Mac OSX

brew install git curl golang

Windows-based environments can follow the instructions here.

After this point, instructions should be general for any *nix flavored operating system.

Install Node.JS v10.15

Install Yarn & Truffle with npm

npm install -g truffle
npm install -g yarn

Download Go (if not previously installed)

Setup paths

If needed, adjust the location of your Go installation and .bashrc to your setup.

mkdir ~/go
export GOPATH=~/go
export PATH=$PATH:/usr/local/go/bin:~/go/bin
echo "GOPATH=$GOPATH" >> ~/.bashrc
echo "PATH=$PATH" >> ~/.bashrc
source ~/.bashrc

Install Dep

go get -u github.com/golang/dep/cmd/dep

Download Chainlink and install dependencies

go get -d github.com/smartcontractkit/chainlink
# Output will say no Go files, this is fine
cd $GOPATH/src/github.com/smartcontractkit/chainlink
make install

The first time running make install will take a while to finish.

Once complete, you can run chainlink -h to check that the binary was created.

For local development, tools are available in the tools/bin/ directory:

  • cldev: sets environment variables and runs the source of the node directly
  • gethnet: (requires Geth to be installed) runs a local Geth Ethereum instance
  • devnet: (requires Docker to be installed) runs a local Parity Ethereum instance

Working with contracts (in a new window)

cd $GOPATH/src/github.com/smartcontractkit/chainlink/evm
yarn install
yarn test