Inspiration

The inspiration for the project came for my own need for dapp storage that is anonymous to users. The Ethereum blockckchain isn't going away anytime soon and certain things need to be done anonymously for reasons of safety and security.

What it does

The user visits the site and connects their wallet. The user then selects a file to download and clicks submit. When the file is submitted it is transferred to the Oasis Sapphire contract where it is encrypted and sent to Web3.Storage to be turned into Blob format. Web3.Storage pins the item to IPFS and returns a CID that can be used for future file retreival. In this case, if the author's pseudo-address match, the article can then be fetched and unencrypted.

How we built it

Using Rainbowkit init (w/ Next.js), built a backend that uses the Sapphire chain as the basis for the Dapp. I wrote a smart contract to handle the file management and then began building around it.

Challenges we ran into

The biggest challenge that I ran into was the attempt at integrating Oasis with Filecoin initially. I had planned and developed my application to run with Filecoin, and yet when I got around to testing on the testnet, the tesnet I had planned to use had been discontinued. I immediately switched to a more mature protocol but then eventually settled on Web3.Storage. The reason for doing this was automated pinning, not having to worry about high fees because of the free storage, and knowing that the protocol likely had longevity.

Accomplishments that we're proud of

I'm proud of the fact that I was able to determine early on what was worth pursuing and what wasn't. When dealing with new and experimental protocols, you have to know how to distinguish well maintained code from not, because a lot of time can be wasted. It's akin to trying to learn math when the example asnwer was solved incorrectly.

What we learned

I learned that EVM can be private now. It was my understanding that this technology was still a little time off (minus ZK-Snarks, but I do program on Polygon ZK-EVM). I was ecstatic to learn it. I was also ecstatic to find that it worked somewhat like bridging tokens, or Chainlink. If you understand EVM messaging, you realize most of these feats can be acheived by basically interrupting the EVM chain with your own.

What's next for Ursidae-utility

Ursidae-Utility will have to have refinement in retreival and possibly include more mappings in the contract. Upon further investigation, I realized interacting with the contract should be less than .004 USD per interaction.

Built With

Share this project:

Updates

posted an update

I forgot to mention, that the utility is meant to be used in a secure way in order to work properly. Ideally, a website would have something like Socks5 integration/ tor for the host website integration or Fleek.xyz or Akash for depoloyment.

Log in or sign up for Devpost to join the conversation.