Smart contracts for Gitcoin grants bulk checkout functionality
- Install dependencies with
npm install
- Run tests with
npm test
BulkCheckout.sol
has been deployed to the Mainnet and Rinkeby at
0x7d655c57f71464B6f83811C55D84009Cd9f5221C.
To deploy a new version:
- Create a file called
.env
with the following contents:INFURA_ID=yourInfuraId MNEMONIC_RINKEBY="your mnemonic for development" MNEMONIC_MAINNET="your mnemonic for production"
- Open
networks.js
and configure the object for the network you want to deploy to- You may want to change the gas price (specified in wei) if deploying to mainnet
- You may want to change the derivation path based on the result of the next step. See the
@truffle/hdwallet-provider
for more information.
- Run
npx oz accounts
and select the network you wish to deploy to. The default account will be used unless otherwise specified. - Run
npm run deploy
and follow the prompts to deploy theBulkCheckout
contract. This will first runnpm run compile
to compile the contracts.- If the previous step did not show the desired default account, but you see the desired account in that list, instead run
npx oz deploy --from <desiredAddress>
. See the OpenZeppelin CLI docs for more information - If you do not see the desired account, you likely need to change the derivation path. See the
@truffle/hdwallet-provider
docs linked above for instructions on how to change this
- If the previous step did not show the desired default account, but you see the desired account in that list, instead run
- Once deployment is complete, you'll see a file in the
.openzeppelin
folder called<network>.json
, where<network>
is the network you deployed to. The file contains an array of objects containing information on each contract deployment.