ERC 721

We’ve discussed how you can make a fungible token using ERC20, but what if not all tokens are alike? This comes up in situations like real estate, voting rights, or collectibles, where some items are valued more than others, due to their usefulness, rarity, etc. ERC721 is a standard for representing ownership of non-fungible tokens, where each token is unique.

Inputs:

  1. Platform Setting:

    • Chain: Network to deploy the contract

    • Custodial Wallet: Custodial wallet to deploy the contract

  2. Contract Setting:

    • Contract name: Name for the contract

    • Contract symbol: Symbol for the contract

    • Base URI: Concatenated with token IDs to generate the token URIs

  3. Features:

    • Mintable: Privileged accounts can create more supply

    • Burnable: Token holders can destroy their tokens

    • Pausable: Privileged accounts can pause functionality (useful for emergency response)

    • Auto Increment Ids: New tokens will be automatically assigned an incremental ID

    • Votes: Keeps track of historical balances for voting in on-chain governance, with delegation capability

    • Enumerable: Allows on-chain enumeration of all tokens or those owned by an account

    • URI Storage: Allows updating token URIs for individual token IDs

  4. Access Control:

    • Ownable: Simple mechanism with a single account authorized for all privileged actions

    • Roles: Flexible mechanism with a separate role for each privileged action

  5. Upgradeability:

    • Transport: Uses a more complex proxy with higher overhead, requires fewer changes in your contract

    • UUPS: Uses a simpler proxy with less overhead, requires including extra code in your contract

  6. Info:

    • Contact: Contact information for reporting security issues

    • License: License information

Last updated