 The YouTube live stream is up. I will drop the link in the chat if anybody wants to watch there People can ask questions on the YouTube live stream chat as well So I will monitor both So we are live and grace Lucas and Peter if you'd like to kick it off go go right ahead Great. Let me go ahead and share my screen. Thanks everyone for joining very excited to have you here Hopefully you guys know you're in the right place And we're here today talking about a theory and within the hyperledger community This is part two of a series this session will be a little more technical Then the last session we had if you haven't already seen our first session. We highly recommend you check it out But not a prerequisite, you know, this will just be covering slightly different things I I Will go ahead and introduce myself. I'm Grace Hartley. I work for consensus on the consensus quarantine as a senior business operations manager A lot of my work is in internal ops and strategic partnerships I also sit on hyperledger's technical steering committee and work closely on the hyperledger PCU team Lucas you want to go next? sure Hi, everyone. My name is Lucas. I've been working for consensus for a bit over three years now I work in the protocol team and We've been doing a lot of work around That's who and some other products as well. Yeah, glad to be here And Peter I'm Peter so much very I work for Accenture as a technology architect and I'm Full-time one of the maintainers of hyperledger cactus Which is one of the projects we're going to demo today perfect So moving us along quickly here as the agenda, so We're going to cover a few things But I like to say this is a not your typical webinar. This is not us talking at you for 45 minutes or an hour. We want to be highly collaborative. We want you to ask questions jump in That's why we have everyone able to mute and unmute themselves Use the chat ask questions all that So essentially we've prepared some information in some slides But if there are no questions, this would be over very very quickly. So don't be shy as the point This is you know for your learning your education And we're here to be a resource to you So anyway, but what we will cover kind of looking at the bullets we have on the slide So we will do a quick recap of Ethereum and and how it fits into hyperledger just in case you miss the last session We'll move through it pretty quickly, but just to set some context for this Then we will have demos of both basu and cactus and Lucas and Peter are going to help me out a lot with those And by that I mean they're gonna do them for me Well, you will also be having lots of questions and then we also want to make it easy for you all to know how to get involved So we'll wrap up with some information on where you get started and it make it as easy as possible for you And with that as I mentioned, it's gonna be highly collaborative You'll be seeing a lot of polls popping up. Hopefully if David's ready for me and this will help us kind of frame the conversations and Hopefully get us kind of you know, knowing who our audience is and what your familiarity was with the projects and Ethereum So the first poll that we have And David if you're ready to post it, that'd be great is how would you rate your understanding of Ethereum just getting started? I know some about Ethereum. I'm an expert and work in Ethereum every day Looks like we've had it. We'll give it another second. It'd be really awesome if we start with a hundred percent participation on this first one Seems like most people voted now I see 13 out of the people who here give maybe a few more seconds Okay, I don't know if the 13 of 15 is do we count in that list? Yeah Yeah, well, we get 14 now pretty good. Okay So it looks like the majority are the winner is I know some about Ethereum. So it's good to know And then just getting started and excited to learn more is is the second is about half the group and then one person is an expert So this is great. That's why you're here. We're here to help you become experts. Maybe slowly and Yeah, just feel free to jump in with any questions you have So maybe just taking a moment What is Ethereum? Ethereum is the open-source blockchain at launched in 2015 It has one of the largest developer communities in the world for blockchains. I think it's at over 250,000 It's often considered the most programmable blockchain for creating decentralized applications and smart contracts You can use Ethereum so it's a public public blockchain But then there's also flavors that we'll talk about with Basu and others Where it's also permissioned blockchain. So if you're familiar with permission blockchains or permissioned DLTs You can also use it for that Lucas Peter anything else to add to kind of set the scene No, thank you. You got to the point. What this unit is Yeah, it's the way that I like to think about it is this distributed computer over the network So maybe it's more like a protocol way of thinking about it. But yeah It's kind of this Computer that is available to everyone and you know, we can all use in some sense, but yep You did a great job talking about it Yeah, I have nothing more to add. It was great Cool. Okay. Um So Again, we're moving through this quickly just because you want to get to the demos and the fun stuff But setting the scene here you if you were at the last session You all are obviously familiar with hyper ledger in the hyper ledger greenhouse Sometimes we get the question, you know, what's the difference between hyper ledger and aetherium and in fact There are aetherium projects in hyper ledger Including Basu burrow and Avalon and cactus also interact with aetherium Basu is the enterprise aetherium client that's written in Java Which we'll talk about a lot with Lucas burrow is the Permissionable smart contract machine or an EVM aetherium virtual machine Then there's Avalon and then there's a cactus Peter. Do you want to give a? Quick intro to cactus Yeah, just a 30 second version of it because we really want to move fast is that cactus is a framework or Integrating our interoperating different distributed ledger, so it's not its own ledger It's there to help you create applications that have to deal with multiple ledgers at the same time It's sort of an SDK of SDKs. Okay, so that SDK SDKs I think so when you're looking at kind of hyper ledger and you're thinking about all of you know It is kind of a greenhouse for enterprise blockchain DLTs libraries tools Labs as you can see in kind of this view and it's pretty cool that you know It's not necessarily hyper ledger versus aetherium It's actually kind of it all fits together pretty well and you have kind of different options So, you know, I like to say that if you're thinking about getting started with blockchain or distributed ledgers Go to hyper ledger and you'll be able to see kind of there are a bunch of different flavors and you can figure out what works for you and and and Get a good sampling of what's out there by just coming to this group any questions Again, please feel free to jump in. This is not a Talk session. Hey, yeah, can you hear me? Yep? I can hear you Greg. Oh, hi. How are you? So I'm good. Thank you. I think the first chart set quorum and now I see Bessu How do they relate to each other? I'm not sure what the first was like, do I have this slide of uh, I Don't call out quorum explicitly here, but so I guess taking a step back. So there are a few different Clients that run on the aetherium network. One is Hyper ledger basu one is go quorum Go quorum is owned by consensus and my team as well But there are kind of a few key differences between the two clients So hyper ledger basu is written in Java and can run on the public chain as well as permission networks Go quorum is Written and go can only be run in permission network settings and it's a fork of yeah So they're kind of and go quorum is not a part of the hyper ledger greenhouse. It's a Owned by consensus that I said but hyper ledger basu is is a part of the hyper ledger greenhouse Is that that's a good start? Was that helpful? If I can ask a follow-up question, that's a little somebody else wants to ask Go for my understanding is the quorum was somehow Funded or owned or developed by JP Morgan at some point and that project ended and now it's Consensus, I believe that owns the rights Yeah, yeah. Yeah, exactly. Um, so go quorum was originally built by JP Morgan and Consensus acquired it back in August of 2020 Currently the consensus team builds both Hyper ledger basu and go quorum and and work team that work on both of them But and I guess to be clear there's not a Yeah, they're both being worked on by the consensus team So I think your question was you know the go quorum project has it stopped and the answer is actually no Both of the Blitz are working on and what's kind of cool is when you're thinking about enterprise Ethereum and Ethereum projects generally enterprise DLT. It's it's pretty cool to kind of have Different projects being worked on together. Yeah, thank you that help. Yep. What are their questions are out there? Okay, so we have another poll for you all to participate in So we'd love to hear what problems are you trying to solve with using a DLT data traceability security collaboration Lower cost maybe maybe transaction fees Or do you want to have productivity increases to your business? Or maybe there's something else if so drop in the chat. We'd love to get your feedback Looks like we almost had everyone's participation Looks like Collaboration is the leader at this point Which is interesting Lucas. What do you think of that? Yeah, I think this is probably one of the most common use cases and that's something that We hear a lot from different people that want to use it And that's probably one of the best scenarios where a All private chain will you know fit perfectly because A lot of the time Most people think about the theorem and this open network that anyone can join But I think one concept that not everyone understands is that Like main net is only called main net because it's open and everyone wants to join But there's nothing preventing people from starting their own nodes and you know building a network for themselves it's almost like I don't know if you think about You know one of those wiki internal websites that only the company has access to or something You can view those kind of networks to fit your needs. So you don't have to use open it You know the open main net network for that so When it comes to collaboration, you know A group of entities might decide to have a shared ledger to collaborate and share data in a specific format again touching on On traceability and security and everything. So you have this trace of everything that's happening And not a single entity can just go back and erase everything. So I think those things kind of walk together And it's cool because one of the things I'm going to show in the demo is actually how you can View the permission network can send private transactions and things between entities itself. Hopefully It can give you give you everyone a glimpse of what a consortium network is going to look like No, Tinas have beautifully Peter were you going to chime in? Yes, yeah, I also I also like this very much that this is the result that we've gotten because On top of cacti is just trying to help abstract way the mechanics of interacting with different ledgers We also put a big focus on creating and managing consortiums And in a way that is Baked into the plug-in architecture that we have itself. So There's a lot of flexibility in there on how you can or will be able to create and manage a consortium depending on What is the actual legal or trust framework that you want to apply there? Yeah, and I will say, you know, what's really cool is Well, Lucas and peter are going to show, you know, the technology works, but sometimes to create a consortium But actually kind of sometimes the hardest part is, you know, the people aspect and the getting all these competitors to work together and and It's actually not the technology. That's the biggest blocking point. So Or at least we're going to try to show you how it can be easy Uh mark, I'd love to hear about the unifying disparate architectures Comment and if you can provide our contacts. That's really great feedback Sure. Uh, I basically I've been working on several projects that to where you had these larger enterprises that really their it Landscape is just a horror show of siloed disparate, uh, arcade of, you know disparate platforms that are either Incompatible or at least non-communicative with each other and uh, a lot of gatekeeping tends to happen. Um and Yeah, I before I got into blockchain. I had a background as a risk manager That basically needed to have a single painting of glass dashboard that they could pull You know through apis and get the data from the various different enterprise Departments and stuff so they could you know have have it all in one place and that was really difficult to do and You know looking at blockchain I saw that there was a way that this could actually be a unifying um solution to it so That's really how we got into it and you have a lot of the projects that I've been working on Are really you know of that flavor so Yeah No, that's great context and you're right. Yeah. No all the legacy systems be you know weren't Uh built, you know thinking of how they all work together It was you know, they were built for one specific need and now how are they all going to talk to each other and what makes sense and how are we cross communicating that That makes a lot of sense. No, that's great. You shouldn't put that one on the pole Another headwind that I think all of us fly into and stuff is you know as we get closer to an actual implementation You start to contemplate how does the blockchain solution fit into The it architecture because I think by now Those of us that have done some laps around the track trying to create blockchain solutions as databases on steroids You know is is great in theory, but in practice, uh, it's it's a completely different animal For sure. Yeah. No, and that's something like I mean at least with The baser team like we're all constantly thinking about deployment. How are we making it easier to use? What is you know a network administration and not just you know Uh, you know, if you don't how do you fit it with the other uh enterprise applications and and all that so that's definitely Uh constantly a discussion so that that resonates at least with me So, yeah, and so you're gonna have a lot of people a lot of enterprises that have made significant investments in their erp systems And they are not going to just rip and replace with a blockchain solution onto that. So You know, we start looking at more creativity as far as how it actually, you know fits when whether it's going to be an event bus or You know a proof of consistency between state machines That sort of thing Yeah, no for sure. I mean as much as yeah Maybe I'd really like them to pull up the european machine, but it's unrealistic knowing them Um, yeah, and I think that's an interesting um an interesting scenario that we see With some um, some, you know, some companies is that it's almost like there's a journey between understanding, you know What you could use blockchain for and actually, you know, when you start using it and then you find That it fits for specific purposes and some other purposes not directly one-to-one mapping So, you know the thing that mark was talking about where oh, yeah They have like a regular relational database or something and suddenly oh, yeah We can move everything to smart contracts that put in put all this data on the chain and everything Without realizing that that's not necessarily the best use of the two So I think this is part of the journey and part of the learning is actually also understanding where the blockchain would fit and solve problems and not just create more problems and the other way around as well so, um, I think that's just an interesting thing to um And I think it just takes like maybe time or it just you know, um more Uh research for whoever wants to use uh the technology Uh understand and make sure that it's not just Don't look at it just as a another database. It's more than a database. You know, you can do so many more things But yeah, it's it's it's just thought that was something interesting to highlight that this journey that we see Companies going through and not just I mean the technology is new. So I think everyone's Evolving and learning together. Um, but yeah Yeah, one thing I see is, you know, we have to constantly or at least drive home Uh, the demonstrate that blockchain can outperform the current delivery environment and do so cost effectively Uh, I think we can easily do the well not easily But I think we can definitely do the outperforming part. It's the cost effective part that is tricky Oh, yeah for sure Um, I know that's interesting. But yeah, it's interesting though in the poll Nobody said what problems are you trying to solve lower cost and particular productivity increase? And it kind of inch but you're right All right, or it kind of goes hand in hand at least when you're building the business case um We'll keep going so I think we kind of already covered at least the intro section Um, uh, so I'm actually going to jump ahead to our next poll if that's all right um So what are you hoping to see in this demo of how to connect to mainnet how to send a private transaction in a permission environment? How to create a web application to interact? With multiple ledgers or or something else. Um, we'd love to hear what you all are thinking Wow Peter's going to be excited about these answers I don't know if this is what I was expecting actually, which is which is actually really great. I know Uh, so the good news is is uh, uh, we're showing all of these things Um mark, we're probably not going to show a private transaction in a public network Um, but we just can probably talk about how uh base who uh does solve for that But so the first two will be solved and demoed by lucas Which is how to connect to mainnet ethereum and how to send private transaction in a permission network He'll talk to the private transaction in a public network Uh, and then peter is going to be doing how to create a web application to interact with multiple ledgers with with cactus So, uh, we yes, we did kind of tee you up for that. I apologize um But with that peter i'll let you uh go ahead and Uh kick off the demos Uh, and for anyone who wants to follow along We have the links here, but uh, we before you Thank you Let me share my screen real quick Yeah, the computer gets a little slow and I do this for these She's gonna take a few seconds for it to catch up but I can talk in the meantime so There's one takeaway or a few takeaways that I want to highlight which is number one You can and you should try this at home Here's the terminal command that I will show and this runs on any computer with docker that does not have an arms to you in it which now nowadays you actually have to say that because They started rolling out these laptops with that fruit logo that have our chips in them, so But anyway, I'll run this command Yep face anyway, living on the edge I still pull up a container with our supply chain app example, which is a web application, but also I'm sorry Can I ask a question? Yeah, sure thing. Go ahead. What is this local host supposed to do here? I'm talking about somebody posted into the chat local host link Oh, that's just one of the links to to follow along. I just dropped in the chat from the slide doesn't make any sense because Yeah, you know, no, no. Yeah, we need the rest of the command line off copy I think the idea is that if you're running the demo in your machine, you can use the link, but I think it's just the order that The link came before the command line Sorry No problem So the other point I want to make is that this is relatively low resource usage So you should really be able to run it on your laptop despite it being completely empty end of a simulation It only uses about two gigs of RAM right now and I will Also show that I have this docker container running now And if I get into it And then Then I do docker ps then there's containers running inside that container So this is truly an an example that simulates the ledgers themselves as well And I think by now it probably booted up. So I will get over to this Which is the local hose that you can also use if you are Trying this at home, which should And so so Peter you're basically showing or you're going to be showing how basu and go quorum are connecting. That's Yes. Yeah. Yeah, just take it a step back there. Yeah This is a run of the mail web application that manages data. So it's very boring and that's by design and You can book bamboo harvests and bookshelves in it bookshelves are made of out of bamboo in this case and The data for bamboo harvest is stored on the quorum ledger That's running inside that container right now and the bookshelves are stored on a basal ledger And The bottom line is First you have to create a bamboo harvest list Or a bamboo harvest record. Sorry. It's just dummy data But I submitted this sends a rest api request to cactus Which then sends a transaction to the ledger and saves the data there in a smart contract And then The web app, you know, this is where the integration or inter operation part comes in Now the web app fetches the data from The quorum ledger for the bamboo harvest and you can actually select that and make an association between the data on the two ledgers by Adding the primary key, which is how you would do it with an old traditional database And then if you hit this then get saved and you have this record So now you have these records one referencing the other and they are on different ledgers but at the point here is that the web application does not really Make a big deal out of this and All you have to do apart from Some extra boilerplate code the way it looks like when you actually do these data insertions is to call Sorry to call the smart contract method insert record on the basu and on the quorum uh connectors and This is how it looks and uh You know, the the other thing is You could ask well I could do this in 10 lines of code with truffle and web free as well, but and to that I will say that In the coming weeks, we are also adding into this example Fabric and quarter, which are also ledgers that we are supporting now and uh Then suddenly that equation looks much much different because You can really start to see there the value of having a framework where An api call To to the transaction on the ledger can be issued like this and it's almost verbatim copy pasteable over In between ledgers if you want to add the new one as long as there's a connector plug in for it Uh, just the last thing I wanted to show Is the insert And blue Harvest and points. So if you compare this to the other one They are pretty much the same thing Just calling a different contract with a different a bi own a different ledger But this is about as different as it gets and It will look almost exactly the same for the other ledgers as well. So the idea is that This should allow people to be more productive and uh That's all I have. It's a very quick demo And what's cool is that you can do this like with with fabric and basu as well. It's not necessarily Uh, it's it's a bunch of different that like of the hyper ledger project So it's not necessarily just basu about corn and cactus is cool because it kind of works with a bunch of different ledgers That's right. Yeah I'm just trying to get more people to build on cactus. Yeah Thank you. Oh does it out What questions does everyone have? Wow making it very easy on us. Um Well, I'm good. I'm done. Yeah, you yeah, no questions. You were perfect. Uh, All right, so the next demo we'll have is uh basu with lucas. So Four is yours Thank you very much. Uh, let me set up the sharing here. Thank you properly Uh, I'll just share my whole screen and I hope everyone can So I think I'll share my whole desktop. Can everyone see my screen Yes, that's cool. Great. So I'll just bring another This one is probably too small, but doesn't really matter too much. I'm just gonna talk a little bit about what we're gonna be Doing here and a little bit about the topology of this network. So, um, I want to show everyone Three things today, uh, I want to show how you can use basu to connect to a Mainnet network, which is probably going to be like a five second demo. So I'm gonna save it to the end I also want to show everyone how, um You can start your own, um private network. Um, so I'm saying private network, but you can think about it as a network, uh It's up to you who you want to connect to your network. It only depends on your rules for the network and things like that um And the other thing that I want to demonstrate is how we can use some of the Enterprise features in basu like provisioning and, uh, private transactions. So we're gonna go through it a little bit as well Um, one quick comment because, um, I think it was mark who had a question about private transactions in a public network So that's a really interesting question because we do have So the way that the the privacy model that we implemented in basu supports a public network Because, um, I'll try to explain it without getting too much into the internals of the how private transactions work But basically every time that to, you know, two participants ask let's say that they're sending a private transaction between themselves or two nodes in the network Um, we have a secondary network lege with orion, which is like what we call the private transaction manager Which is going to be responsible for transmitting the actual Transaction payload between only the participants And on the public side of the network, we create what we call a private transaction marker, which is a public transaction that contains a hash that can be used to retrieve the private payload from orion so And for every node when you when they see the public transaction And then they see that hash that hash doesn't really mean anything So all nodes that are not participants in the network. They will just skip that transaction It's just it's it they're gonna treat it as a transaction that is storing some data in the chain or something like that But for all node basu knows that are a participant on that network They will understand that that's transaction is something else And then they're going to use that key to retrieve the payload from orion and execute that private transaction on their private state So in basu, we have this model where we have separate public and private states So the public state is you you know conforming to all the protocol rules and you know The state root hashes match it match with all the other nodes So you you see consensus with the network on the public side But you have the option of doing your private transactions affecting your private states on the side kind of thing and another interesting concept is that we allow You from reading public data from private transactions So you can even have a private transaction that reads some data from the public chain And uses that for some calculation or something of course the other way around doesn't work You can't have like a public transaction that reads from private because otherwise That there's no point in in calling it private anymore So I hope this just quickly demonstrate how you could use this in a public network environment I think we might have had a Web not in the past where we showed the public transaction. I'll see if I can dig it And if I find it I'll send it the link But yeah, if you have any more questions about this specific public and private transactions You can find us on Rocker chat and then we can talk a bit, you know, some of the internal details about it um, so yeah, so and Just quickly talking about this topology here. We have three best of nodes running so you can see one two and three here I know that the logs are a bit small But I probably doesn't matter too much at the moment and on the side here I have three orion nodes running each one connected to my best of note. So basically three best of nodes and three orion nodes And I also have one web application running here Which is the web application that we use to manage permissioning rules in basu So that's kind of a cool thing. It makes it really flashy for a demo because Our permissioning rules we have different modes But one of the more robust mode is the mode where all the rules are saved in smart contracts So you actually have a list of the You know the inode url that you expect to be able to connect to your network And also a list of the accounts that you expect to be able to send transactions in that in this network And the cool thing is that because they are stored in a smart contract The management of those rules are really easy because everyone that joins the network Will synchronize with the chain and then have the rules up to date So that that um, we have another mode where you can use like a configuration file to specify things But it only works for it works kind of like a firewall or something because the rules are not really shared between all the nodes So of course depending on the use case one makes more sense over the other But for like a consortium network, especially if you have entities outside your own organization The own chain option is probably a good fit because everything is synchronized on the chain Um, and again, I'm usually I talk Too fast. So if I'm going too fast or if anyone has any questions, yeah, just jump in Because I don't want to I want to make sure that everyone understands. Um, what what's happening here So three nodes, um, I'll start with the permissioning demo. So I'll bring up the Deb here, um, it looks kind of nice Um, hopefully this one is big enough that everyone can see So this is a depth connected to My node and then it is displaying the rules that we have in the permissioning smart contract Um, we're gonna have all the links for like docs and how to set up this yourself later on. Um, but yeah, this is just So this one's up You guys won't be able to follow yourselves now, but I'm going to send all the links later So you can set up everything and here we have basically three pages one with the accounts that we are expecting that are able to send transactions in the network It doesn't mean that the others account won't be able to send a transaction They can try but then all the nodes are going to check The sender of the transaction against the rules and then they're going to reject the transaction because it's a invalid transaction from the permissioning point of view Uh, the same thing for the nodes You can see that I have three rules here and of course we have three nodes allowed to connect So that's the network that I have at the moment If grace decides to start up a node and try to connect to my network Unfortunately, all my nodes are gonna be mean to her and say no, you're not gonna connect and they're just gonna reject her incoming requests And the admins is a concept where you can have special accounts that you promote to admins and those accounts are the accounts that are able to Change the rules pretty much so I can you know, delete rules and create rules here. You can see through this step Uh, and in this case, I only have one account that is the one that I'm connected at MetaMask at the moment this best account one um Okay, so let me bring this one to the side I think I'll start with the node permissioning just because it's um, probably one of the easiest one to do Uh, I will go to the nodes page and I will remove one of the rules. So I think the zoom is making it a bit Okay, this one. Hopefully it's not too small. Is it too small or is it Okay to say it's okay. Yeah, it's a little small, but it's uh Yeah, I'm working out. What's the first two numbers are two six ones. So two six one's going Yeah, so basically each one of these entries correspond to one of the nodes here So what I'm gonna do first. I'm gonna uh Delete one of the nodes from this list basically saying that this node is not allowed to transaction the network Uh, it's unable to pre-remove. So let me refresh the page because if you're running for a while here And let me make sure that I don't have anything From my previous Run through make sure that everything was working before And I'll try again Okay, cool So as you can see here because I'm running a construction network It's gonna say that my fees are zero because there's no point in using, you know gas for this demo here Um, but again, you you could be using this on a public network It's only permissioning in a public networks. Uh, it's interesting because you You can't really enforce that every other node will be running faster with permissioning enabled So it is I don't want to use the word complicated, but it's an interesting use case if you're trying to use permissioning in a public network um In a private network Sorry grace. No and just so one thing I think that you said was really interesting or like worth saying again is, you know Uh, it's pretty, you know, just with a quick button you can remove So a node it's that simple and it's uh And there's no gas so permission networks you can decide If you want to have gas within a permission network Sometimes consortiums think it's valuable. Sometimes they don't But within a permission network you can choose uh within Uh public theorem you you don't get to decide, you know, that's that correct Okay, so what happened here is that I removed that rule and then Using metamask I've created a transaction to that contract And you can see here from the logs that uh, the third node here was the one that uh, ended up being kicked out of the network so you can see that uh It is given this message where it's saying that it's waiting for peers and it doesn't have a connection And the other two nodes, uh, they are still talking to each other. So this one is producing blocks. This one is importing blocks And we we basically we kicked someone off the network using the rules and again This is like a three node network So it wouldn't be that hard to just go, you know into two configuration files and updating some kind of rule Or maybe going, you know into two firewalls and removing those rules and creating those rules But imagine that you had like 200 500 a thousand nodes So, you know keeping everything in sync and you know All the rules the same without a ledger taking care of it. It can be it can be hard So just for fun, I'll try to do the opposite now. I'll try to add that node back just to create another rule here Uh And again, I'm using this depth but in reality, you don't really need to that it's easy to automate that with some kind of script One use case that I've seen that was really good is that You could have some kind of Oracle application querying the rules the contract rules and Updating for example your aws firewall rules based on the state of this contract So I've seen this kind of interesting enterprise application where you have the contract But you also want to have some kind of network layer security So you can have some kind of, you know Application that's going to be querying these smart contracts for the for the up-to-date rules and make sure that your firewall rules Are going to reflect the contract rules. So that's kind of an interesting use case uh, and again after a while the all the nodes picked up the rules so Node three was trying to talk to node one and two, but they were just rejecting it At the moment that we updated the rules node one and two pretty much opened the gate and said yep Node three, we're going to stop talking to you again and then node three is catching up with the network Again, hopefully you get to see that it's doing things again um Okay, let me move now to I think I'll go to the private transaction one just because Um, it's uh, where is it? There you go. I'm sorry. I'm jumping between screens yet So private transactions I just want to show you how we could again in a setup with three nodes send private transactions between them This is really a really really simple example We have this storage contract and I don't know if everyone's familiar with solidity But this is a smart contract in which we can store a number And then we have a function to store the number and a function to You know retrieve the number of course That's probably not a super enterprise use case But it's going to be good enough to show us what we will be doing here And then in my examples, I'll show you how we can So i'm not sure again if this is too deep into the code, but hopefully everyone will be able to follow up Uh, but what we are doing here? Um Forget about the setup code here. So I'll be I'll create a transaction That it's going to be deploying this contract And the interesting thing here is this private from and private for feuds, which are not Regular ethereum feuds what this is saying is that I want to send this transaction from from participant one To participant one and two. So I'm saying that this transaction should be Visible or available for these two participants, right? So node one and two are going to be able to See that transaction And down down the track here. I'm creating another transaction where node two so private for from participant two Is going to be updating the contract with some some value. I think it's five. I think it's hard to call it to five at the moment so Just demonstrating that it's like it goes both ways So I can create a you know deploy a contract that is private between two parties or even more parties And only the members of that party will be able to not only see the contract but interact with the contract That's what I'm trying to demonstrate here Uh, and hopefully if the code wasn't clear If the if the code wasn't clear my nice logs will be clear Okay, cool. Let's see what's happening here. So Um, we sent the transaction and we can see that on the first node We can see the receipts for this receipt of the private transaction with a successful state So that means that my node has successfully processed the private transaction We can see the same thing with my second node And the interesting thing is when the third node tries to get the receipt for that transaction. It is getting like a null response Because the reason is it doesn't know about that transaction, right? No three was never a member of that transaction. So it doesn't know about it So, you know, even if someone Sends this hash to node three or something, you know, it won't have access rate. So it doesn't know that there's something there And we can see here that the second node that's the receipt for the transaction that updated the value And this is the address of the private contract that we've deployed again. It leaves on the private state I'll copy this address because what I want to show you now is that We can read that value And hopefully I've tapped this right. So I'm calling another script that's gonna Call the contract on that address and see what value is saved there Okay, cool again Best of one that's the contract address and the value that is retrieving from the address and the format is a bit weird Because that's like the the way that we are decoding things. I didn't do like a nice print But you can see that it's seen the value five here And hopefully you can see that best of two is also getting the value five And node three even though even though node three knew about this address somehow So somehow it found out that there was an address on that Sorry, there was a contract on that address It doesn't have access with because it doesn't exist on its private state So it's retrieving an empty value here. That's the way that the theorem deals with if you try to call something That doesn't exist basically So even if node three tries to go through every possible You know contract address and tries to find data It's never going to find it because the data doesn't exist on the node three Node on the node three database. It doesn't exist so Uh, and I could I could try going through the logs here to show how this is happening But I think it's going to be probably not that interesting But you can see on the Orion logs, which is that intermediate that that's Cilly really Oh gosh, I can see that work that that underlying network that makes sure of transmitting encrypted data You can see that we're going to have a few methods like Push where it's sending this data to the participants encrypted And you're going to see this one calling a receive So that's when the node is processing private transaction It's trying to retrieve that private transaction And you can see that node three pretty much only has this party info Which is almost like they keep alive in the network. They keep talking to each other to make sure that they're all online But nothing happened on the Orion side here Uh, and I think that's kind of what I have for a demo here Um, I'll stop sharing But if anyone wants me to go back and show something I can probably go back and talk A bit more. Oh, I forgot about showing. Sorry public theory That's yeah, I was getting all excited. Oh, sorry. Sorry. Let me go back here That's the That's the five-second one. I'm feeling gypped. No, that that is really cool. Because I love to see I always Whenever you do this demo, I'm always like it is crazy. You actually see like the send the receive the node stopping talking to each other, you know, I mean I don't know like I'm always it's one of my favorite demos And I keep promising that I'm gonna try to implement like a proper Dep that uses privacy for something interesting, but I keep postponing it So hopefully seeing the logs and the request is not too boring for everyone else You know for permission, we have the depth and it's kind of cool So I I think I need ideas for building like a proper private one that it makes it more interesting So if anyone has an idea, please send it in the chat and maybe next time I can I can implement it Okay, so, uh, running or contribute it. Yeah. Yeah. Oh, yeah Yeah, that's also jaymas plug. Yeah show public theory. Okay, so for running best to all main net, uh It's really easy actually you need to first you need to download basu and have it available for you We're gonna have the links how to do it But by default basis starts on main net. So there's nothing much that you need to configure Basically, you need to say that you're gonna run basu You need to give it a data path Because I mean you can use the default one that's going to be the folder that you are in But in this case, I'm going to give it like a temp um that's who That's who main Or maybe just that's you know And the other one is that you need is this net Method and this one is only needed because I'm running it on my local computer inside my private network, right? I'm On my wi-fi So this is something that we added in basu recently that allows you to you know, ultimately Use upnp to open the rules and the ports and everything that you need. Of course if you're running this on aws or some kind of like, you know Um server that is exposed to the world. You don't need to use upnp That's just because I'm running on my local network But that makes it really easy for people that just want to get like a feeling of running a main net node Locally, you know, we can use this so you don't have to worry about messing with your router And you're creating rules or no static ip's or whatever you you don't have to worry about it It's going to take care of everything so If you do this, hopefully it won't take too long for us to see a few ps Uh, of course, we're not going to sit here and watch until we find all the ps and everything Uh, oh, of course, it's sorry Uh, I I I didn't stop my other nodes. So it's trying to get the same port and everyone else Okay Because I'm using the same I was going to say I don't know that much but I see errors. Yeah Yeah It's just because by default uh basso uses port 30303 for all the p2p connections and then um Come on, it's just taking a while to shut down everything and then because I was running the other nodes I was running one on the on port 30303 the other one port 40404 The other one 505 05 so it's just complaining that it can't uh use the same port so Did it stop so these are Probably stopped my Orion nodes as well Yeah, that's a good idea. Come on. Any questions or comments? Oh, yeah, if anyone has a question while I I know we only have five minutes left. Well, we'll end and just we'll do a 30 second end So we'll let Lucas have all of the rest of the time Uh, looks like Greg. Yeah, your question. So we're looking at uh, some kind of client the bezel client Trying to connect to the ethereum mainnet. Is that Yeah, that's the the final part of the the demo. Yeah So if I want to send gas, how do I go about it? If you had one say that again, sorry I want to send gas isn't the gas like a ethereum's main currency. Mm-hmm How do I go about it? Also, if you want to make a you mean if you want to make a transfer between accounts or something like that Yeah, I want to send gas to another address through best Oh, sorry. Sorry. Sorry. I I think I I said something that was wrong. Uh, the currency is actually called ether Not gas. I think that's what um, that's why I was confused. So the the the unit of like the currency currency in ethereum is ether So what you're asking is how you could send ether to someone else like another account or something Is that your your question? ether gas Unit of account Yeah, so it's probably if they want to send it to another address through So, so you you totally can so you can use so one of the things that you it's probably gonna make your life easier It's using a wallet application to keep track of your account and your keys and things like that So you probably saw that I was using um metamask here. So metamask I don't know sharing my screen anymore. Am I sorry, let me share the whole screen again um So for example here I'm using metamask with some accounts, right and you can see that they've got like some fake ether here I'm not a millionaire. I don't have that that much ether for real Uh, but if you are connected to mainnet you you you could use metamask to send a transaction through your best node Right. So the node itself is not responsible for managing your accounts and your Your keys the node is what it's almost like the plug in so you can connect to the network if you want to transfer If you want to transfer uh, ether or if you want to deploy a contract or anything that's going to create a transaction to interact with the network You probably need a application that's not deployed the the contract or some kind of wallet to to make it easier So for example here If I connect to mainnet You see that all my accounts now have zero ether. Unfortunately But uh, you you can use it, you know, you can use uh Things like this, you know to transfer like 10 ether or something and you can see that like 10 ether will be $18,000 nice If I could transfer that I would send it to everyone but unfortunately I don't have it So I cannot send until I have a balance basically, uh, correct. Yeah, correct And um, you the reason that I have balance on my accounts on my fake network Just because I started the network with accounts that were rich pretty much So I could you know, so I had enough to demonstrate stuff But uh on a real uh, if you know on mainnet You you create an account and then you probably need to fund your account if you if want to use it for Some kind of uh transaction or something like that I hope that answer your question And why I'll just run the the demo here, but if you're free to follow up if you have any any more questions I'm good. Thank you. Cool. So we can see here again Setting up the data path just because I want a specific folder to save this data and the upnp because I'm behind my router But instantly a lot of things coming up on screen, but we are already trying to talk to four peers here So they are all peers from mainnet. We're gonna keep talking to them Some of them might not want to talk to us because we are new to the network And they they are actually interested in getting blocks from us instead of giving us blocks So it might take a while until we actually find a good enough group of peers and start synchronizing with the chain but um That's why I said it was a five second demo. I just wanted to show you guys that by default Bestu is a mainnet client. So all the permissioning and privacy Options that I was showing everyone was they are all optional. You don't have to use them You can just join mainnet join, you know, some of the public test networks to get started with ethereum get your hands Get your hands dirty That's a good, uh, I think way to wrap up. I know we have two minutes. Um, we'll stay on an extra couple minutes If there are any other questions, um, we hope you really enjoyed this. We would love you to check out the each of the Projects that we shared cactus and basu I'll drop a couple links in the chat We have one final poll. So if you thought this was interesting, we want that feedback We want to know what you're interested in learning about Sorry, I forgot to stop sharing. Oh, no worries. Um, you can see that best is already downloading. Um, it's blocked and stopped off It's kind of cool. I'll stop sharing out No, it's so cool. And I think yeah, we want, you know, the hypervisor community to be more familiar with ethereum and comfortable with it And understand how it fits into the hybrid and enterprise blockchain ecosystem. So, uh, you know, always just looking for Um, you know, any feedback you all have, you know, we're all on rocket chat. Uh, so feel free to message us on rocket chat Uh, and go from there and looking at this last it looks like Use cases are the winner for our next section. So look out. Uh, we'll be getting that schedule to the next month or two and and I want to thank peter and and lucas for demoing and and uh, leading the charge much appreciated guys, uh And uh, we'll see y'all soon. Uh, but yeah, any other final questions, feel free to speak up Hey, grace, is this limited to just quorum? Or any of the ethereum consensus? stacked um The so are you asking if we'll talk about different consensus products at at a next session Well, I didn't know if it was just limited to uh hyper ledger, but I think I just answered my own question. So never mind Yeah, no, no, no worries. Yeah, no, so we'll um, probably the next session. We'll talk about uh, basu and cactus use cases and different networks that are running uh, both of them Uh, but consensus does have we have our own kind of webinar series that talks about All of our different products and offerings and all that but this audience will definitely be hyper ledger focused But highly encourage, you know, there's tons of great reuse sources Through consensus as well as hyper ledger. So if you're looking to learn more, you know, you're you're definitely in the right place Thank you Great I'm actually a mainstay on both the hyper ledger and the consensus. So Perfect. Okay. Yes That's exactly what I like to hear We want to stay agnostic. So we got to learn everything Okay, well, I guess I'll allow that now Thanks all we appreciate it. Uh, I think we can wrap up now. As we said email rocket chat. We're all available Really appreciate it