Skip to content

Brownie Repo to Deploy Chainlink Oracle Contracts using Github Actions

License

Notifications You must be signed in to change notification settings

Block-Farms/Github-Actions-Brownie-Oracle-Factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brownie Deploy Oracle/Operator Contracts

Pre-reqs

(0) Install brownie, this repo used eth-brownie==1.19.3

(1) ensure network is configured in brownie, with explorer url + api key if needed [ref]

brownie networks add Ethereum sepolia chainid=11155111 host=YOUR_RPC_URL explorer=https://api-sepolia.etherscan.io/api

(2) ensure wallet doing the on-chain tx's is funded with gas

(3) Set all variables within .env

(4) If running a custom oracle/operator.sol, update the contract in the contracts directory

Deploying the oracle contract

compile

brownie compile

deploy

brownie run scripts/deploy.py --network sepolia

Incorporation into Github Actions CI/CD:

This repo can be cloned to be executed automatically on pushes/updates to the main/master branch with Github Actions. To implement this add the following variables to your cloned repo > Settings > Secrets and variables > Actions:

RPC HTTP URL FOR BLOCKCHAIN CONNECTIVITY:

RPC_URL=REDACTED

EXLORER URL API KEY FOR CONTRACT VERIFICATION:

ETHERSCAN_TOKEN=REDACTED

HOT WALLET PRIVATE KEY DEPLOYING THE CONTRACT

PRIVATE_KEY=REDACTED

NODE ADDRESS WHICH SERVES THE ORACLE REQUESTS TO THE CONTRACT

NODE_ADDRESS=REDACTED

WALLET ADDRESS TO OWN THE CONTRACT AFTER DEPLOYMENT & FULFILLMENT

OWNER_ADDRESS=REDACTED

The workflow.yaml is default set to Ethereum Sepolia, if deploying to another network, be sure to configure L25 (brownie netowks add YOUR_NETWORK...) in .github/workflows/workflow.yaml

About

Brownie Repo to Deploy Chainlink Oracle Contracts using Github Actions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published