Inspiration

The inspiration for this project comes from our team's previous use of blockchain technology; we are familiar with the benefits blockchain provides and thought that the prompt for this challenge (creating a COVID-19 vaccine certificate/passport) would be an appropriate opportunity to implement it.

What it does

The application uses the IOTA distributed ledger, which creates accounts and identities for each individual who wants a COVID-19 vaccine. It then creates a decentralized identifier document (DID) with vaccine information (type of dose, date of dose, provider of dose) to be posted to the ledger. The application prompts the user for this information locally in their terminal and then provides a link for the user to follow to see their DID in the ledger. This DID is only verifiable with certain information, so it is secure and private.

How we built it

We built this project using the IOTA identity distributed ledger on Github. It's made with Rust, so we created a Rust application. We followed the examples provided by the IOTA ledger documentation.

Challenges we ran into

The main challenge we ran into was importing from the IOTA Github repository. It wasn't working at first, but with the help of others, we figured out that the import function was missing an important piece of code. If we had not found this piece, we would have not been able to continue with the project.

Accomplishments that we're proud of

We're proud that we got a simple Rust application working, seeing as we were unfamiliar with Rust.

What we learned

We did not know how to use Rust going into this project, only C, so we became familiar with some Rust throughout the project. We also became more familiar working with blockchain.

What's next for SafeCred

Since this application was created to work locally in the terminal, we would want to create a matching front-end to work with the Rust back-end. Additionally, instead of following the link provided in the terminal by the application, we would want that link embedded in a QR code for easy mobile use.

Built With

Share this project:

Updates