Keep up with the latest crypto news, make frens and prove your value to others (employers, DAOs, anons).
AmpliFrens helps you in 4 ways:
- It gives you a decentralized reputation system to show off your general crypto knowledge (every day the author of the most upvoted contribution receives a soulbound token contributing to his status)
- With profiles, you can make yourself known by sharing important news.
- With statuses, you can meet people who are as deep in the crypto rabbit hole as you are.
- With news categories, you can stay updated on the news that matter to you.
Every day, people can share crypto news and vote on the best contributions.
After 24 hours, the author of the best contribution receives a Soulbound token. This token proves his value and crypto knowledge thanks to the blockchain.
By gaining more and more Soulbound tokens, one can level up to a new status that will give them exclusive perks.
There are 15 NFTs to reward the most important people for the AmpliFrens community. These NFTs will give you access to a private discord group.
- Soulbound Token (contracts/AmpliFrensSBT.sol):
- EIP-4671 draft with the following extensions
- ERC721 compliant NFT(contracts/AmpliFrensNFT.sol):
- Automated minting via Chainlink Keeper
- Transparent upgradeable proxy for the facade (contracts/upgradeability/TransparentUpgradeableProxy.sol):
- EIP-1967
- Why I chose Proxy instead of UUPS pattern
- Data indexation with The Graph
100% of the smart contracts are covered by tests.
To check code coverage run the command:
yarn coverage
The project uses composition over inheritance.
Under the hood, it implements the Facade design pattern to:
- hide project complexity
- minimise tight coupling
- ease subsystem access
Project is deployed on:
- Install dependencies
yarn
- Compile smart contracts
yarn compile
- Run tests
yarn hardhat-local
yarn test
-
Launch Docker daemon
-
Generate AssemblyScript for subgraph
yarn graph-codegen
To use The Graph use the following steps:
-
Launch Hardhat node
yarn hardhat-local
-
Launch The Graph
yarn graph-local
-
Deploy The Graph locally
yarn graph-local-deploy
-
Access subgraph UI
http://127.0.0.1:8000/subgraphs/name/amplifrens/
NFTs are deployed on IPFS:
- Use meta transactions to have a gasless experience for the user
- Use access roles in the future (example: to elect moderators voted by the community)