Ether.Camp

Devcon 1 · November 2015 · 21:18

Roman Mandeleil, lead developer of the Ethereum Java client, shows Ether.Camp, a block explorer, IDE and hackathon manager running on Microsoft's Azure cloud. The Devcon 1 talk demonstrates tooling for exploring the chain, writing contracts and organizing developer events around Ethereum.

Speakers

Topics

From Devcon 1, hosted by Ethereum Foundation.

Transcript

[Music] Thank thank you thank you thank you for the organizers really really impressive event. So uh okay so we we are not going to talk about Java implementation. We was talking about core yesterday. And maybe I want to start a a little bit with a little bit statistics because I think we didn't talk about this yet and we started the live network of Ethereum uh end of July right and uh since there we seen almost 500 transactions at 500,000

transactions on the network uh wire transactions we seen almost 23,000 sive addresses around this uh traffic. Those are some value transaction. Not not all of them are foundation but those are the most valuable transactions on the network. Um contracts smart contracts we see almost 3500 uh smart contracts already on the network and yeah this is quite interesting because we we didn't see 35,000 startups around this. Yeah.

But they're there. People are working on something. H we see almost 26,000 invocations on these contracts. H contracts are calling and are are interconnected. They are calling to themselves. They have some connection between them. And this is also interesting statistics. So this is like more than 44,000 intercontract calls already. Uh and the addresses the Ethereum addresses which are people basically that deal with with these contracts they are doing only contracts or focusing on contracts. This is the number 30 32,000

unique addresses. And this is also you can compare to the previous this is the value that contract move between them. So if you are talking about value of wire transactions this is the value of of contract moving ether between themselves and this also give you kind of understanding uh like people trust contracts to do value for them. This is also quite interesting. um this is all this is the sum of all liter that was moved in the network and I'm not talking about any exchanges or you know or trading I'm just talking about value moving from account to account it does not have be trading uh

the fees fees also interesting statistics uh 1 million 1.1 million ether miners got for these transactions and 36% of this is around contracts it's for 4004,000 ether uh paying for invoking creating storing data in the contracts. So um why I'm showing you these statistics? Uh first news that I study from these numbers is that uh probably we are not on Facebook numbers yet, right? We we don't have a billion users yet. But there are also a good news. Our community is h in major erh

includes people that are h very very smart programmers and they are focused more on programming contracts than just uh you know speculating on the value like maybe other other uh cryptocurrencies and this is these are uh pretty interesting news and uh by the way all the numbers are are from our blog explorer which is the frontier ether cam And this is the online analytic tools for for Ethereum network uh which we use to to to collect all the all the stats. And uh the second news uh that I can tell you is that these people are spread all over the globe. And how I know this because we also track uh uh track Google

Analytics on this blog explorer. And this is the n this is like like the chart from last two and a half months uh from the start from from the start of the network uh you don't see the numbers but you but you definitely see uh that in each planet in each point on the planet where people know something about software somebody doing already Ethereum so those are also good news and I've been thinking with myself Like if you taking this idea of smart people moving to one direction to develop software which is revolutionary and want to change

everything and then you see also a bunch of finance people looking to invest into them and you take this concept 20 years ago like what you got. So I think we can be proud that we already decentralized the concept of Silicon Valley like this is the complete complete pattern that we seen 20 years ago right people people was doing the same but this time you just move virtually because you don't need to leave your house you can just stay at the house and and start your startup and and and be successful and and go online and Ethereum and in Ethereum world we kind of see it the most because because of the idea of Ethereum

and uh this is we we we have been seeing this pattern from the from the start from the beginning of Ethereum when a bunch of people from different places in the world got together and started prototyping started doing PC's starting study and this is why in ether cam we decided to focus on these people on the people of the community on the developers and our main focus is to make development of smart contracts the smart decentralized applications easy and for that we developed the ID I have the slide here I also have the demo in a second h

