Description

Our project creates privacy powered NFTs - thereby unlocking many use cases for NFTs & digital identity In this hackathon, we are solving for data access in the context of international travel. International travel with a pet can be difficult, both for pet owners and for verifying authorities, as the required information is not easily verifiable or digitally accessible across borders. By digitizing the required information in the form of Encrypted NFT Metadata, creating a validator role for Veterinarians, and using encryption and ECDSA signatures to verify integrity of the pet data, we're able to create a system where anyone, anywhere can confidently validate required information without accessing the plaintext, without requiring access to siloed databases such as the USDA and EU Veterinarian services, and without concerns of losing access to the application/front-end.

PassPet - Verifiable and Private Pet Records for International Travel showcase

How it's made

Our project's front-end was built using Vue.JS, hosted on Skynet HomeScreen. Vue.js is a framework that makes using ethereum's javascript-based libraries, like ethers.js, easy. The data we worked with is personal. Yet it is critical to international travel, animal health & safety, and involves various government organization - thereby a decentralized user interface was necessary. This enables us to protect privacy, and made the data universally usable. On the back end, we made use of OpenZeppelin's ERC-721 and Ownable contract templates, adding structs for specific data requirements and functions, as in for the veterinarian signing of the data. Most of our development utilized Hardhat's IDE. We tested and deployed our smart contracts using SKALE's IMA bridge, allowing for gasless, frictionless transactions while still providing the distribution and security of Ethereum's public network. We also leveraged SKALE's native storage for NFT Metadata. Lastly, for encryption, we wrote our scripts in GoLand used Go-Ethereum's ECIES, ECDSA libraries, as well as GoLang's AES libraries.