Creating a new Stamp
This is an overview for leaders of services like POAP and BrightID to understand how they can become a Stamp Provider for Passport
In the
iam
package, all Provider implementations are in iam/src/providers
.Providers must implement a
verify()
method that receives a proof payload, and verifies it.The verification process could involve requests to external servers, reading on-chain data from a smart contract, etc. The proof payload could contain an access token, a blockchain address, etc.
In the
app
package, each Provider is represented as a ProviderCard in app/components/ProviderCards
.Each Provider also has an entry in the
STAMP_PROVIDERS
constant inapp/config/providers
specifying the name, description, and icon.Each ProviderCard will implement custom logic for the Verify button, which should request and collect proof data from the user to be submitted to the IAM server.
This process could involve initiating an OAuth flow, requesting a signed message from the user's wallet, etc.
To be added as a new Stamp Provider for the Gitcoin Passport, please submit a PR to https://github.com/gitcoinco/passport implementing the
iam
and app
changes described above.For reference, here are past PRs implementing the current stamp providers: