-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Development Setup Guide
Thomas edited this page Jun 27, 2018
·
43 revisions
Debian-based Linux (Ubuntu, Mint, etc.)
$ sudo apt install -y git build-essential python curl golang-go
Red Hat-based Linux (CentOS, Fedora, etc.)
$ sudo yum groupinstall -y 'C Development Tools and Libraries'
$ sudo yum install -y git python curl golang-go
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
$ npm install -g truffle
$ npm install -g yarn
Install Docker for Mac or Docker CE (follow instructions on site)
$ sudo gpasswd -a $USER docker
$ su $USER # Or log out and log back in
Ensure you have the latest Go
$ mkdir ~/go
$ export GOPATH=~/go
$ export PATH=$PATH:/usr/local/go/bin:~/go/bin
$ echo "GOPATH=$GOPATH" >> ~/.bashrc
$ echo "PATH=$PATH" >> ~/.bashrc
$ go get -u github.com/golang/dep/cmd/dep
$ go get -d github.com/smartcontractkit/chainlink
$ cd $GOPATH/src/github.com/smartcontractkit/chainlink
$ make install
At this point, you can import a keystore file if you need.
$ ./internal/bin/devnet
$ yarn install
$ cd solidity
$ truffle migrate --network development
$ truffle console --network development
You can use the Truffle Console to interact with the deployed contracts:
truffle(Development)> GetterSetter.deployed().then(con => con.getUint256())
truffle(Development)> GetterSetter.deployed().then(con => con.setUint256(45))
truffle(Development)> GetterSetter.deployed().then(con => con.getUint256())
$ ./internal/bin/cldev
When interacting with the running node, you will need to have your USERNAME
and PASSWORD
environment variables set. We use direnv to automatically set these per-directory.
You can manually set them by running
$ export USERNAME=chainlink
$ export PASSWORD=twochains
You can now add JobSpecs
$ chainlink c internal/fixtures/web/hello_world_job.json
View JobSpecs
$ chainlink s $JOBID
Start JobRuns
$ chainlink r $JOBID