but we but but before I show the demo I have to say we we did a long way we we we've been visiting uh some hackathons when people go together and trying to develop something and we study was looking behind the shoulder and study how we what is the intuition because all this paradigm of programming transactional programming is very new so we changed this like couple of times already because we wanted to adapt the ID for the for the rights for the needs of the people and uh and and I want to show it to you the network wasn't so good so I did a screencast yesterday so I I don't it's an online right it's it's a web ID so I can show you online and

the link is there but I will show you screencast because I don't want like I did it yesterday I don't want to to rely on the network let's see okay so the video will work for me we had some problem before let's see if it will work for me okay looks good okay so this is basically the idea you you just browse through And the first important feature that we have you can you have authentication. So if you want to you can show you can give the link to anybody and people can go there in readonly mode and you and you can study your code maybe give you some help and you should should not be worried that they will change and and or damage this.

This is the first. Second, we we studied that we need a very very easy very very easy configuration uh for the for the blockchain and uh basically when you developing something uh on on on Ethereum you want the way to test the software and you want the way a good way to change uh the preconfigured blockchain and we have one just one JSON file in this file you can you can set up all the all the accounts and the value and maybe the storage they have maybe the code so you all the all the uh all the options to set up good environment even before you starting to develop a single contract and uh it's very flexible. If you want to stop and change

again, you also can do it. Okay, let's see how it Okay. Okay, looks good. Um let's move forward. Yeah. Okay. So now we're ready like we have this configuration. We have preconfigured let's say Genesis, right? Because it's not really Genesis. Let's start the blockchain. And we really we took the implementation of Ethereum the full implementation and and completely included into the ID into the box. So you can do whatever you want with this ID and with with this Ethereum in the box. And and the idea the basic idea is that you can prototype really really

fast. So you just need to run and you have on the right panel you have all these accounts that you predefined uh already preloaded into the blockchain even before you started right the exactly same and you can see them you can see them and and see that everything is okay right there is the on on on the last one is the one we just added and if you you can see that the balance is zero. So we also coded uh some usual uh way to manipulate the the the blockchain uh any way uh that it is that will going to be convenient for you. So you can also do a regular transaction just move

value between accounts and you can just uh just move value and record this transactions uh for uh for any reason you want to. uh this is also included into this uh into this box into this ID right okay and after we setting this uh we want to start and do some contracts development so we support solidity completely solidity language and I will show to you this uh this smart contract in the demo basically it's a banking application you have creditors and debittors and people uh looking to to give money and to get money and application matching between them. So it's very hard to explain code and the mode of presentation but you can

see the data structure and kind of have understanding what is this about? What is the application about all right and uh and this is the implementation. This was the the the interface so-called interface and this is the implementation and now uh you can see that the the contract which was deployed is right there right and while it it's it's right there you can invoke any method on this. So it's very easy for you to test any any of the methods of this smart contract uh that you coded and if you if you if you add parameters if you add methods you will find all of them here. So let's try to do something.

Let's try to invoke the method that call deptor register just to register a name uh on this application right just just try to to register a name and you also can call this method with any account on the on the on the sandbox. So you have all the options like all the options you have in the real Ethereum world you have them there. You have them here. Yeah. And you can see on the right side that that that we got the transaction and the sandbox was updated.

So this is very very simple and very easy way to interact and see how how your Ethereum in the box is uh is is doing. And now that you can see that you can easily do whatever you want with the smart contract. The next big step for any application developer is to build the UI. Right? you want to build the UI, put it out there and show and and have your user and join your your smart contracts. So the point is this, we can we can have the ID of this sandbox and then a usual pattern of web3 HTML can be just referred to this sandbox and can be invoked. I I will show it to you for in a minute. So this is the ID. I just updating this ID uh inside inside the HTML which also developed in this ID.

just the usual uh usual uh pattern of uh URL provider for the web3 implementation. So I'm referring to this and then uh because I have also complete SSH uh a complete shell to the Linux that ID is running on. So I can start any any you know the any npm application. So I can start the HTTP server. Yeah. Okay. And after it started, I basically changing the port and I can have the application uh I can have my HTML tested against my sandbox already.

