Docker Compose sample for Chainlink Node
$ git clone [email protected]:biga816/chainlink-node.git
Create files by running:
# Move to repository root
$ cd chainlink-node
# Set api email & password
$ echo "[email protected]" > chainlink/data/.api
$ echo "password" >> chainlink/data/.api
# Set wallet password
$ echo "my_wallet_password" > chainlink/data/.password
# Copy .env file
$ cp chainlink/.env.sample chainlink/.env
Set the variables ETH_URL
& ETH_CHAIN_ID
in the .env
to your Ethereum client's URL & Chain ID.
Run the Docker images by running:
$ docker-compose up -d
Open http://localhost:6688
.
npm install
npm test
If needed, edit the truffle-config.js
config file to set the desired network to a different port. It assumes any network is running the RPC port on 8545.
npm run migrate:dev
For deploying to live networks, Truffle will use truffle-hdwallet-provider
for your mnemonic and an RPC URL. Set your environment variables $RPC_URL
and $MNEMONIC
before running:
npm run migrate:live
There are 3 helper scripts provided with this box in the scripts directory:
fund-contract.js
request-data.js
read-contract.js
They can be used by calling them from npx truffle exec
, for example:
npx truffle exec scripts/fund-contract.js --network live
The CLI will output something similar to the following:
Using network 'live'.
Funding contract: 0x972DB80842Fdaf6015d80954949dBE0A1700705E
0xd81fcf7bfaf8660149041c823e843f0b2409137a1809a0319d26db9ceaeef650
Truffle v5.0.25 (core: 5.0.25)
Node v10.16.3
In the request-data.js
script, example parameters are provided for you. You can change the oracle address, Job ID, and parameters based on the information available on our documentation.
npx truffle exec scripts/request-data.js --network live
This creates a request and will return the transaction ID, for example:
Using network 'live'.
Creating request on contract: 0x972DB80842Fdaf6015d80954949dBE0A1700705E
0x828f256109f22087b0804a4d1a5c25e8ce9e5ac4bbc777b5715f5f9e5b181a4b
Truffle v5.0.25 (core: 5.0.25)
Node v10.16.3
After creating a request on a live network, you will want to wait 3 blocks for the Chainlink node to respond. Then call the read-contract.js
script to read the contract's state.
npx truffle exec scripts/read-contract.js --network live
Once the oracle has responded, you will receive a value similar to the one below:
Using network 'live'.
21568
Truffle v5.0.25 (core: 5.0.25)
Node v10.16.3