 We don't have much time, just 15 minutes. So today I'm going to talk a little bit about and actually show you Ederha 2, how to set up a network and maybe just give you a brief introduction to get people interested. So I'll talk a little bit about Ederha version 2, the GitHub structure, how to set up your own network, how to execute what we call Ederha special instructions, and then how to use the client CLI to do this. Just a very brief introduction, I'm Makoto Takenia. I'm the CEO of Soromitsu. And Soromitsu is one of the contributors of Hyperledger Ederha. And we use it for many applications, including working with the Central Bank of Cambodia and actually many other institutions. We do a lot of really cool work. Ederha version 1 was used in Project Bakon, which is the world's first retail payment system run by Central Bank using blockchain. And it's really an exciting app. And we hope in the future to upgrade this system to using Ederha version 2. But today is not really about Bakon. I'll talk a little bit about this is just a brief intro. So let me get started into Ederha. So the philosophy of Ederha really is about three things, being simple, focusing on mobile interfaces, because that's where people live. Now, NB blockchain. And what that means is all validators don't trust data. They verify the data. So it's not just a time-stamping service. It's actually data validation and distributed consensus. So that's three key principles that we try to keep in mind in design. And in Hyperledger Ederha version 1, it was written in C++ and in version 2, it's written in Rust. And it has many notable exceptions, advantages and differences from Ederha 1. So for instance, instead of using a database, all data are kept in memory. But just because you keep it in memory doesn't mean that you lose any data if there's a power outage. All updates to the block storage are done atomically with the memory and the disk. So you always store your memory. Well, the key part of the data, which is the block storage on the disk, but for doing validation and runtime, everything is kept in memory, which makes it really fast. We're also working on Ederha's special instructions, which are the basis for turning complete smart contract capability. And later we plan to incorporate WASM, because we think that WASM has lots of advantages. You can compile to WASM for many different languages, so it makes it potentially easier for developers. But this is for the future. We have a very simple data model. It's really just a domain, which is like a box. And inside this box, you put asset definitions. And then you have accounts, which have the signatories associated with them, and accounts also have assets, which link to the asset definition. And I'll show you how to set this up and how it works. So it will be more clear in a couple of minutes. For GitHub structure, let me show you GitHub. There, I've got GitHub open right here. So if you just go to hyperledger slash Ederha, we have Ederha version one, which is in main branch. But if you want the version two, you can go to Ederha two or Ederha two dev. Ederha two is not updated as much as Ederha two dev, but dev is not as stable as Ederha two. So if you're just playing around, Ederha two dev might be the best option, because we make sure that it builds and everything. So in the project structure, we have Ederha application, Ederha client. There's this command line interface. There's macros. There's an Ederha network. This is the different crates that are being built. But today, I'm going to focus mainly on Ederha, which is the main server, Ederha client CLI, which is the way you execute commands in the Ederha crypto CLI. So let's just get into it, because we have six minutes. How do you set up an Ederha two network? It's really simple. You generate your keys using this, let's see, oops, yeah. So OK. So if I show you the build folder here, so we've got a lot of things that are being built. But one of them is, of course, Ederha. And then you've got Ederha crypto CLI. Yeah, here it is. Ederha crypto CLI is a tool that you can use to generate keys. So you can go here and be like, Ederha crypto CLI. And then this will use random number generator on your machine in a secure way to generate your private key and public key by default, DD25519. And we use hyperledger, first step for the photography. So first you generate your keys, and then you set up a config.json file for each peer. So the way this looks is like this. I've got four different peers. So Ederha deploy, Ederha to deploy, Ederha three, Ederha four deploy. Each peer has their own config file where you set the endpoint ports. So here, for example, port 1337 is used for P2P. And then 8080 is used for client queries. And then what you want to do is take your key from the crypto CLI, put it into the public key and the private key, and then this will allow you to boot up your note. And if you just have this, you can actually run here. Let me run it here. You can actually run Ederha and it will just start up Ederha. You can't do anything yet because there's no other clients on the network. And they're not really doing anything yet. But once you read the genesis file, which is the next, well, I'll talk about that in a second. But once you set up the genesis file like this, then it'll actually boot up the network for the first time. But before you do genesis, you have to set up your trusted peers. So you just put the P2P endpoint URL for each peer and you put the public key for each peer. And this is important because each peer validates the messages using the assigned messages using the public key, right? And that's pretty simple. You just copy these trusted peers files to every peer deployer, and then you need your genesis file. And this is included by default. If you look in our Docker distribution, you can see this. You just need to generate a key for Alice. Alice is one of the user accounts, and then you can easily have the signature key here for Alice. So you copy this genesis file to at least one of the peers, and then you hit Genesis. And then you can actually start up. So yeah, you can see it says committing block with hash there. And then this is new hide one, new hide one, new hide one. So what that means is that it went kind of fast. But when I started up this peer at the genesis block, it actually went through the genesis sections that are in this text here. And it committed the blocks. So that's why you can see these at blocks one. In every peer. And then once you have a network, you can execute Edoha Special Instructions, which I think a good way to explain this is to show it. So I'm just going to quickly create a new domain called Edoha World. And let me go to my Edoha CLI. So create my Edoha World. So this creates a new transaction, which you saw was created and validated on all the peers. So I now have a new domain, Edoha World. And then I can create a new account, Makoto at Edoha World, using this public key. So let's do that. Oops. It doesn't like my code because Keynote, I think, turned one of my codes into some special code. Here we go. OK, so now it executes it. So I registered this new account Makoto at Edoha World. And then registered new assets called IRH token. It has a value type of quantity. And this has the same problem with this quote, I think, because Keynote is not so friendly. Let me try this. Anyway, there's not too much time. I'm probably misspelling something here. I will look at that in a moment here. Let's go back here. I can just go up to my history because I worked fine. OK, so yeah, I've missed one. So it creates a new asset called IRH token. And then it has a quantity. And then I can actually mint new instances of this token and give it to Makoto at Edoha World. So that actually gives me some new token. And then you can actually list all the assets in the system using this query command in the CLI. And you can see that I've got Makoto at Edoha World with your 1337 quantity token. So it's pretty fast. You can see that it's running it in Rust is extremely quick. And it's pretty fast and flexible. So I think that's all the time we have because it's only, well, I think, yeah, just maybe four more minutes, I guess, is what we have. So I'll answer some of the questions that are in the chat. So one of the questions is, what's the reason to use Edoha instead of Fabric? I mean, it really depends on what your goals are and what your business processes are. So in Fabric, it's very different method of consensus and data model and management in Edoha. And in Edoha, it's good at some domains. I would say it's really good for asset creation. So you can see that in this quick demo of just a few minutes, I was able to set up a network and actually mid tokens and give them to an account and register an account and do these different things. And that's really the goal of the project design is to make it really easy to create different tokens and to do asset management in a very quick and in a way that doesn't have very much overhead. Somebody said, is the migration to Rust-on or is it in progress? So there's two separate branches in the GitHub. So let me share my screen again. So there's the, if you go to the Hyperledger GitHub, you'll see, here we go. If you go to the Hyperledger Edoha GitHub, you'll see various branches here. Main is the Edoha version 1 branch. And then Edoha 2 uses Edoha 2 and Edoha 2 dev. So it's still not a full production release yet. It's still a work in progress. And that's why it's not a tagged release at this point. But it will be hopefully soon. So Edoha 1 is still being maintained. There's a team working on that in SQL Spots. And you're welcome to use that in production. It's used by Central Bank, even. It's very reliable software. And Edoha 2 is really being rebuilt from zero really using Rust. So why Rust? So Rust has any language has its pros and cons. I really like Rust because the compiler is extremely strict. And this helps you to kind of write more kind of standardized and kind of higher reliability to put. Since we have a little bit of time, you can also execute many other commands in the list. So instead of doing assets, you could do, for example, accounts. You can just do account list all, and this will list all the accounts. You have to have the query permission to do this. But in this default setup, everything is public. So it's fine. So you can see that we have this. When you list the accounts, you actually get not just the accounts, but also the assets the account has. Because if you remember my data model figure, the assets, every account has assets. And every account also has signatories. You can have multiple signatories. This one just has this public key. Not the most friendly user display interface. So in the future, so we're currently working on an Android and I guess Coldline library. And then, yeah, so anyway, we're almost done. But so we're working on some user applications to make it a lot easier to integrate this in your apps. So feel free to join in development, head over to Hyperledger Iroha. Check out Iroha 2.dev branch. Just check it out and clone it, hit Cargo Build, and things should work. So hopefully, that wasn't too fast for everyone. But hopefully, it also shows how easy things are done. Tonight, I'll be speaking about Iroha 2 in more depth. So feel free to look at the schedule and come by. So thanks, everyone, have a lovely day.