Skip to content

ActionsHackathon21/deploy-upgradable-smartcontract-to-blockchain

Repository files navigation

Build documentations

This project follows the DEV.to #ActionsHackathon21 hackathon.

Use GitHub Actions and Workflows to build and deploy upgradable smartcontracts into the ethereum blockchains. After its deployment, the contract's ABI will be released, and the artifacts will be saved into a deployed branch.

Screenshot

Screenshot

Check the complete workflow here:

Screenshot

Actions used

Screenshot

Configurations

  • You can config the branch postfix which holds the development's artifacts with the DEPLOY_BRANCH_POSTFIX variable.
  • You can also configure the development branches which you want to deploy to testnet, with branches key.
  • To config the blockchain you want to deploy to, use the WALLET_SECRET , RPC, NETWORK_ID and CONFIRMATIONS variables Important! You should store the wallet secret in GitHub's secret (Settings > Secrets). On this project, I stored as DEV_WALLET_SECRET and PROD_WALLET_SECRET secrets

Screenshot

Flows

  • Use actions/checkout@v2 to checkout source code from the repository
  • Use actions/setup-node@v2 to setup nodejs
  • Use actions/cache@v2 to cache dependencies
  • Install build dependencies (yarn, node-gyp, node-gyp-build)
  • Install dependencies from yarn.lock
  • Synchronize previous built artifacts from the deployment branch
  • Build and Migrate smartcontracts
  • Push new built artifacts into the deployment branch
  • Release smartcontracts' JSON (including ABI)