consensys dapp-a-thon 2 recap
On Friday August 14th at 5pm ConsenSys began its 48 hour "dapp-a-thon" where 12 teams set out to build decentralized applications from scratch for the Ethereum network. Participants used development tools provided by ConsenSys like the EtherCamp IDE, the BlockApps testnet and deployment system, and Lightwallet. The developers of these tools gave tutorials on how to utilize and integrate these tools into dApps and were accessible if the participants ran into trouble along the way. As a result, most teams were able to create a working prototype of their decentralized vision in just 2 days!
Video Details
Duration: 19:17
Key Moments
- [1:20] Participant interviews, "What are you building?"
- [7:30] Winners announced
- [8:54] Demos of 3 winning dApps
- [16:38] Participant interviews, "Why ethereum?"
Winners
- Most popular: Studbook Horse Registry
- Judges prize: Ethercrawler
- Participants choice: Twether
All winning teams received 100 ether!
Judges
- Joseph Lubin (Ethereum/ConsenSys)
- Lawrence Orsini (L03/Trans Active Grid)
- Matt Trudeau (IEX)
- David Solmonoff (NY Internet Society)
Tools Used
- EtherCamp IDE
- BlockApps testnet and deployment system
- Lightwallet
Transcript
[01:22] SPEAKER_03: Can you talk a little bit about what you're building today?
[01:24] SPEAKER_04: It's an incentive scheme for solving the 0-1 knapsack problem, which is like a pretty fundamental computer science problem. So basically you incentivize anybody to solve this problem and then they show their solution and then they prove how they got that solution and that's how they get.
[01:42] SPEAKER_02: We are building a decentralized equity distributor. So for any type of application that requires multiple owners to control a single wallet or budget. If you have a miner for example, and you're mining ether, you could have four owners, let's say. And the mining rewards that you receive would be distributed to the four owners automatically. So it's just a way to kind of decentralize and create an automatic route for these payments rather than having to rely on one person to send out the payments to everyone.
[02:22] SPEAKER_05: Okay, I'm building a registry for racing horses. You need to get all the genealogy of the horses to see if it's a real value horse or not. So basically all that info right now is distributed among different registries. Well I'm building one registry that's decentralized. I think it can be interoperable among countries because also the resources are sell and buy in different countries and the registry are in each country. So this can help make them interoperate.
[02:55] SPEAKER_06: So we're building, it's kind of like a goal app or sort of like fancy to do app so you can kind of create a bet against yourself incremental like milestones or something like that. So when you achieve them you're kind of like paying into another account where you're like say you want to go run a marathon. So maybe you're saving up to run this marathon. So as you meet your workout schedules, you're paying into it. When you don't pay it's like you want to have this global organization that's part of the app. And so when you fail it goes into that and then can be redistributed as rewards to other users.
[03:30] SPEAKER_02: Decentralized escrow system. The most important part is if there is a conflict, there is a system of arbitrators that rate each other and are there to judge decisions 100%. Transparency is a really big part of performing escrow services.
[03:47] SPEAKER_04: So what we sort of observed is most financial contracts can be described using a very limited set of conditionals and functions. Our goal this weekend is to let people use simple building blocks and enter into contracts with each other and be secure that it's going to turn out well. And this includes options, futures, swaps, commodity hedges, the whole gamut.
[04:13] SPEAKER_07: We are building a roguelike style video game on top of Ethereum. So it will be a 2D game where you wander around and attack monsters. We're going to let users create all the content for the game. So each level will be designed by other people. And we can have that all stored on the blockchain. And we can do things like pay people for creating the levels in a decentralized automated way.
[04:39] SPEAKER_02: We're envisioning the tools that the law firm of the future will need.
[04:44] SPEAKER_08: So part of the challenge I think of kind of understanding what's going on in the blockchain is that the contracts we're building are compiled and so it's difficult to kind of reverse engineer and see what the intent, what's happening behind the scenes. So any kind of use case where there needs to be a verification that the code that's on the blockchain actually is doing what we think it's doing. So that could be legal documents, it could be really any other type of contract we need to verify.
[05:14] SPEAKER_02: And so typically, I mean if you want to update your will now, you need to call your lawyer, you need to pay them. It's probably a pretty arduous thing, but you're going to do it because you want to rely on the enforcement of the state to make sure your property goes where it needs to go. We've got this kind of smart contract section that says here's where the assets will be deployed. The person who owns that will can build and update who gets what or add new property and things like that. So without having to call his lawyer.
[05:45] SPEAKER_08: I was going to say one of the other cool things about the way we're implementing this is that in order to register the actual compiled code with the uncompiled code and compare the two, we've got to have a place to store it. So we're actually using IPFS to do distributed file storage because part of the reason that you store the compiled space is it's more efficient and we're trying to save space. So it's kind of cool building a command line tool for developers to be able to register directly from their development environment and then also a user interface where kind of the auditor of the future could pull both of those things down.
[06:16] SPEAKER_00: My goal is to rebuild Twitter for Ethereum. And so I guess everyone knows about Twitter. I don't have to explain too much about it. Twitter itself, they don't do any censorship or almost no censorship. Also recently governments tried to do censorship even in more progressive countries like Turkey. Twitter was banned and no one could access it inside the country. So for those people, decentralized Twitter is very useful because no one can do any censorship anymore.
[07:27] SPEAKER_09: We really want to give a big round to all the participants. They've been working like crazy. Just a quick reminder of the prizes most popular. So whoever got the most votes on Reddit, you will win that prize, the judges prize. So all the projects were rated on innovation, technology and usefulness. And then lastly, participants choice. All the teams voted for the team that wasn't their own that they liked the most. So first let's turn it over to Reddit. The first one that pops up is Horse Registry. The judges prize as I mentioned was really really close. Only two points separated the winner from second place. But we had to choose and that choice was Aether Crawler. Come on down. And the last one of the night, the participants choice chosen by the teams themselves who know the guts of the system probably better than anyone in the world at this point. And that one went to Tweether. I want to say thank you to all of you that will participate. You all did amazing. It was so hard to choose. As Joe said. We want to talk to all of you about opportunities to keep it going.
[08:55] SPEAKER_00: I'm Stefan and I'm going to present you Tweether. Tweether is a decentralized version of Twitter using Ethereum and IPFS. IPFS is a decentralized file system that works a little like a torrent network. The reason why Tweether is important is because Twitter has been censored in many countries. Not only countries where you would expect that, like China or Iran, but also in countries in Europe like France or the United Kingdom. So the issue with Ethereum is that it is a great decentralized database, but it's not a database where you should save a lot of data. Even tweets would be too much because you have to pay in order to save any kind of data on the blockchain. So that's why Ethereum is used only for authentication and profile associations like who is following whom. And one approach to solve this issue is to not save one IPFS hash per tweet. So we save only the IPFS hash of the latest tweet on the blockchain. And this one points to the previous tweet to the previous tweet and so on, creating a single linked list. So we save only one IPFS hash per user.
What has been implemented for the hackathon is a minimal JSON RPC for IPFS. Also the contracts for signup, tweet, follow and unfollow have been implemented and the frontend is just the very beginning but going to show it to you now. This is the front page of Tweether and in order to tweet anything you have to sign up. So we are signing up now. I'm using just my real name sign up. And now you can see here in the console an IPFS object has been sent via the JSON RPC. Now I can reload the page and you can see my profile has been loaded from IPFS by reading from the blockchain which IPFS object has been associated to my coinbase and it's displayed here. And now I can tweet and send this tweet and this adds another object to the IPFS and I can send another one again. New IPFS object has been created and this one is pointing to the previous one to the previous tweet. Now I can reload the page again and see that both IPFS objects have been loaded. So I can also visit other pages by adding the coinbase of another user to the URL and can read this tweet. This is it for the moment. Of course there's still a lot of work to do to make it a complete clone of Twitter. But this is just a proof of concept. Thank you for watching.
[11:47] SPEAKER_01: My name is Tim Coulter and my team built Aether Crawler. Aether Crawler is a dungeon crawler like game built on top of the blockchain. I'm gonna go ahead and click on this design game levels button. People from the community will create multiple different dungeon levels and it creates this market for gaming and betting, which is a new way of interacting with online games. What it's doing now is it's not doing any transactions. This is all in the front end. Every level must have a staircase. So the staircase is how you get down to the next level of the game. So I'm going to call this example level, go ahead and submit the level and then I'm going to create one more level just for example sake. And we need to this is just going to be the end and it's going to be super easy and this is going to call this freedom. So submit that level now.
Let's go play again. I'm going to be the player. I'm going to choose Nick Szabo, who's a very balanced player as far as hit points and attack are concerned. And now I get to choose which levels that I want to create. The first level is going to be the example level I created first. And the next one is going to be Freedom. And I'm going to click next and I'm going to bet 3 ether that I'm going to win this. It created the challenge and now we're waiting for somebody to take the other side of the bet.
Now to do this, I'm just gonna go be a different person. I'm gonna go bet on games and you'll see that this game that is created with two levels for three ether is here. Well, I'm gonna bet six ether that the player won't make it. So I'm gonna hit Challenge sends an offer. We're gonna go back to this tab and you're gonna see that I have an offer for six ether from this address. And I'm gonna go ahead and click next. And this is where the game starts. I start playing the game and every turn change is a new transaction on the blockchain. And all of the game logic happens on the blockchain.
So it looks like, see this monster here? I'm being boxed in. I can either go right and go try to get that sword and see if I'll live or go left and dodge. I'm gonna go right and see if I can get that sword. So now I'm fighting this guy. You'll notice my hit points are going down. I killed him. Great. I got him. So I'm getting the sword, which should make. There's my sword. Should make this next guy much easier. Over here again, turns are going so much faster since the test version of Ethereum. Good, I made it. And what I'm going to do is go over here and almost, almost got attacked by that monster. If I pick up the shield, my sword's gone. But I have low hit points. I'm going to go ahead and do that and then go down here. We go to the next level that I showed you. Get some potions that increase my hit points, which is great. And this is the end of the level. And you'll notice that I won and I won six ether from my challenger and that. And there you have it. That's Aether Crawler.
[14:44] SPEAKER_07: Thanks.
[14:44] SPEAKER_05: This is a small demo. I'm gonna make for Stepbuck. This is a decentralized application I have built for the Ethereum Hackathon New York. Well, basically here, this application has a registry valued horses and also enables to have new horses. Each horse is a contract and the registry handles all the contracts. So if you want to run a new, register a new horse, you just add a new horse, like Grand, for example. Okay. And I can define the gender and it's male.
[15:21] SPEAKER_00: Okay.
[15:22] SPEAKER_05: Then I can define another horse. For example, Guerrera.
[15:29] SPEAKER_00: Okay.
[15:30] SPEAKER_05: Guerrera is female. Here you can see the address of the horses and also the address of the registry. Basically these horses, if I have asked more info, has no mother, no father defined because our horses that are created from outside of the system, but I can create new horses that has a father and a mother. The contract itself guarantee that the mother is a female and the father is a male. And I have created a third horse with father and mother used the other one. So I have two accounts. And I can transfer this horse to the new owner. Okay. This is like transferring an asset. You can see all the calls made to the Ethereum network, and if I change account, I can see that now I'm the owner of this one. So that's it. Hope you like it.
[16:39] SPEAKER_03: So one last question. Why Ethereum? What brings you here? And how did you get into the decentralization space?
[16:47] SPEAKER_06: Sure. So I've been following Bitcoin for a little while, and I was pretty excited when the Ethereum Frontier release came out. I mean, the potential is pretty incredible. You know, like being able to script on top of a blockchain technology like that.
[17:02] SPEAKER_03: It makes tangible a lot of things that I felt or intuitively believed before I heard about this project. And the type of people that is attracted to the project are not only some of the most intelligent people that I've seen, but like a lot of people who have high ethical standards, and are practicing what they preach, not just talking about it.
[17:32] SPEAKER_07: I am here because I'm excited about the possibility to add a layer of trust to the Internet. The Internet's an incredibly powerful force that's done a lot of cool things. But the one thing that's been missing is a way to let people organize and communicate in a way that they can trust the results of that communication. And Ethereum lets you do that.
[17:56] SPEAKER_04: Decentralization increases anonymity, privacy. It makes people more resilient to control. So just fundamentally it seems like a good in its own right. The financial system is quite opaque and also it's inaccessible to the masses. So the blockchain really allows us to put everything out there in the open.
[18:18] SPEAKER_08: The energy in this room, you know, it feels like you're getting it on the Internet before anyone else knows it exists.
[18:23] SPEAKER_01: You know what I mean?
[18:24] SPEAKER_08: It's just there's a, and the amount of work that's going into making Ethereum kind of an environment where we can build tools quickly to slay across all the things. It's really impressive. It lends a lot of support to the fact that, or to the.
[18:37] SPEAKER_02: I mean we couldn't do what we were doing on another platform. It would just be, it would be way too prototype in two days I think.
[18:46] SPEAKER_08: And it's been great to work with the new BlockApps APIs as well.
[18:49] SPEAKER_05: Well, I really think this technology is amazing.
[18:52] SPEAKER_06: It's really going to make, it's going to be a game changer.
[18:54] SPEAKER_05: And well, I'm going to be proud of it. I like it.
[19:00] SPEAKER_02: I think it's like the most exciting thing happening in software right now and I just think it's a really cool space to be in right now because there's just a huge number of new ideas that people haven't really tapped into yet. And so yeah, feel very fortunate to be here.