Skip to content

721labs/BrightID-Soulbound-NFT

 
 

Repository files navigation

BrightID-Soulbound-NFT

A proof of concept inspired by Vitalik Buterin's article titled Soulbound and a forum post by Triplespeeder titled Implementing Soulbound NFTs with BrightID.

Note that this is only a PROOF OF CONCEPT, security issues not related to BrightID and its verification system may not be taken into consideration.

Features

  • Uses BrightID to verify unique humans.
  • Regular token transfers are disallowed.
  • Special token transfers called "rescues" are allowed when the BrightID owner can provide proof that the token owner wallet belonged to them.

Standard Presets

  • Single Mint Auto Id
    • Only allow a maximum balance of one among all addresses associated with the same BrightID
    • Token ids are generated using a counter

Registry Extensions

  • UUID ownership based implementation
    • Requires more steps for validation
    • UUID ownership proved with ETH signature

Note

  • All token contracts should be compatible with sites that support ERC-721, though the contract themselves do not actually implement all methods in ERC-721, due to the removal of the approval mechanic used by regular ERC-721 contracts. This was done to save gas on contract deployment as no unnecessary persistent storage would be wasted. Also the deployed bytecode size should be smaller thanks to the removal of functions instead of empty implementations.

About

Soulbound NFT standard powered by BrightID

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 95.3%
  • JavaScript 4.7%