Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stephancill/synthetic-nouns
A Noun for every wallet.
https://github.com/stephancill/synthetic-nouns
nft nouns
Last synced: 13 days ago
JSON representation
A Noun for every wallet.
- Host: GitHub
- URL: https://github.com/stephancill/synthetic-nouns
- Owner: stephancill
- Created: 2022-07-04T19:58:49.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-09-01T22:27:57.000Z (about 2 years ago)
- Last Synced: 2024-04-14T10:31:54.355Z (7 months ago)
- Topics: nft, nouns
- Language: TypeScript
- Homepage: https://nouns.stephancill.co.za
- Size: 868 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mintable Synthetic Nouns
Synthetic nouns are nouns that are generated using the hash of the claimer's address as a seed. There exists one per address.
### Governance
Snapshot can be used for governance using the `synthetic-nouns-with-claimer` strategy. The strategy gives an address that still owns the synthetic noun that they minted the ability to vote on Snapshot.
### Run node
```
yarn hardhat node
```Optionally export ABIs:
```
yarn hardhat deploy --export ./client/src/deployments.json --network localhost
```Use `FORK=mainnet` to fork mainnet on the localhost network.
### Tests
Run node
```
FORK=mainnet yarn hardhat node --no-deploy
``````
yarn hardhat test --network localhost
```### Test on mainnet fork
Run mainnet fork node
```
FORK=mainnet yarn hardhat node --no-deploy
```Copy mainnet deployments to localhost deployments
```
cd deployments &&
mkdir localhost &&
cp -r ./mainnet/ ./localhost/ &&
cd ..
```Run tests
```
FORK=mainnet yarn hardhat test --network localhost
```### Client
Start node
```
FORK=mainnet yarn hardhat node --no-deploy
```Copy mainnet deployments to localhost deployments
```
cd deployments &&
mkdir localhost &&
cp -r ./mainnet/ ./localhost/ &&
cd ..
```Update deployments file
```
yarn hardhat deploy --export ./client/src/deployments.json --network localhost
```### Deployment
```
yarn hardhat deploy
```Verify on etherscan
```
yarn hardhat etherscan-verify --network mainnet
```### Generate types
```
yarn hardhat typechain
```## Future improvements
- Expose `generateSeed` function
- Address preview should return data URL instead of just b64 encoded svg
- Update @notice of `generateSeed` and `claim` methods in smart contract
- Use `ERC721Enumerable` to get all the tokens owned by an address
- Add a mapping to see if a token is still owned by its original minter
- Add a function which lets you claim a token for another address and have it sent to that address