{"id":17899548,"url":"https://github.com/anupam-io/chainlink-node-operator","last_synced_at":"2026-05-05T04:09:11.413Z","repository":{"id":122494689,"uuid":"355657980","full_name":"anupam-io/chainlink-node-operator","owner":"anupam-io","description":"Setting up a chainlink node, deploying an oracle and a price feed consumer","archived":false,"fork":false,"pushed_at":"2022-07-25T13:24:05.000Z","size":2120,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T20:14:01.152Z","etag":null,"topics":["chainlink","docker","nodejs","oracle","postgresql","truffle"],"latest_commit_sha":null,"homepage":"https://kovan.etherscan.io/address/0x3D07b397734D638906db75859eb97949C9402f72","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anupam-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-07T19:18:47.000Z","updated_at":"2022-07-25T13:22:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"f97f9c6a-1d7f-4397-a952-de115e918e5f","html_url":"https://github.com/anupam-io/chainlink-node-operator","commit_stats":null,"previous_names":["anupam-io/chainlink-node-operator"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/anupam-io/chainlink-node-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anupam-io%2Fchainlink-node-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anupam-io%2Fchainlink-node-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anupam-io%2Fchainlink-node-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anupam-io%2Fchainlink-node-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anupam-io","download_url":"https://codeload.github.com/anupam-io/chainlink-node-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anupam-io%2Fchainlink-node-operator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275857299,"owners_count":25541033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chainlink","docker","nodejs","oracle","postgresql","truffle"],"created_at":"2024-10-28T15:59:52.482Z","updated_at":"2025-09-19T00:15:11.989Z","avatar_url":"https://github.com/anupam-io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **How to setup chainlink node**\n\n## Setting up the `.env` file\n\n```\n    mkdir ~/.chainlink-kovan\n    touch .env\n```\n\n- Put this inside your `~/.chainlink-kovan/.env` file:\n\n```\n    ROOT=/chainlink\n    LOG_LEVEL=debug\n    ETH_CHAIN_ID=42\n    MIN_OUTGOING_CONFIRMATIONS=2\n    LINK_CONTRACT_ADDRESS=0xa36085F69e2889c224210F603D836748e7dC0088\n    CHAINLINK_TLS_PORT=0\n    SECURE_COOKIES=false\n    GAS_UPDATER_ENABLED=true\n    ALLOW_ORIGINS=*\n    ETH_URL=CHANGEME\n```\n\n## Set the local `postgres` DATABASE_URL Config\n\n```\n    sudo -i -u postgres\n    psql\n    ALTER USER postgres PASSWORD '12345678'\n```\n\n- Postges setup:\n\n```\n    username: postgres\n    password: postgres\n    server: localhost\n    port: 5432\n    database: postgres\n```\n\n- Add these to your `~/.chainlink-kovan/.env` file\n\n```\n    DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres\n    DATABASE_TIMEOUT=0\n```\n\n## Resources\n\n- https://docs.chain.link/docs/running-a-chainlink-node\n- https://docs.chain.link/docs/fulfilling-requests\n- https://docs.chain.link/docs/job-specifications#config\n\n# **How to start chainlink node?**\n\n```\n    cd ~/.chainlink-kovan\n    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\n\n    Visit: http://localhost:6688/\n```\n\n- Stopping \u0026 deleting container:\n\n```\n    docker stop chainlink-kovan \u0026\u0026 docker container rm chainlink-kovan\n```\n\n- `docker network ls`: make sure host is there.\n\n## Screenshots\n - \u003cimg src=\"./help/1.png\" width=\"800\" /\u003e\n - \u003cimg src=\"./help/3.png\" width=\"800\" /\u003e\n - \u003cimg src=\"./help/2.png\" width=\"800\" /\u003e\n\n# **How to deploy APIConsumer**\n- Assuming that you have successfully setup the chainlink node.\n- `truffle compile`\n- `truffle migrate --reset --network kovan`/`truffle migrate --f 3 --network kovan`(If you update APIConsumer only.)\n- `yarn verify`\n- `truffle exec scripts/1_fund_link.js --network kovan`\n- Needs to be done for the first time:\n\n  - `truffle exec scripts/2_add_permission.js --network kovan`\n  - Add a new job from the NODE UI, with [job spec](https://docs.chain.link/docs/job-specifications#config) from: `job_specs/eth=\u003ebool.json` \u0026 **don't forget to copy Oracle address into job_spec**\n\n- `truffle exec scripts/3_request.js --network kovan`\n- `truffle exec scripts/4_read_val.js --network kovan`\n\n- `node main.js`: Check postgres connection \u0026 NODE funds\n\n## Directory structure\n\n```\npam@g3:~/cl-node$ tree -I 'node_modules|build'\n.\n├── contracts\n│   ├── Distributor\n│   │   ├── APIConsumer.sol\n│   │   └── TokenHandler.sol\n│   ├── ERC1155\n│   │   └── Token.sol\n│   └── Migrations.sol\n├── help\n│   ├── node.info.js\n│   ├── postgres.check.js\n│   └── query.js\n├── index.js\n├── job_specs\n│   └── eth=\u003ebool.json\n├── migrations\n│   ├── 1_initial_migration.js\n│   ├── 2_oracle.js\n│   ├── 3_token.js\n│   └── 4_testnet_consumer.js\n├── package.json\n├── README.md\n├── scripts\n│   ├── 1_fund_link.js\n│   ├── 2_add_permission.js\n│   ├── 3_request.js\n│   └── 4_read_val.js\n├── truffle-config.js\n└── yarn.lock\n\n7 directories, 21 files\n```\n\n## Deployments\n\n```\n$ truffle run verify Oracle APIConsumer Token --network kovan --license MIT\nVerifying Oracle\nContract source code already verified: https://kovan.etherscan.io/address/0xa4B3F31cED36617A454F660Be10B97456922cbE0#contracts\nVerifying APIConsumer\nPass - Verified: https://kovan.etherscan.io/address/0xBdC3FcC0BEd515F09221dB7FA1B161052D8a3F23#contracts\nVerifying Token\nPass - Verified: https://kovan.etherscan.io/address/0xFE96C2094A3dF1ec1B7C3d42B92Fe7DB6cFd4e66#contracts\nSuccessfully verified 3 contract(s).\nDone in 29.99s.\n```\n\n- [Node address: `0xBcabE53a3cd718bc48137831f6F788C8AB35D10a`](https://kovan.etherscan.io/address/0xBcabE53a3cd718bc48137831f6F788C8AB35D10a)\n- Job address: `68e165d25145484b9effc50925d09889`\n\n# **How to run local express server**\n- `yarn server`: Start in *dev* mode\n- `yarn start`: Start in *prod* mode","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanupam-io%2Fchainlink-node-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanupam-io%2Fchainlink-node-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanupam-io%2Fchainlink-node-operator/lists"}