Hack Illinois 2019
Jonathan Segal / July 31, 2019
13 min read
Hack Illinois 2019
When a friend told me about this cool hackathon that was over at UIUC I immediately signed up and got ready for the 5 and a half-hour drive over to Illinois. This hackathon was going to be a little different than the ones I have done before, first off its not an MLH hackathon it is just put on by UIUC and its sponsors and this was going to be focused on open-source technologies where we partner with mentors as a team and either build something new using open source technologies or contribute to an existing project.
I made the 6-hour drive down to UIUC and When I got there I made my way over to the Digital Computer Lab to get checked in. When I got in there was a ton of people all getting checked in and I waited in line and after I got checked in I got my t-shirt and also a whole duffle bag full of swag from HackIllinois and the companies sponsoring the events. This was already a sweet hackathon.
After getting checked in I made my way over to the Company Expo that was going on in the building over because I wanted to check that out. In the Lobby of the Siebel building, there were quite a few tables set up for the different companies that we're sponsoring the event. I looked through my backpack for copies of my resume and thankfully I still had a few from the Career fair a few weeks earlier. Once I got everything together I went to talk to a few of the company representatives. I ended up talking with Google and Facebook mainly as well as a few other smaller companies.
After I talked to the companies that I wanted to talk to I decided that I needed to find a team to work with on the project over the weekend. First I posted about wanting a team on the Slack that was set up for the event but then I just went over and started talking with some people. I found some cool guys to walk around with and they showed me around the Computer Science Quad after we walked around it was time for dinner. We all went back into the Siebel building for food. During dinner, my new friends told me that they weren't all that serious about working on a project and that I should probably go find some others that were more committed to working on something. One of the guys in the group was serious though so he and I went out to find a few others.
We ended up finding one other Guy, Ben, so it was me, Philip and Ben, that went to the opening ceremony the Kenny Gym Annex that was just a few buildings over from where we were.
Once we got to the gym we found seats and waited for the ceremony to start. The presentation was pretty typical as far as they go they went over the rules and what would be happening and how to go about starting a project. They talked about how this hackathon was an open-source hackathon and because of that after the ceremony we were going to have a chance to go with our teams to see what the mentors projects were in the open-source community and if they wanted to help us with there project or we wanted to help them with there’s and we would then team up and work on something with someone actually working full time in the open-source community.
guy the made the first-ever jailbreak
One of the developed credited on making the jailbreak on iPhones possible also talked at the ceremony Jay Freeman the man who made Cydia.
After the ceremony, we went over to the mentor room and on the way there Ben was telling me and Philip about his project that he worked on for the Biz Hackathon, where you come up with a company idea in 48 hours, and how he got second place. His idea was to create a stable coin using Blockchain and facilitate it through a clearinghouse. The idea sounded pretty confusing but super cool and we then started looking for mentors that have worked with blockchain. We found the company HyperLedger and talked to the mentors from there company. The two guys from HyperLedger were interested in our idea and told us to come to the room that they were going to be in after the session.
After successfully finding a mentor and coming up with an idea of what we were going to be working on we went over to the room where the guys from HyperLedger were and got our stuff set up, this is where we were going to be for pretty much the entire weekend.
There were a few others in the room and we asked if anyone wanted to join us on our project after explaining our idea. We had one person join us, Sean, the others wanted to work on a premade project that HyperLedger had prepared. Zac Deventhal one of the mentors from Hyperledger gave us a talk on how blockchain works and why it is used. He walked through the example Pirate Talk that he made which was a simple example of using Sawtooth the framework for blockchain that his company developed.
After the talk we had another person join the team Ali who responded to my request on the HackIllinois Slack that I made when I first got there. Ben then gave us all the rundown of actually what we were about to make and tried to clarify our understanding of the topic.
The goal of the project is to make a stable coin by tying together digital currency with real-life company bonds. A bond issued by a company gets reviewed by a bank and later goes into the open market where traders are able to buy and trade them in exchange for money. CryptoBonds acts as a clearing firm in this whole process and provides an interface for companies, banks, and traders to interact with each other. Once the ownership is established, a bond goes to blockchain network in the form of a transaction. Traders are able to exchange crypto bonds and other cryptocurrencies with other users while on the blockchain.
In our project, we were building a platform for Banks, Companies, and Traders, and our role would be the clearinghouse that authorizes changes in the system. According to Wikipedia, a clearinghouse is:
A clearing house is a financial institution formed to facilitate the exchange (i.e., clearance) of payments, securities, or derivatives transactions. The clearing house stands between two clearing firms (also known as member firms or participants). Its purpose is to reduce the risk of a member firm failing to honor its trade settlement obligations.
This is what we were going to be making. This is necessary for us to create a stable coin using bonds because we needed to do something called Atomic Swapping which is when one currency is converted to another:
Atomic swaps are a mechanism where one cryptocurrency can be exchanged directly for another cryptocurrency, without the need for a trusted third party such as an exchange.
Our system was going to consist of two different parts the Web components and the Blockchain. The web API was built-in python and using flask we were able to build out the interface. The Blockchain was built using HyperLedger Sawtooth and we worked on that in Python primarily. The Blockchain was built to run in a docker container and interact with the API. Eventually, we were going to have everything hosted on Heroku once everything was working locally.
To clarify to the team how our app was going to operate I drew out all the different functions that we wanted to build into the system.
After we all had a better understanding of what we were going to make we took a quick break to grab donuts!
After the snack, we got back to work on the project for the rest of the night. The mentors were an incredible help giving us insights on the tools that we were using and best practices for what we were working on.
The end result of what we were building was creating a stable coin that companies could make and traders could invest in that was backed by US-based bonds so that the value of the currency would be less volatile than current cryptocurrencies on the market today. Wikipedia defines stable coin as:
Stablecoins are cryptocurrencies designed to minimize the volatility of the price of the stablecoin, relative to some “stable” asset or basket of assets. A stablecoin can be pegged to a cryptocurrency, fiat money, or to exchange-traded commodities (such as precious metalsor industrial metals). Stablecoins redeemable in currency, commodities, or fiat money are said to be backed, whereas those tied to an algorithm are referred to as seignorage-style (not backed).
After a while, it was time for lunch so we all took a break and went down to grab something to eat.
On the way back up we stopped and talked to some of the other companies that were at the event. There were a lot of booths throughout the event areas with companies talking about job opportunities and giving away swag.
Also a little later they were giving away Boba tea, it was pretty good.
The team decided that we did want to go to one of the talks because we made a decent amount of progress on our project so that we didn't feel bad about pausing work. We went to Bruce Perens talk about “Open Source in Space” which was really cool.
After the talk, we got back to work and put the finishing touches on our project and tried desperately to get the blockchain actually connected to the Web App. We didn’t end up getting that working but the UI was deployed on Heroku successfully and the blockchain was working just not receiving input from the UI.
After a ton of work, we finally presented a project that we were all really proud of. We had everything up and running and walking through the concepts and demos flawlessly. It was really fun to show everyone what we had worked on over the weekend.
CryptoBonds is a blockchain application that was built using Hyperledger Sawtooth. The goal of the project is to make a stable coin with its value linked to real-life company bonds. CryptoBonds acts as a clearing firm and monitors transactions between the banks and the traders. Traders are able to exchange crypto bonds and other cryptocurrencies with other users.
CryptoBonds is developed by five people at HackIllinois 2019, with the help of various mentors.
I worked on making the website and setting everything up.
I designed the data structure that we used on the blockchain and implemented most of the transaction processor.
I worked on the front end development of our web app, as well as the design of the product. I made sure that it delivers a consistent user experience across devices.
I worked on the backend of the program and the rest api.
I setup the main server, build the whole backend and database.
The main prize that we were going for was the one presented by Capitol One because it was the main prize category focused on finance. They liked our project and got a picture with us after judging
The weekend was great we all had a fun time and learned a lot along the way
Unfortunately, we didn't win anything but from what I heard we were the second choice for the Capitol One prize. During the closing ceremony, all of the teams that won something demoed their project and it was cool to see what everyone had worked on. Although we didn’t win it was still a great time and we worked on something very technically interesting. Working with Blockchain, Docker, Flask, etc really was challenging and rewarding. Getting everything working right before we had to demo and presenting what we had done was really cool. This project was really fun to work on and I made some great friends over in Illinois.
The team at Hack Illinois made this cool recap video of the event you should check out.
Check out the Project on Devpost
Check out the Repository on GitHub
What’s next for Crypto Bonds
We started to continue development but overall that only lasted for a few weeks. We currently have the project on Github and ready with issues so that either we or others in the Open-Source community can continue working on it. Bringing this concept to market could prove to be successful but actually getting companies to use the project and getting proper licensing to operate is such a high barrier to entry that at this point we are no longer working on the project. Who knows we might one day come back to it.