 Hi Anandthan. Hi. My co-presenter. How are you this morning or this afternoon? Yeah, very fine. Excellent, excellent, excellent. So hi, hi Julian, hi Anandthan. So I'll just give a brief introduction to the session and then you can begin the session, right? Yeah. Okay. So good afternoon everyone. So myself, I am Nikhil Vichandran. I am the co-organizer of the Hyperledger Kochi Meetup Guru. So welcome to the expert session on Bezu, an Ethereum client by Hyperledger. Today we have with us the distinguished guest Julian Gordon. He is the vice president Asia Pacific at Hyperledger. Julian started his career in London working in technology within investment banking at HSBC, Lloyds Bank and Kleinwood Benson. He then spent the past 20 plus years in Asia Pacific business development and leadership roles within technology companies like HP, Sun Microsystems, Juniper Networks and Cisco. And Julian is a strong advocate for open source and truly transformational potential of blockchain. The other guest we have is Anandthan Rajasekaran. He's a research and development engineer at KBA, an active developer and blockchain enthusiast with more than three years of experience in multiple blockchain domains. His expertise include Ethereum, Corda and apparently Bezu. I welcome Julian and Anandthan to BlockHashLive 2020 and we are delighted to have you with us. And also some housekeeping tasks. If you have any questions during the presentation, type them into the chat and at the end of the session you can unmute and ask the questions. So over to you Julian for the introduction and I hope we have a good session. Okay, excellent. Thank you. That's great. I'm going to share some slides now so I'm going to see whether that works. So I'm sure it will. So here we are. Yeah, so can you guys see my slides. Yes, we can see now. Okay. Thank you for hosting this today and BlockHash. This is a great event. So I know it's the meetup with Kochi and Corella and last year I was in BlockHash. I just wish I was there again. But obviously we all know that that's not possible but next year, next year, actually, my brother in the UK just got his vaccine. So he's a doctor in the UK so it's happening. So we're getting vaccines at last. So hopefully I will have will be past this at some point, hopefully this year. So today I'm going to talk a little bit about do a little bit introduction to Beizu at this Beizu talk, and then we're going to go to the true expert, which is none of them who's going to talk about go into more of the details. So what I thought I'd start with it really just, you know, in terms of hyperledger, we all know hyperledger. I think now open source blockchain technologies within the Linux Foundation. So what makes it special and why we have grown and it's really just the heritage that also came with the Linux Foundation is that we are truly, truly, truly open source, right? So the hyperledger technical community is 100% open. So all the technology, Beizu, everything that you would talk about today, you can just go to GitHub and of course a lot of people then take that technology and wrap it around. So there's a lot of technologies, a lot of cloud providers and others and the right applications on top of that, and obviously provide a service may charge for that, but the technology itself is free there is no gotcha. And also, what makes that possible is is the technical community, we are about code about coding, and it's all about the technical contributions and we have what we call a do accuracy as in do accuracy. And the people that do, the people that get involved, the people that contribute to the projects, those are the ones that ultimately run the projects and have the influence about what happens in the projects. And we need more, we're always looking for more and more people because we were developing this code for the common good of all. This is the greenhouse, which I think you're all very familiar with. Particularly projects like a hyper ledger fabric, hyper ledger sawtooth. This is a family of we started up with two code bases with fabric. Five years ago, actually fabric, I think it was in February 20, sorry, in 2016. And actually the project started next next week is our fifth birthday, the hyper ledger so we're going to have a big celebration I'll talk about that in a second. So those are the first the big projects we had borrow early on from a theorem perspective, I mean those were mostly permission blockchain. We had a borrow of which you could write is an EVM and you could write celebrity contracts that actually now sits on top of fabric and sawtooth. We have a bunch of libraries, a bunch of tools, and we have a great lab. I'm going to go into those today. But the subtle red circle around it is the one we're going to be talking about today. Bezu, which I think was August 2019. And this is a combination of a lot of discussions between the theory community and the hyper ledger community. We're always, I think, since the very beginning, wanted to have a theorem. We're about code. And we, we, we love all different technologies. So I think you can now with this we would like to have a spectrum of stuff that can run on the main net to the most permissioned kind of DLT so we have the whole spectrum of technology. And to give you a little bit more. This is this is a slide actually got from the Bezu team, the game to me last night I said, I've got any slides. This is one of them. They kind of show how the two came together right the two different worlds. So you have on the top, a theorem was announced back in 2013, you know that the, we obviously started with Bitcoin as we all know and then we had a theorem with metallic, and, and many others right and out of that, you know, was smart contract and all the things that we know about theorem today, the one well computer, it was launched consensus itself was also founded. It was founded by a number of the founders of a theorem, and they come started a company called Pegasus. At the same time, EA was founded that's the enterprise a theorem alliance. Now enterprise a theorem alliance. A lot of people say, how does that compare with hyper ledger. Well, enterprise theorem alliance is a standards body right. And maybe you might have to word of theorem and it was uses its technologies they have a lot of standards which are not just about a theorem. So, if you look in the world of all these organizations within within blockchain, you know the developers you have, you always, and this is what Brian Bellendorf always talks about, you have, you have people create standards. So that's EA right. There's people who manage standards, who regulate standards, and there's people that write code, we write code, EA right standards. So they are a different type of organization right. And then there's Pantheon, which started this theorem client, which ultimately became a zoo. At the same time, in parallel, hyper ledger launched 2016 consensus actually was one of the first early members of, as you know, as I said, always, was being close to hyper ledger. And then fabric was it was started then we have sawtooth burrow, and then EA joined. And at that time, the conversation came together, and Pantheon was contributed to hyper ledger, and it became hyper ledger based zoo. And now in March 2020 hyper ledger basically became active as a version one. And now it's just grown and grown and grown. And if we look at the next slide, if I can get there. You know, there's been a lot happening this year, since really August 2019. And that was a big year I remember, after it replied I did with a big meetup in Beijing we had Joe Lubin there. And there was a lot of a lot of a lot of noise because this is a very significant step in having an interim project like this within hyper ledger that had 40 releases this year they got 60 contributors. They presented the global forum. I'm not going to talk about the features, I think, and I was going to go through that. And they get gained active status in 2020. So, and they created a transparent and open, as I said, the key thing is transparency, and they have a very open maintain a process and I'm going to talk a little bit about that in a second. I'm going to share this slide because in the end we're talking about technology but what is the technology useful. I was doing a presentation to a university about, I think it's in November you can see from this slide, and I just that week I just had a look what's happened in CBDCs, and there were four different announcements major announcements. And if you look at them the first one reserve bank that's working with consensus. We don't actually know what's the China banking, CBDC, but that's a separate kind of thing. Then we have the Bank of Thailand, which I know is, is Bezu they announced they're working with Bezu. And then actually Cambodia, which we talked about earlier today is a rower. But the thing is that CBDCs are using in these private proof concepts are using hyper ledger basic and hyper ledger basic is being used by real applications out there today. So it's not just something in it's something that's live and running and capable to run production systems and in one of the hottest areas, CBDCs. So how do you get involved. Well, as with everything a project, you have any project, you can go to our wiki, you can go to GitHub. We have chat. Everyone knows how to use chat chat to hyper ledger.org if you don't know you get links foundation ID. You can contribute. We want people to contribute. We like people to learn about it use it and then contribute back. And we do have a thing called Bezu quick start. So, before I hand back so that's really introduction about where Bezu is and I position it within hyper ledger. I finished with two other things right, we have this developer newsletter now so I will put this sign up in the in the chat. If you sign up for this weekly you get newsletter and this is a newsletter created by our developers for our developers. Actually as a week he's opened up in the beginning of the week, you can put ideas into there, and then they develop it and how it goes on the Friday. The interesting thing it has noteworthy pull requests that goes to all our projects, and they say, Oh, this is an interesting pull request that you may as a technologist be interested in. So has that's one thing. And this week I noticed they had a, an update called the update on Bezu. So this is a good way to keep and this is for techno tech tech tech not with the more marketing kind of thing this is really for for technologists. And finally, I want to talk about, we're very excited with five years old, which, when I was five it was quite small but actually for a for a blockchain five years is a long time, and we're five years old and we have a celebration next 18th next Friday, which everyone is welcome to turn up and Brian will do a quick, a quick overview of the year a bit of a celebration will do some AMA, and then we're going to break out into different sessions for a kind of networking activity so please do register for this as well. Okay, I will now hand it to the true expert. If you could now take us through your details of what what is basic. Thank you. Thank you. That is a wonderful introduction to Bezu. So, like, if you any of the participants want to ask questions regarding the introduction you guys can post that in the chat and Julie will take it up. Okay. So, so let me start with the best. So I hopefully let me start with sharing the screen. Okay, so I hope everyone can see this. So, what is hyper ledger best. So, as Julian give us a brief introduction, it's an open source Ethereum client. So, simply saying, it's an Ethereum client developed by the hyper ledger community. And they did a very hell of a job at it, and several good clients. So, just basically written in Java, and using that you can do everything that you do using a normal dating client like flight. So, if you have any of the private of our big Ethereum networks, the main Ethereum networks or like the test networks, such as ring every option, etc. And the best thing using this is that you can like construct private networks and best so currently supports proof of work and proof of authority concepts algorithms such as IBFT and click. There will be more on that in the next slides. So, where can we use this so basically best way we can use in a secure and high transaction right right plot change if needed. And it also I mean apart from the other features such as the mining sending transaction or executing smart contract. We have privacy and permission. Now, like, look more into the features of this. So, basically, basso implements the standards defined by the enterprise alliance, and also it's an implementation of Ethereum virtual machine in the Java. So, basically, you can deploy smart contracts, and execute them into basso private network, if you respect and pursue client. Consensus, the there are actually three concepts mechanics that are supported by basso. So, there are two proof of authority variants. The first one is is that bull bison then park torrents to point out, and basically the transaction and blocks that comes into this network are validated by some people called validators. So, basically, it's the same name that you want to minus those who like those who validate and come with a block so one validator will propose the block and the others will validate and endorse that blog then that can be committed into the block. FFT has immediate finality. That's like there won't be any four lower angle blocks on the main chain, everything, every block, the every valid block will be committed to the main chain. Now, I do for a transaction to be committed you need to at least two by three of the validators operating on that same block to create. And if you if your network like if you're like running a test network you please need for validators to commit a block into the chip. Then the next one variant of proof of authority we have is a click when these are like just like different names that we name them so it is actually a more fault or and then I bft because you only need a half of the validators to validate the block and the existing I mean multiple values can propose a vote and remove and add the validators also. Now, due to this bank like a click doesn't have immediate finality and that there should be possibility of forking around the nodes in the in the main chain. Now, finally, we have proof of work, our good old consensus algorithm and yeah that those are the three concepts algorithms supported by the hypothesis. So, basically, if you're connecting to the main Ethereum network the consensus with them will be proof of work. I mean, I hope they will change that for stake in the near future. So, others will be able to all these algorithms will be available if you're like trying to set up a private Ethereum network. Now, as usual, with the normal clients best you can also perform a mining within the network do transactions, a deploy smart contracts and interact with the decent these applications. Apart from these features, the best features that are introduced by best so that is the, they're like implementing the standards defined by the Ethereum alliance so the first one is privacy. Basically, you can create private groups that are basically you have an entire network and you can create your own groups inside that network and the transaction that are sent between inside these networks will be private only to those participants. So, the participants in the group can only see them and like have a transaction between so to achieve this. So, basically, using a private transaction manager called Orion, which is actually part of the column privacy protocols and like the column block basically like a lot of things privacy protocols and they are using the Orion node to. keep the prior transaction and the best will keep back of the state of this prior transaction. The next main feature of this is that we can like we, we can specify which accounts in which the transit I mean which have the transaction abilities or who can write into the blockchain all those things. And then we can specify which node can enter into the blockchain network also. So, that are the main features that best so ads and that are the very important features that best so ads, apart from that, this is actually one of the necessary feature when we are actually running in North. So, Provisors which are best monitoring softwares that are available and it is tested and you can like connect with them and explore. And also we have a lot of which is a block block Explorer and the Gapna Prometheus. This can be used to monitor the health of Ethereum node or the bassoon client and that will be very helpful when we are actually using that on an enterprise platform. Then, simply what can you do with the best so you can create private networks. This is actually a command line interface and I mean all these tools can be used to provide you with the overall working condition or the status monitoring of that personal client. And it will be always be running a json RPC, I mean you can communicate with the json RPC via HTTP or web circuits and you can gather all the details regarding. Now, best so eyes are developed by a hyper larger so but that doesn't mean it doesn't support anything that is on the other end of the part so shuffle remix web 3J and there is also a designer developed by job in Apache to control license because the basso the input basso doesn't have like just like other clients like get doesn't have a key manager so you can either use that particular man with this like metamask or you can use the designer that which is provided by the basically we can use basso to create a private network if you have the need or the your use cases are a source kind of thing so that will be better I mean I have been I've been like playing with up with basso and it's actually a better client I mean you may know that says see a like but it's a better client than most of the other clients because you can they probably use a much smoother experience so you can just directly connect and it's like and they are also that basso the developers of basso has a progress with the need and they are well maintained documentation so in any case if you want to explore the other things that are not this like this is over here then we can like go ahead and do that so now that's all about basso we can now go ahead and talk about how we can create a private permission network and how it will be worked if you guys have any like doubts you can like post that in the chat so okay so first let me tell you about the development environment I mean there are many options in which you can actually install basso so I mean you can use the docker you can use the docker you can use the help of the docker or you can you can directly build the basso from the source code or you can use it using the installing the binary so basically basso is a java client so it will need the java versions yeah sorry so I hope you can see it so the java I have tested it with the java 15 jdk15 so basically it only needs jdk11 plus so any versions that is above 11 you can use that and for the basso I am using the 20.10.2 version so that's actually the latest version yesterday so there might be any there could be some improvements so yeah so you can either use the docker and pull out the images and run them or I just wanted to know how the things work in a deep day so I will tell you guys how I did this how I set up the environment so the best way is to download the java sdk like you guys can just go to the oracle's page and there you can download the java jdk and you can download it for any of the versions like what I did for my open to version is that I downloaded the Linux 64 compressed archive so basically you can just download that and this is the archive so you can just use open that using an archive manager or any 7cp or anything like like any of the combustor manager so then just copy this folder to any any of the location that you want and you just need to set up the environmental variable for that so like you can set the environmental variables in many places within the bundle in case of windows you can just directly go for the environmental variables for in the my computer options and for mac it is also the same so for me what I did that I used to get it and I put them in the slash etc environment location so I hope you guys can see this so this is basically where you can specify the environmental variables for when to and how already specified it for the java and java and basu and also these are the where the executions remains the executables are located and as most of the clients that runs with the java needs the java home environmental variable where it will be specifying where you are how installed the or installed or where you have like copied paste your jdk so this will be the home page and you can just cover that at the so that's all about the development environment of basu now we can go ahead and set up and actually actual private network using basu then we will see how a fully fledged basu network is working and also we will see how the other tools such as metamask remix id can interact with the private network that is set up to using basu okay so so in any case if you guys want to find this later you guys can like go to this location so tutorial said that we have called permission and create a permission network so I'm just following this document to create a permissioned network for us I'll just put this in the chat okay so basically we will I'll just go through other steps that we'll be doing so first we'll prepare an environment like some directories for storing the data so regarding each nodes so we'll be like creating a private permissioned network consisting of three nodes and we'll be setting up two network two accounts to do the interactions and three nodes can communicate with the network or like can only join the network we'll be doing that kind of so first we need to create an folders where we can specify where we will be storing the data as for that particular node then we can create an address for a particular node because we will be building this network using the click algorithm which is a proof of authority variant and for the click algorithm in the genesis file we have to specify at least one propose or validator so we can create the address as I mentioned earlier it doesn't have any valid permission but it allows you to create addresses so like the key pair private and address key pairs can be created using vessel and after that we'll configure the genesis file then we can configure a permission file I mean as I told you earlier we can specify which two accounts can write and read from the Ethereum network so we'll create a permission file and we will create specific two accounts to be permissible to write from the network so anyone can read from them then we can specify which nodes will be able to interact with the network and we will start the three nodes and we will add that nodes into the permissioning file then we will connect them together so that will be our entire how we will be setting up an Ethereum private network using vessel so let's just go ahead and see how we can do that. Okay so let me just create a folder from our lab so. Now, over here I'll open a terminal. And I'll create the folder structure I mean this is the folder structure that will be going to need. For me it will be best to have instead of prohibition. In a bundle we can create mkd using this mkd here and minus p for like creating repetitive. So. For not to then for not. And we will get a structure like this. So after creating that we can go ahead and create a public key and the corresponding at private key for that and we can use this corresponding command. So, basically, as you all know this is actually a command line tool so this will be the main command and these are all the parameters that will be specified. So we need to actually need to run this inside the first node folder. So let's just make it our way over there. And let's run that command. Otherwise these are parts so this is where we specify where we should store the data. And this is where we are specifying where we should store the not not key related I mean the public, the address and the private key related to this generation. So if we look at the follow structure again we can see there are two new folders one is the key and no data so if we go back inside the node one and you can see there are two new folder and feel like go ahead and open it with the editor. So you can see this is the private key and this is the address that we need. So now next we need to generate the Genesis file. So, basically some of the tools might have some tools for generating but we can get the Genesis file from the development documents over here and we can just modify it. Now, first let me just create that and I'll just tell you guys how we, what are the components inside that Genesis. We can just name it. So let's go back to the root directory. Mine is the basu lamp so let's name it. I'll just call it Genesis.json. It is a json formatted file so you have to specify the extension as json and paste over here. Before I explain the first thing we need to do is that we need to specify the anyone of the validates name inside the Genesis file so that's why we created the node address for that. So, when you specify, you can avoid this part so you don't need to include that part so copy the other part and replace this node one address over here. So the extra data will be something like this. Now, let's just go ahead and explore the details that are displayed over here. So in the configuration we can specify the chain ID which is for uniquely identifying our network for our chain or blockchain. Then we are using the constant for update version I mean over the course of Ethereum there has been many updates. So we are using a clicker contents algorithm and the block generation period is 15 seconds you can get you guys you guys working on that you guys can provide a lesser lesser interval. I'll go with the default and the approach length means the when when the when after 3000 30,000 blocks will reset the voting pattern and choose a new water and all those. Then we can specify a coin piece or that's actually a default values we don't really need to specify. You need to specify the one anyone of the validates address indexed by data and the gas limit, the gas limit for the network, and all these others are like, these are like a normal block and minimum block. So, in case of agencies will also have that but we'll be giving them as empty at the time of creation, then, as you know this is actually a proof of authority network so we can pre fund some and a course with balance so here we have specified three accounts. And the balance for them so you can either so see them in excited similar or in normal binary format, and you can see there are some private can come and so these things won't be returned into the actual Genesis bro. I mean based on this Genesis block will be great Genesis file will be creating the Genesis bro but so these things won't be written so you don't need to worry about that. As you know we don't really have a valid manager that's why the developers have provided us with the public address and the corresponding priority for that so that we can manage that. So you guys like if you guys want you guys can replace it with the these generated key and address. I'll just go with the default one. So that is all the other number and gas used is general for a normal block but for Genesis block it will be an empty string empty values. Basically, now using this Genesis block, I do not forward to save this after creating this do not forward to save this. So using this Genesis block now we can go ahead and run our network. But before that, we need to create the permission configuration file for each node. So yeah, you need to create a file called permission conflict or a DML, which is a DML format file, and you need to specify these values inside that. So let's just go ahead and do that. So I'll use g edit to create those files. I mean you can just create a file one in one place and copy them to different places. So, yeah, where you can like paste this. So as you can see, we are giving the right permission to do these two accounts, which are like the accounts that we pre funded in the Genesis for like if you guys want you can change that too but I'll stick with the default. I think I have provided the wrong provider space a bit in between them that's where the error. Okay, so let's just copy that. So you have to follow this format. Basically, you have two variables accounts solo list and the north solo list. And you need to open a square bracket and it said that you can set that you can like provide the values in a comma separate manner, and you have to like enclose the values in course double course. Okay, so yeah, that's for the first note, then for the second one. And finally for the table. Okay, make sure you have saved all the files. Make sure you have saved all the files and they are in the correct format. Yeah, now we can like close them because and also come back and just check your structures are saying that the same. Yeah, so inside the data you have something called this concrete file. Now let's just go ahead and continue. Now, we need to start the different notes. So the community has provided us currently with the commands for both Mac and Windows, and in case of open to it will be same as mine. So let's just copy the them and I'll explain them how, how this this works. So first, we'll run the first node. So it's open a terminal inside node one. Yeah, so already. Yeah, sorry, sorry about that. So we'll just type it. Okay, I'll just explain the command before executing. So, as you know, the main command best suit. Then we are specifying where you want to store the, the blockchains data. That is where you use the parameter and specify the path. So this is a relative path and it will like append the person working directly alongside with data and in case if you haven't created the folder called data it will automatically create one for you. We created that folder structure because we want to specify we will be storing those node data, not key data. Then we need to specify the path of the Genesis file. And dot dot means in the previous directory in the main directory. And actually I have named with us Genesis dot Jason so yeah so I'll be doing that. And then we are specifying that we'll be using permission nodes config file that is the, the, you need to load up whenever the client is loading, you need to load up this, this configuration file and follow those configurations. And then we are also saying that only these accounts, only the accounts specified in that file will also be a name. Then we will be using I mean every clients, I mean most of the clients in the blockchain domain are using the RPC API format and we are enabling the RPC over the HTTP protocol. And we are giving access to these many modules I mean in this, in this, when we, when we are running this client will have access to some APS and there are many APN points, there are many groups of APN points and we are just specifying that we need that I mean it net app and they click protocol. So basically these are for different purposes will know them. And we are allowing all the host and all the origins to acts have access to this particular network. So, sorry, particular best to know and yeah, that's all for the first best to know is just a static and hopefully it runs. Okay, so it looks like something is running on my computer so I need to specify the RPC port also looks like some amount of my experiments. So, this is the RPC port. So this is where the endpoint of this will be exposed, and you can specify that. I'll just start with the running in a before one. Yeah, so as you can see, we have no problem and as we started producing blogs. So, now, the next one is I'll just explain about what you are and you know you are least. So, as you all know, when to identify a specific computer in a network we know we have something called the IP address or IPv6 or v4 address. And just like that in the Ethereum network we call something called eNode Ethereum node address and using that you can like establish connection with another node. So, keep in mind about this one because we need to specify this in the permission you are. Okay, so let's just go ahead and run the other nodes also. So, to start the second node, go to the second node directory, open a terminal. So, I'll run that in for two and I need to change the name of the Genesis file because like that I have changed it. As you can see there is one more. Yeah, so I think yeah it was okay. Yeah, so that was a name problem. Okay, as you can see, we have one more parameter over here, P2P port, P2P port which is used to actually specify where we can communicate with the nodes. I mean, it is for peer discovery protocol, peer-to-peer communication protocol and in point for peer-to-peer communication. So, in case if you have not provided that then it will be 3031. You can have default values for all those nodes. As you can see, these are not connected so they are actually waiting for the peer. Now let's go ahead and run the other one, I'll just remove the unnecessary command bombs. This guy over here is actually creating nodes and waiting for other nodes. So, let's just run the last one too. So, when running the commands it will be always preferable if you like paste them in another text editor and edit them, then change them, execute them in the command line because there are always some problems if we do that otherwise. Okay, so as usual I changed the Genesis file's name and the port. Okay, now go back to node 3. Yeah, so it seems like everyone is up and running and everyone is happy. So, next thing we need to do is that we need to add, currently as you know that inside this config file, you can see no nodes are allowed to connect to this particular node. So, you just specify which node is able to connect to this list. So, to do that, we can actually use the endpoints. There are APs for establishing or adding data to that particular node. So, we can use these endpoints to do that. So, let me just copy this. Okay, now using the permission, add the nodes to allow list method that is exposed in the passive client. We can actually add the nodes that are necessary for these things to connect with each other. Now, how, like, you remember the inner address that we, whenever we started, we'll have an inner address, right? So, that is one way to get that or you can use the corresponding command to that. And, like, if you guys really want to have an UI interface to that, I hope you guys know about the postman, which is actually a client that we can use to query the APs on different sites. And Besu, the developers of Besu actually have given us one second. Fantastic way in which they have actually created a collection, a collection of how we can call all of these APs and they have, like, given as you run in postman. So, if you click on this option, you will be redirected to a postman, which is actually the same as the call command. You can query anything over, that is a host anyway. So, as you can see, these are like collections provided by the Ethereum Hyperledger guys, the Besu Hyperledger developer community. So, instead of that, you can have access to every node and they have pre-configured it for hours. So, like, if I want to know the inner address of the node running on 8.5.4.2, which is actually the node 2, I can just request that and get that particular inner address. So, it's easier like this. So, let's just go ahead and collect all the inner addresses. So, this is where I told you guys I need to copy this to a node today and edit it over there. As for node 2, you get that too. So, then finally we need node 3. So, guys can use this to interact with the node period node. So, we'll be calling this method API endpoint and you can like do that for the first node, which is running on 8.5.4.5, running on 8.5.4.1, sorry. Then for 2, for the second node and for 3, for the third node. So, you can just open another command prompt anywhere actually. You don't really need to open it anywhere. I mean, in the exact same folder and just paste those commands. So, if you see that the output for that particular commands are like, as a result of success, then all this will be added into that node folder. So, if I go back and open this, sorry about that. So, you can see the, you know, address has been added for that specific 3 nodes and now we can like connect with each other. Okay, now in the same way we use the command. We have another command to call up certain another method to connect each node with each other. So, that material is called admin.addPair. We can use that method to add, first connect the second node to the first node, then third node to the first node and then finally the third node to the second node. So, let's just go ahead and do that. We'll call it according to the second and third node. So, we need the enode address of the first node. So, let's just go back to Postman and we get that. Now, in case of node 3, we also need to connect that to node 2. So, let's get the address of node 2. Now we just need to execute these together. So, let's just go ahead and execute them. So, yeah. Now everyone is connected together and to know that we can like get the peer count for each node. So, I just ask the node 1 for the peer count. So, yeah, it is connected with the two other nodes and in case of node 2, 2, so and in case of 3, yeah, same results. So, if we go back, I don't need this term. Yeah, go back and look at the other terminus. You can see that they are listing out the number of peers that it is connected with. And this was the main one and it is syncing with the other nodes. So, it has imported the blocks that has been generated thus far. So, you might think that there are no transition happening. So, why the blocks are being generated? So, that's because Ethereum allows zero blocks mining. So, if there are five blocks, a five transaction, it will mine. Even if there are zero transaction, it will mine. So, that's actually an automatic process that is happening in a loop. So, this is how we create an Ethereum network using private network using a BESU. So, yeah. If you guys have any doubts regarding that, you guys can post in the chat. Otherwise, I'll show you guys how we can do a transaction within the Ethereum network using something called MetaMask. Because we did not have any default application, sorry, default key manager for Ethereum. So, let me just quickly go over the MetaMask installation. If you guys have any doubts, you guys can ask in the meet. Yeah, sorry about that. So, I need MetaMask for a... Hi, Anandan. Yeah. There were a couple of questions before. So, what was... Can we plug other consensus mechanisms to BESU? You mean like we generate our own consensus algorithms and plug them? Yeah. Or any other consensus, like writing a custom... No, I mean the BESU community is actually working on that, writing custom consensus algorithms and plugging them. Currently, there are like... Currently, it's not possible. Currently, the only allowed consensus mechanism are the PBFT, click, can, dev group of work. Okay. Another question was, do we write smart contracts in Java for BESU? No. We can use the same smart contract writing languages such as Solidity or the WIPER that we use on Ethereum. And if the Java language that is supported, if that is still supported, then you can use it. It's the same process as the Ethereum nodes. I'll just show you an example. Also, can we expect the security and privacy from BESU like Hyperledger Fabric? Yes. Okay. I mean, now that we have privacy, I mean, you guys might have understood that maybe committed the private key to the block, Gensis block. That's just there for the comments that won't be stored within the private block. So we can accept, expect the security just like we expect in Hyperledger. If we are running a private network, in case we are like going for the main Ethereum network, it will have the standards of an Ethereum network. No, I think the question was specific to BESU with respect to security and privacy like in Hyperledger Fabric. Yeah. Okay. Sorry about that. So like just like the privacy groups in Ethereum, sorry, like the channels, it's the privacy group in group that we use in BESU is a similar, not the same, similar to the channels in Fabric. So yeah, we can accept the same security that we are getting from there. So does BESU give, okay, I think this is related, does BESU give private channel communication ledger mechanism inside a network like Fabric? Yeah, so I'm not completely aware about how the communication that happens in the Fabric channels, but they have in the inside the privacy groups of BESU, those who are like participants of the BESU can communicate with each other and the other people might will not be able to see the contents of that transaction. And those are within the channel can add or remove new participants or like all the participants within that and the new participants added will be able to see the history of the transaction that happened within the like. Okay, I think that's all the questions. Yeah. Yeah, okay, so I'll just show you how we can like interact using the MetaMask and remix ID. I mean, I'll just give you a sample deployment. So yeah, so I'll just set it up very quickly and now as you know, MetaMask can be used to seamlessly connect within any nodes or any Ethereum network. So I'll just try to connect it with the current node. So to do that, you can go use the custom RPC option within the Ethereum and networks menu. And we already have some profiles to connect different networks. So I just connect one with BESU, which will be running on local HTTP or slash slash local host. So the chain ID was the same as we like provider in the in the Genesis file. So in case if you forgot that chain ID, you can just give it a pass value and MetaMask will call it for you and you can just copy that over here. After that's close to the network and now we have established connection with the network. And if you remember, we are already prefunded some accounts. So we can go ahead and use that account. So get the priority for that account and inside MetaMask, you can import that account using the priority. Yeah. So these are the cons and we can also import the node address. So this is how we can create. So these are the prefunded ones. And if you want to send the either you can just simply send it using these. So like after it is finished, we can like see the transaction and in case so let it finish. And in case if you want to deploy a smart contract or develop and deploy smart contract, you can like make a way you can simply use the remix ID, which is actually a developing ID for both solidity and vital languages. So when we load this will be the default. Yeah. So I think that transaction is confirmed. As you can see, we have sent some either to this particular account. And as you recall, we didn't add the first account or this account to be like to have right permission to the address. So let's see if we send back some money with be able to do that. So yeah. So I'll just send it back and say one later confirm. Yeah. So that transaction failed due to the fact that this account doesn't have permission to send any transaction to that transaction to the network. So, okay. So in case how we can deploy and it and a smart contract. So I'll use the default smart contract provided by the remix ID. This is a smart contract to store and retrieve some values. A number of new numerical value. Now, how we can do is that we can connect to metamask using remix ID to do that. You can. First we need to like compile the smart contract. Then we can use the deploy and run transaction flight to establish connection. So we'll be connected to second account with the account which we have either. And the everything is the same as usual. We can like deploy the smart contract. And we need to provide that. And yeah, the transaction is completed. We can store our value. Yeah. So it will take 15 seconds as you. Yeah. So that's also performed. And if you retrieve, you can get that. So it's a simple asset. Just the running is solid. Only the different things are the running of the node and the additional privacy and protection mechanics and provided by the person in case we are learning and actually, I mean, I'm in a private network. Everything else is same as we operate within the Ethereum community also. This is they have providers with a very good great client that has a seamless connectivity with the other tools in the Ethereum network. Now, yeah. So what's the time? And then it can conclude it's almost time. Okay. So I'll just show you guys as a quick overview of how we can run and actually how we'll be, how it will look like when we are completely configured for an enterprise solution or we are running for enterprise thing. And then we can like, So if you guys like want to do that for yourself, you guys can like go to this location and use that. So I think there was one in the chat. So if a few members in a group want to make a private ledger for them, whether they want to create another network or is there any other options in places? So basically, every node in the network are like in the same network and these groups are what we call a private ledger. So the groups of them are private ledger and you can like, if you want to form something else, anyone else? Oh, so something else, then we can like do that. Okay. Then let's see how we can execute another one. So you guys have heard about Corum. I mean, you guys might have cared about Corum, which was like a blockchain network for private cases, like that was a fork from Ethereum. It just started by JP Morgan and later on into us, like I created by Kansas and Inc. And we can create a Corum network using Besu in case that we will be running an Orion privacy transaction node also. But we don't really need to worry about those. If you want to really have a quick look at how, what the most cases we have, then we can like use this command and everything will be done for you. So basically you need to add to how docker on your system installed node.js. You can use the latest version. There's no problem with that. There's no problem with using that. And in case if you're running on Windows, you need to install Windows subsystem Linux. I mean that basically that Linux environment provided by the Windows, then you need to configure that into the docker. And in case of Ubuntu or Mac, you need to install docker on that. Okay. So I also, I mean, pulling these kind of different containers instead of docker takes too much time. So I already have like running, how I'm in running. So to, to cross a better note, you can simply go ahead and use the control C option. So very smooth. Okay. I think I have them in here. Yeah. It seems they're already running. So these were the guys that in, they didn't let me run on eight, five, four, five. So yeah. So any of them. Now the candidates and everything for every how actually seven, seven nodes inside that, which we have like a ballerter node and the Orion nodes associated with that. We can use a command called, I mean, it's actually a script, an SS script inside that. And we can use the recipe. I already started it. So first, when you guys first do this, you'll be using the standard assist. So yeah. Sorry. Everything is running. This sort of such to see all the imprints that are necessary. Necessary for this. So that will take something to pop up. If you guys have any doubts, I guess you can ask. So otherwise I'll just give you the overview. Basically what we are going to see is that we'll see the dark. Not monitoring software or and a sample. Yeah. I hope you guys have had over the pet shop, which was just, which is a famous DSL is application by demo. This is a list application by a travel, which is also the tool, friend, not a mental framework provided by consensus. We'll also see how we can run that or connect that. So this entire suit provided by the vessel community or developers, and you can run everything and you can like have a glimpse of how, how we can operate with this. You know, so if you guys have any doubts, please feel free to ask because this will be taking some time because it's actually calling up all the necessary things that we need to run this. Another question. Yeah. I saw it. So what application best suited. So like, are you like sharing about the use case scenario or something like that? Okay. So, like if it is an enterprise, like if you want privacy and not all the participants, all the network doesn't want to like see the, these kinds of transactions, then we can connect. Sorry, sorry about that. And if you want to have a privacy and all those things, like if you want to have groups within the network, like sub, sub chains within the network library can interact with each other like that. Those kinds of, those kinds of scenarios can be used. Where you can use this. And now, like this provides with the proof of, like, click, sorry, PBFT concerns algorithm. We can use them in a higher transaction right now. So, yeah, basically those kinds of scenarios with these, you know, it's the use case of this. Okay. So, like, just like the, just like the APS using those APN points, we can just explore them all over, like all the connections over here, you can like use the permission groups and all those are using this connection. We can use them to provide the permissions and who can write and read into the network. Looks like this is taking some time and I'll just talk the existing contents. Okay. To start again, then use the resume as such. I'll just establish connection to this current network. I think that is running on the code file. Yeah. My computer is getting this. This might be already up and this command might be able to fetch that. Let's see if it is up or not. No, it hasn't been started yet. Yeah. I think, like, I think my computer is not able to take up the load of running all those nodes and all those containers together. So, that's, that's all right. So I think we can wind up the session. It's already late. So, so it was a wonderful session and then so I think we can end it right now. So, I think you are trying to run the quorum node and I was trying to run a quorum example, but that, that's a too much memory and processing power. So that's why. Okay. Okay. That's fine. So this was a wonderful session by Adam then and we had an introduction to hyper ledger and basu by Julie, Mr. Julian Gordon. And I think we can conclude the session. Hi, Julian. Hi, thank you. Great session. Thanks. That's wonderful. Yeah. So thanks, Julian. Thanks. So now we will go ahead and take some questions. If there are any. So anyone to Julian or other than if the participants have any questions you can ask now. I think it's been a long day. Yeah. Wonderful session. So I have one question for Julian. Like, how do you see basu in the next couple of years in terms of the overall hyper ledger ecosystem? Like, how do you see the future of basu? Well, I see. Well, I think there and basically it's strong, right? So I see it growing and growing and growing. Of course, the question is, is really, is, is, is how does that relate to quorum? And I think we're going to find out as well, right? Which is exciting, right? Those two are now under the same kind of consensus. So no, I see, I see it growing. No, it's very exciting. Okay, cool. So that's all for today's session. So it looks like we have covered everything. Thanks once again, thanks for the wonderful session by Julian and Anand then it was a pleasure being with you all. We appreciate all the participants staying here for listening in and we will see you at the next session. All right. Thank you. Thank you, everybody. Thank you. I just want to go back to the blockage slide. The even link is there. So Julian, you are also free to join us there. And if you are, if you have time, we'll do it, we'll do it. All right. Go back using the link. Bye guys.