 Welcome everyone. Welcome to the Hyperledger Global Forum. This is a breakout session where I will show a really quick but live demo of Hyperledger Cactus, along specifically an example application of ours. So the tool title is Blockchain Interoperability Demo with Cactus. My name is Peter Sromadivari and I'm a Technology Architectural Center. And I'm also one of the maintainers of Hyperledger Cactus. So with that said, let's look into the demo. Just before I actually show it, I just wanted to quickly outline the business logic behind the demo application, which is completely made up by me. And it's very simple. Obviously not something production ready, but it should demonstrate well enough the points that we're trying to demo. So the idea is that in the application there are three different ledgers, basic or fabric. And the application itself needs to provide a consistent view of the data that's stored on these ledgers. And at the same time, it needs to be able to insert data into all these ledgers and make it so in a way that the data contains references to each other. And so the supply chain app example that I'm going to show has this story behind it that's about tracking bamboo tree harvests, then tracking bookshelves that are made out of those, and then finally shipping the bookshelves somewhere. And we'll show that an application can be developed that shows the data for all three of this in a single view so that enterprise application users have sort of a convenience factor in there. And the idea behind hyperledger cactus that it makes it hopefully easier to develop an application like this compared to if you had to make it from scratch and if you had to instruct the ledgers individually. Demo, we have two main parts, the front end application and the back end application and the ledgers. And I will show off the front end first and then really quickly highlight the pieces of code that actually make that happen. And then we conclude demo and I'll ask if anyone has any questions. Finally, before I show it, do try this at home. This command can be used in any terminal that actually has Docker installed and it should just work. I did this before the demo and now I am going to step over here. You can see that localhost 3100 has been loaded. And we have bamboo harvests, bookshelves and shipments. And I can create, yes I can create a harvest that is just prefilled with dummy data. And when I hit insert or submit, it actually sends the data to the core ledger stored in a core smart contract. Same thing I can do with the bookshelf and I can associate a record that I just created to this so that there's a connection between the two. Now this gets saved onto the basic ledger and then finally I create a shipment that references the bookshelf. So now we are shipping the bookshelf. Obviously this is very, very oversimplified, but I want the demo to be quick. So there's a record and the magic happens behind the scenes. Now we have data on all three ledgers and we can see two. And let me just quickly switch over to the IDE with the screen sharing. So here we can see the data model in solidity for the core room and the basic contracts. You can pretty much see the same thing that goes on the slides. And then here's the bamboo harvest repository contract itself, which is again very simple, but it does something and we have the ability to call this contract straight from the browser for the Cactus REST API. So when I clicked submit in the browser just now, this is the code that ran. It presented a model. I entered the details and then it called the API back by Cactus to insert the data. On the back end, this is what happened. The API client further passed along the information to the core connector that we have to invoke the contract, passing in additional metadata that if you're seasoned with solidity that you probably guessed is needed, such as the invocation type and the data for the invocation, signing credentials, etc. And so after hitting that back end point, the execution reached the actual cactus code that is the core connector, which has this invoke contract method that takes in a request of invoke contract and then returns a response of invoke contract. And then this is where the magic happens. Basically this just calls the smart contract that I showed earlier here. Then this gets executed, then the response gets passed back all the way to the browser. And the point I wanted to make here is that we're hoping to simplify developing applications like this and obviously much more complicated ones as well. And so if there are any questions about this, we run daily pair program sessions where anyone is free to dial in and ask about the code whether they are contributors or just trying it out for the first time. It doesn't matter. Everyone's invited and the little fine print there is for the next two or three days for the duration of the hyperlegical rule before these sessions are canceled. But I think come Friday, we resume them every day. So I invite everyone to join us there and ask questions as well. And I will now open it up to Q&A. Hi, Joster. Sorry if I'm butchering that. Thank you. Yes, you're definitely hard at work on other platforms. We actually also support quarter, but it hasn't yet been added to the example. So that's why it wasn't part of the demo, but we are heavily focused on quarter as well. We want to make sure that we support that. Yes. Also, there are efforts underway to add Saative. Also, we have an internship or a mentorship with Hyperledger where someone joined as a mentee and they are going to work on Iroha integration. So that's also going to be great. That should come out in a few months once the internship concludes. Thank you for questions, by the way. You're most welcome. Is the interoperability group still there? Yes, I think it still exists. And we have four more minutes for questions. Of course, you can reach me after the presentation as well. Communication between Hyperledger to Hyperledger, is there any standardization? Well, it depends on what you call standardization exactly, but there are various efforts. On the way, there are actually multiple labs being proposed that are also aiming to be projects that are aiming for interoperability. And there is on top of that an ongoing effort for Cactus and those projects to work together in some shape or form. So if you want to be a part of that discussion, then I recommend joining the Hyperledger architecture work groups mailing lists. No problem, Bala. Yeah, there should be a button to be able to speak, but to be honest, I'm not sure. This is my first time as well using this platform. Patrick Bernal. Hi, thanks for the presentation. Is it possible to have some kind of observer pattern, e.g. actions in one chain trigger events or smart contracts in another? Yes. Yes, we are planning on adding that as well, as in adding that to all the ledger connectors. We recently added WebSocket slash socket IO support to the API server. So while you cannot do that today, but that's heavily underway. And that's not actually true either. I mean, you can do it today. It's just going to be a little more work than what we plan on providing. We plan on providing a lot of convenience, but it is possible as of today. No problem, Patrick. And thank you for Takuma. He's also one of our maintainers from Fujitsu. So he appears to have more of today information about that than I do. And we only have one minute left. So ask away. We probably have time for one more question, then I have to close the session. So we'll talk more about that in the upcoming session on Thursday, but I can tease it now. We are hoping for it to be this autumn. Yeah, thanks for the great questions. And that's it. Time's up. So this was the breakout session for Hyperledger Cactus. And thanks for showing up. Bye, everyone.