https://github.com/metafam/chievemints
MetaGame’s achievements NFTs
https://github.com/metafam/chievemints
attestation nft skills
Last synced: about 1 year ago
JSON representation
MetaGame’s achievements NFTs
- Host: GitHub
- URL: https://github.com/metafam/chievemints
- Owner: MetaFam
- Created: 2022-03-08T20:16:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-15T08:54:40.000Z (over 1 year ago)
- Last Synced: 2025-04-01T14:56:47.046Z (about 1 year ago)
- Topics: attestation, nft, skills
- Language: TypeScript
- Homepage: https://chiev.es
- Size: 121 MB
- Stars: 1
- Watchers: 3
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ’Chievemints

This is a simple app to mint ERC-1155 NFTs to represent player accomplishments in [MetaGame](//metagame.wtf).
The permissions for each token are controlled by the existence of other tokens in the system.
## Running
* `yarn`
* `yarn ui:start`
## Deploying the Contract
Set `CHAIN_NAME` in `packages/contracts/.env` and `VITE_CHAIN_NAME` in `packages/ui/.env` to a network from the [hardhat config](packages/contracts/hardhat.config.ts).
By default if an existing deployment for that network is found in `packages/contracts/artifacts/`, the system will attempt to upgrade the contract. To force a fresh deployment, the best method is to add a new network for your deployment to `packages/contracts/hardhat.config.ts` to the `validationKeyNames` and `config.networks` sections. This new chain name needs to include an existing chain name *(like "dysMumbai" or "polygonTesting")* for the network name to resolve in the UI. Otherwise, the new chain needs to be added to `packages/ui/src/lib/networks.ts`.
After the network is configured, the contracts can be deployed using `yarn hh:deploy`.
After the contract is deployed, the deploying address is set as the owner. To create tokens from your wallet, you will either need to add a "`Creator`" or "`Superuser`" permission for that address *(creators can make new token types, superusers can do pretty much everything)*. To do so, from the command line run `yarn --cwd packages/contracts/ hardhat grant --address myaddr.eth --role Superuser`.
You should now be able to click the trophy in the UI to create a new token type.
## Publishing the UI
In order to publish the UI, you will need write access to the [’Chievemints GitHub Repository](https://github.com/MetaFam/chievemints/). Given that, just run `yarn ui:publish`.

## Uploading Metadata
The gating tokens need to have metadata files uploaded to IPFS in order for them to display correctly. This is done by running the `yarn gating-metadata` task in the `packages/contracts/` subdirectory.