@past3lle/skilltree-contracts
v0.1.8
Published
## Building the project
Downloads
1,715
Readme
Getting Started
Building the project
After any changes to the contract, run:
npm run build
# or
yarn build
Deploying
Use the hardhat deploy task callable via the package.json scripts: deploy
, deploy:amoy
which runs the tasks inside scripts/tasks/deploy.js
by default.
Set env variables [here as example we set the goerli envs]:
export GOERLI_RPC_URL=https://goerli.infura.io/v3/f9d3e18111964a048ee83915a082ccf7
export PK=<your key>
export ETHERSCAN_API_KEY=<your key>
Example usage in the CLI:
yarn deploy \
--metadata-uri <URL_TO_COLLECTION_METADATA> \
--contract CollectionsManager \
Minting
Use the hardhat minting task callable via the package.json scripts: mint
, mint:amoy
which runs the tasks inside scripts/tasks/mintNewSkillForCollection.js
by default.
Example usage in the CLI:
# Mint collection (e.g for goerli)
yarn mintCollection:goerli --name GENESIS --metadata-uri ipfs://Qm_SOME_IPFS_URL_AND_FORWARD_SLASH/
and it can be verified like this (as an example)
yarn verifySkills:goerli --metadata-uri <metadataUriConstructorArg> --name <collectionNameConstructorArg> --controller <controllerConstructorArg> --skills-addr <deployedSkillsContractAddress>
CLI Contract testing
Start the console: npx hardhat console
or yarn run console
Paste this example line to get CollectionsManager, PSTLCollection_1 deployed, along with owner
address cached in let owner
let Collections,collections,skills1,owner;ethers.getSigners().then(res => {owner = res[0].address});ethers.getContractFactory("CollectionsManager").then(res => {Collections = res;return Collections.deploy("ipfs://QmNzUQ9Txa5BLmd6ycngZ4M4pRgrY2AGVcLRt4PdTCKP4U/", owner)}).then(res => {collections = res;return ethers.getSigners(); }).then(res => {owner = res[0]});
This gives you access to cached vars:
collections
-> deployedCollectionsManager.sol
owner
->(await ethers.getSigner())[0]