fairDataSociety / souldbound-token-claims

souldbound token claims (using beezk boilerplate)
MIT License
0 stars 0 forks source link

soulbound token claims

From FIPs P2P Marketplace

Implementation must contain a set of claims using beezk, already described as

  • provenance claim which attests for a proof of origin of a NFT metadata
  • publisher or issuer claim which attests for proof of originator
  • wholesaler claim which attests for a proof of allowed or certified wholesaler

In gnark circuits standard library, we get can translate this to:

Claims

We can define a claim, which must be referenced in the soulbound token, using circuits:

Claim circuits

Examples

Alice SBT has references stored in Swarm with ZK signatures claims for an Issuer actor:

An NFT has a SBT with Provenance claims:

A NFT marketplace has a smart contract with a verifier for NFT metadata verification:

Note: Circuit implementation requires further investigation

===

beezk boilerplate features

Project structure

/build

Circuits are compiled inside build directory, where a solidity artifact is created.

/circuits - gnark circuits

There are two examples from gnark library, the default cubic equation circuit and a MiMC circuit called age18orOlder. Additional helper functions are EdDSA signatures, Merkle proofs and zk-SNARK verifier

/contracts

Solidity contracts

/test

Solidity tests

gnark compilation npm command

npm run compile:circuit

Compiles build/contract/main.go, outputs a proof and verifier. Builds a Solidity contract verifier ready to use.

Maintainers

License

MIT