Chainlink Developers

Welcome to the Chainlink documentation site. You'll find comprehensive guides and documentation to help you start working with Chainlink as quickly as possible, as well as support if you get stuck. Click here for an introductory walkthrough on how to create a Chainlink request on the Ropsten test network!

Run an Ethereum Client

In order to run a Chainlink node, it must be able to connect to an Ethereum client with an active websocket connection. This is accomplished by running either Geth or Parity. The examples below show how to run them in their official Docker containers.

If you choose to run either Geth or Parity with their native clients, please be sure to enable the websockets API, since it is required for the Chainlink node to communicate with the Ethereum blockchain.

Note: We use light clients in these examples to save disk space. This should only be done for test networks and not for the Ethereum main network as it reduces security.

Geth

The Geth client can be used for the Ropsten and Rinkeby test networks.

Download the latest version:

docker pull ethereum/client-go:stable

Create a local directory to persist the data:

mkdir ~/.geth-ropsten
mkdir ~/.geth-rinkeby

Run the image (example includes --testnet for Ropsten):

docker run --name eth -p 8546:8546 -v ~/.geth-ropsten:/geth -it \
           ethereum/client-go:stable --testnet --syncmode light --ws \
           --wsaddr 0.0.0.0 --wsorigins="*" --datadir /geth
docker run --name eth -p 8546:8546 -v ~/.geth-rinkeby:/geth -it \
           ethereum/client-go:stable --rinkeby --syncmode light --ws \
           --wsaddr 0.0.0.0 --wsorigins="*" --datadir /geth

Once the Ethereum client is running, you can use Ctrl + P, Ctrl + Q to detach from the container without stopping it. You will need to leave the container running for the Chainlink node to connect to it.

If the container was stopped and you need to run it again, you can simply use the following command:

docker start -i eth

Return to Running a Chainlink Node.

Parity

The Parity client can be used for the Ropsten and Kovan test networks.

Download the latest version:

docker pull parity/parity:stable

Create a local directory to persist the data:

mkdir ~/.parity-ropsten
mkdir ~/.parity-kovan

Run the image (example includes --chain=ropsten for Ropsten):

docker run -h eth --name eth -p 8546:8546 \
           -v ~/.parity-ropsten:/home/parity/.local/share/io.parity.ethereum/ \
           -it parity/parity:stable --chain=ropsten \
           --ws-interface=all --ws-origins="all" --light \
           --base-path /home/parity/.local/share/io.parity.ethereum/
docker run -h eth --name eth -p 8546:8546 \
           -v ~/.parity-kovan:/home/parity/.local/share/io.parity.ethereum/ \
           -it parity/parity:stable --chain=kovan \
           --ws-interface=all --ws-origins="all" --light \
           --base-path /home/parity/.local/share/io.parity.ethereum/

Once the Ethereum client is running, you can use Ctrl + P, Ctrl + Q to detach from the container without stopping it. You will need to leave the container running for the Chainlink node to connect to it.

If the container was stopped and you need to run it again, you can simply use the following command:

docker start -i eth

Return to Running a Chainlink Node.