Skip to content

conache/community-ledger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f6dddf9 Β· Feb 20, 2022

History

24 Commits
Feb 20, 2022
Feb 19, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 19, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022
Feb 20, 2022

Repository files navigation

🌱 Project idea

We've had an idea internally for a while to build a "Community Ledger" where members of our community could pay a fee to inscribe their names/handles and a message in a "ledger" which will live on forever on chain. It could be a fun idea to let our community members leave some kind of legacy (discussed a bit in here).

Your task is to build a basic version of this idea.

Your core smart contract should:

  • let users mint an NFT with a name and message prop, representing their "brick" id in the ledger
  • charge users in token XYZ to mint a brick (XYZ is a fake/test ERC20 token you will need to deploy)
  • charge users on an increasing scale - the first mint should cost 10 XYZ and subsequent mints should increase in cost by 3%
  • be upgradeable (TransparentUpgradeableProxy)
  • be verified on Kovan explorer

Your frontend (React mandatory, Typescript optional) should:

  • display minted bricks, with id numbers, names and messages
  • allow users to mint a brick (this will require an erc20 approve tx on XYZ and a mint tx)
  • display 1) number of total bricks, 2) amount of XYZ in the contract, 3) current price for a brick
  • be practical, but well designed with a bit of flourish

πŸ“¦ Basic project setup

  1. Install dependencies
yarn install
  1. Setup environment variables:

    • Create a .env file
    • Populate values specified in the .env.example file.
  2. Run app

yarn start

πŸš€ Deployment

The master branch is deployed automatically at https://reverent-kare-6dc98a.netlify.app/.

πŸ“‘ Smart contracts

Rinkeby

  • CommunityPowerToken (XYZ):
    • Proxy: 0x50E9f22D70e396e6BdA7590914e50a5D7fb15186
    • Contract: 0xc4c3ec9cfefAb10bd9c107cDC16EECe6186bB90D
  • CommunityLedger:
    • Proxy: 0x202B88201Cbfe15E7c6D7Cd5dB73Ad4FbDc16Eb8
    • Contract: 0x0298FFf6EBD25AB53f4F4fcd6BaAB095e6145a16

πŸ–Ό Screenshots

Screenshot 2022-02-20 at 23 42 13

Screenshot 2022-02-20 at 23 42 52