Inspiration

POAP stands for Proof of Attendance Protocol. POAP is a popular protocol on the Ethereum blockchain. Communities and event organizers use POAP to distribute tokens (NFTs) to their users and community members.

POAPs are usually distributed to members attending a webinar, or an in-person event. In the community, it's perceived as a way to say "I was there", helping you build some street credibility for your engagement with a project.

DOAPs have the same goal but for the Internet Computer community.

What it does

As a Community organizer, you can create your own event, just by providing a few details like name, description, url, image/logo. Once the event is created, you will be provided a link you share with your community and members can start claim your DOAPs.

A DOAP can only be claimed once per event per identity.

You can setup different rules to distribute your DOAPs:

  • open: anybody can claim one
  • secret: you need a secret code to be able to claim, the secret code is usually shared via discord, email, or orally during the vent
  • timelock: add timebounds so you can only claim the DOAP during a certain period of time.

DOAP also provides a directory with all the events distributing DOAPs, so you could cross-pollinate communities and discover new ones.

Event creators have access to simple Admin tools to pause the distribution of DOAPs whenever they want.

How we built it

We use two canisters: one to manage the events creation, listing, update And one to distribute the DOAPs based on the DIP721 specification for NFTs on IC.

Backend is built with Motoko Frontend in React

Authentication and identity are powered by Stoic library.

Challenges we ran into

Understanding and Adapting DIP721 spec to our usecase

Using Motoko playground to test functions

Make two canisters talk to each other

Test locally connecting to a wallet. We originally tried Plug but it didn't work locally so we switched to Stoic.

Communicating between frontend and backend, formulating the requests

Accomplishments that we're proud of

it works 💪 Smart contract is intelligible One more app on the IC

What we learned

Complex Motoko More React

What's next for Doap

This is just the beginning for DOAP

To serve the IC community we have so many things to improve:

  • being able to upload logo/asset directly to IC
  • more admin functionalities (manual airdrop, airdrop from list, set upper limit for number of DOAPs)
  • QR code for easily sharing claim link

Built With

+ 5 more
Share this project:

Updates