Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

chainGers-2021/nft-handler

Open more actions menu

Repository files navigation

HODLTogether NFT Distribution

How to setup chainlink node

Setting up the .env file

  • mkdir ~/.chainlink-kovan

  • touch .env

  • Put this inside your ~/.chainlink-kovan/.env file:

    ROOT=/chainlink
    LOG_LEVEL=debug
    ETH_CHAIN_ID=42
    MIN_OUTGOING_CONFIRMATIONS=2
    LINK_CONTRACT_ADDRESS=0xa36085F69e2889c224210F603D836748e7dC0088
    CHAINLINK_TLS_PORT=0
    SECURE_COOKIES=false
    GAS_UPDATER_ENABLED=true
    ALLOW_ORIGINS=*
    ETH_URL=CHANGEME

Set the local postgres DATABASE_URL Config

  • sudo -i -u postgres
  • psql
  • ALTER USER postgres PASSWORD '12345678'
  • Postges setup:
    username: postgres
    password: postgres
    server: localhost
    port: 5432
    database: postgres
  • Add these to your ~/.chainlink-kovan/.env file:
    DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres
    DATABASE_TIMEOUT=0

Helpful resources

How to start chainlink node?

  • cd ~/.chainlink-kovan
  • docker run --name chainlink-kovan --network host -p 6688:6688 -v ~/.chainlink-kovan:/chainlink -it --env-file=.env smartcontract/chainlink:0.10.3 local n
  • Visit in browser: localhost:6688 and sign in with your credentials
  • docker network ls: make sure host is there.

Stopping & deleting container:

  • docker stop chainlink-kovan && docker container rm chainlink-kovan

Screenshots

How to deploy APIConsumer

  • Assuming that you have successfully setup the chainlink node.

  • truffle compile

  • truffle migrate --reset --network kovan/truffle migrate --f 3 --network kovan(If you update APIConsumer only.)

  • yarn verify

  • truffle exec scripts/1_fund_link.js --network kovan

  • Needs to be done for the first time:

    • truffle exec scripts/2_add_permission.js --network kovan
    • Add a new job from the NODE UI, with job spec from: job_specs/eth=>bool.json & don't forget to copy Oracle address into job_spec
  • truffle exec scripts/3_request.js --network kovan

  • You can see a job assingned in the node operator browser window:

    • as it will succeed, check the transaction hash for any errors
  • truffle exec scripts/4_read_val.js --network kovan

  • node help/postgres.check.js: Check postgres connection & NODE funds

How to run local express server

  • yarn server: Start in dev mode
  • yarn start: Start in prod mode
  • Open a query like: [http://localhost:5000/check/nft/0xcfdf8fffaa4dd7d777d448cf93dd01a45e97d782/LINK]

ENV variables for the project

A template of .env file is already given as .env.example, set them accordingly:

LINK_CONTRACT_ADDRESS="..."
RPC_URL="..."
MNEMONIC="..."
NODE_ADDRESS="..."
JOB_ID="..."
ETHERSCAN_API_KEY="..."

Directory structure

pam@g3:~/cl-node$ tree -I 'node_modules|build'
.
├── contracts
│   ├── Distributor
│   │   ├── APIConsumer.sol
│   │   └── TokenHandler.sol
│   ├── ERC1155
│   │   └── Token.sol
│   └── Migrations.sol
├── help
│   ├── node.info.js
│   ├── postgres.check.js
│   └── query.js
├── index.js
├── job_specs
│   └── eth=>bool.json
├── migrations
│   ├── 1_initial_migration.js
│   ├── 2_oracle.js
│   ├── 3_token.js
│   └── 4_testnet_consumer.js
├── package.json
├── README.md
├── scripts
│   ├── 1_fund_link.js
│   ├── 2_add_permission.js
│   ├── 3_request.js
│   └── 4_read_val.js
├── truffle-config.js
└── yarn.lock

7 directories, 21 files

Deployments

Morty Proxy This is a proxified and sanitized view of the page, visit original site.