Inspiration

We were inspired by Git Trophy, an online tool which lets you create a physical representation of your git commit history.

We were interested to see if we could create physical representations of other types of objects.

What it does

On the app, the user selects a file. This file is then hashed and the hash is stored (or at least, should be stored) on Guardtime's blockchain. This ensures that later on, anyone can verify that the file was added by you at a certain time. This process returns a KSI signature.

Our app uploads this signature to our server, which then hashes it and stores in a database. Then the app (or any other client) can download the 3D model for that hash and then print it using a 3D printer.

Later on, anyone with access to the model can reconstruct the hash and then lookup the KSI signature on our server and use that to verify the file.

How we built it

Blood. Sweat. Tears.

We said at the beginning we wanted a nice, light, chill hackathon - we did not get that.

Challenges we ran into

  • 3D printing is tricky, and neither of us had experience with it
  • Blockchain is a really cool idea, but Guardtime's Java SDK does not play nicely with Android, due to different Keystores used.

Accomplishments that we're proud of

  • We have a pretty thing
  • Our client talks to our server properly

What we learned

  • Basics of 3D printing, and generating models with python
  • Flask servers are lovely :)
  • Restful APIs are brilliant
  • Android apps are pretty

What's next for Hexblock

If we can get hexblock working neatly with the blockchain, possibly even supporting multiple types of blockchain or bitcoin wallets, then maybe it could have practical use!

That is, if we add a scanning program to get the hash back out again :P

Built With

Share this project:

Updates