Parcel Contracts
Setup
Node
- Install
nvm
(Node Version Manager) -
cd
to the project directory and execute the following:nvm install nvm use npm install
IDE Setup
This project uses EditorConfig for IDE configuration.
See .editorconfig
for settings.
Many popular IDEs and editors support this out of the box or with a plugin.
Development
Prettier
This project uses Prettier, so please run it before checking in:
npm run pretty
See .prettierrc
for settings.
Some IDEs and editors have plugins for running Prettier.
Linting
This project uses ESLint. Check linting before checking in:
npm run lint
See tslint.json
for settings.
Many IDEs and editors support TSLint.
Testing
This project uses Mocha, Chai, and Waffle for testing. Run tests before checking in.
npm test
Building
npm run build
Verification
Set up a .secrets.json
file that looks similar to example.secrets.json
:
After deploying your contract, you can verify it by running the following.
Rinkeby
npx hardhat verify --network rinkeby CONTRACT_ADDRESS
For a proxy contract, you'll need to pass the arguments to the proxy contract, and pass the contract as well:
npx hardhat verify --network rinkeby \
--contract contracts/common/UpgradeableProxy.sol:UpgradeableProxy \
--constructor-args examples/parcelNFTConstructorParams.js \
CONTRACT_ADDRESS
Mainnet
npx hardhat verify --network rinkeby CONTRACT_ADDRESS
npx hardhat verify --network mainnet \
--contract contracts/common/UpgradeableProxy.sol:UpgradeableProxy \
--constructor-args examples/parcelNFTConstructorParams.js \
CONTRACT_ADDRESS
See hardhat-etherscan for more examples