All right. So uh so this is the HTML very simple and now I will show to you how you can from HTML affect uh manipulate this sandbox the exact same way this HTML is going to manipulate Ethereum when it's going to be live right so this is the sandbox that we started we didn't do anything with him here it is one account there and now I will change everything from the HTML so here it is okay let's put it on side we'll see that we are not cheating here. Okay. So now now I'm I I was registered the the deptor now I I'm registering the the creditor.

Mhm. Okay. Mhm. You see this right? So also you can concentrate on the application development because we're doing all the connections for you and uh just to add more functionality you have also in this application you have also the ask and bids you can add them you you can also you can also add them and and see how it goes how it works right so here it Mhm. This is one example.

So the development of such application is not much different from development a regular database application which any UI uh UI developer already know how to do just the difference is you deploying to the real uh Ethereum network in the sandbox and uh and uh and and you don't feel the difference but after you done you just want to send the contracts into the real network. And here we have also this functionality inside. You see all the contracts that you developed. You see um you you need to sign it for real because you're doing transaction and you pay ether for this. So you need to sign it with your uh with your account

by this pier uh the specified we know to which network you want to deploy. This is for example is consensus test network that we also monitor but you can switch it and and go to the production for example and pay realtor or or go to the blockups uh strata network or whatever uh and we're working to integrate more and then basically you do send you do send we we already know we already know what's the uh how much the contract cost because we did it once in the sandbox and here we have the transaction in pending state and uh it basically will take 10 to 20 m seconds to mine the transactions by the miner and here it will be faster because I

cuted it out. So after it's mined, you can go to the contract and see it on the test network on our block explorer. It's there you see. So we we hope this like effortless development will help you to develop contracts and um and uh you you you can you can study u you can study more um um you can study more uh next uh because any any idea requires some hands on so this is the best that I can show to you like the main features we have and uh you can study more uh can can I have question?

No, I I I don't have time for question. Okay, so I have I have I have uh two more slides. I'm finishing I'm finishing. So we was looking uh we was looking for some company uh to ship this idea with and we found the small shy company Microsoft that uh that doing her steps in the blockchain area and we're really really happy and and Marley will talk about this more and thanks for consensus and for Andrew doing all the connections and basically two uh uh basically we have uh two products that we want to ship.

One is a private camp. We we want to everybody to be able to have an ID for very good price for hobbyist and uh maybe maybe for free for for a long time we will uh sorting it out. This is one. The second one we call it private campus and because we we have a lot of organization approached uh approaching to us and and asking for the ID. So we are uh shipping also a server that they can put in the organization with number of predefined ids and they can they can use this ids inside the organization. So basically if you asking all this publication about teaming up with Microsoft so this is what we are going to do and they have very strong and large cloud to provide everybody on the

planet uh with the ideas and we really really excited with this. So uh I will go to the last one I'm wrapping up. So because I really could stop here because everything is here. I can sell the IDE for big organization and sell the the the license and be happy. But I cannot stop here because uh because of why what I said in the beginning because of this community because how it's structured because all the spread on the planet we we was looking to the way to um to do something more for the community uh for to do something more for the community and uh in the way that the community can uh uh can take the

software uh and and communicate their software. as fast as possible to everybody. And we got some concept. I think it's pretty pretty nice. I will show it to you. We call it uh we call it hack eater camp. And uh hack eater camp I'm finishing. This is the last one. This is the last one. Hack eater camp is basically a website for doing hackathons. So we have this web IDE and on this website you already can visit this. You can have your team, you can have the IDE, you can register your team, have it there. Each link here is the IDE and uh and you can start and develop and and and make a competitions uh and uh we

are going to start a competition around this. Last word, last word because we're doing Ethereum because we're doing decentralization. So all these likes you see here, all this uh kudos that we are going to give it's all on the blockchain. So people are going to sign their transaction. It's going are going to be very very transparent, very very uh very very secured. So no cheating is possible here. You can pay, you can buy some beer to the teams and uh um basically you see somebody already coding here. So we can go uh we can go to the ID and and be Yeah. Yeah. Yeah.

Yeah. This is it. Thank you. Thank you, Roman. Thank you very much.