Inspiration

The reason we created Codyx was that we wanted to rectify the issue of lack of identification which affects many people. We don’t want a simple thing like an ID to “gatekeep” people away from the biggest necessities. We felt strongly about this and thus decided to take matters into our own hands.

How we built it

We explored a variety of frameworks and methods to implement transaction sharing, smart contracts, file sharing, and more. Eventually, we settled on the Stacks framework, which provides a Level 2.0 to the existing, global public Bitcoin network that already exists, which we believe makes it well supported, easily expandable, and highly secure.

The app itself is built in React.

Challenges we ran into

We attempted our ideal solution in many different ways, including utilizing the Ethereum network and various encrypted file sharing solutions on the distributed web. While we finally landed on Stacks as our main wallet holder, there is one particular feature we wish we had more time to include—the ability for users to “buy” certificates from government agencies or other trusted authorities using the Stacks Token. Because the Stacks Token is not mined and does not have to be monetarily backed, it simply facilitates the transaction between a user and a trusted authority verifying some form of credentials, which could be anything from academic credentials to bank account statements to other forms of ID.

We are confident that with just a little more time, we would be able to implement this within the app, as we were able to develop something similar using the Stacks Wallet API but integrating the two in time proved difficult. We hope to do so in the near future.

Accomplishments we are proud of

The most amount of blockchain any of us came to this project with was at a near beginner level, and none of us had experience with Stacks before. We are particularly proud of ourselves being able to learn about building Bitcoin dApps in such a short amount of time, and have felt we have learned much in the process.

We are most proud of the scalability of the application, and for its exciting possibilities in the future. We were able to infuse the requirements laid out in the policy and realize them through our program.

What we learnt

In particular, we were able to learn about and write Clarity smart contracts for the first time and use Gaia as our database, which is a decentralized, secure form of data storage that meshes well with the Stacks framework and blockchain.

While we were not able to implement it, we were able to learn about the many ways to share files over the blockchain. There aren’t very many solutions on the market now, as it is difficult to share anything more than a hashed string in a transaction. However, we learned about ways to encrypt files and store it in a segmented fashion on a database, and briefly investigated IFPS, a method of storing encrypted file partials across the internet.

Built With

Share this project:

Updates

posted an update

File Uploader

Codyx has implemented a file uploader. You can upload a document if you would like. We have also coded in a file viewer, however this currently can only display PDF files. You can check this out on our try-it-now link. Files are saved using Gaia so it is decentralized and secure, even though files are currently off-chain. In the future, we hope to expand Codyx's file-sharing capabilities to ensure it is fast, secure, safe, and stored using IPFS. We also hope to be able to share hashkeys to encrypted PDFs through transactions as well, so that other entities can access them securely on record.

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