 So we are delighted to share our Hyperledger in-depth webinar with you today. It's the webinar will be run by BTP on building provenance solutions using open source technologies. We're very excited about today's presentation. My name is Tomás Sedej, and I'm an ecosystem manager at the Hyperledger Foundation. Today, I will get the chance to introduce you to our panelists, and also take you to some housekeeping as well. Today, as usual, if you attended any other Hyperledger in-depth webinars, we have some housekeeping. So first of all, we would like to emphasize that all are welcome in our Hyperledger community, and we are committed to creating a safe and welcoming environment for all. And so please follow our Code of Conduct when interacting with one another on this webinar and also when interacting with other people in our community as well. You can find our Code of Conduct on our website and on our Viki as well. All the Hyperledger webinars are held under the Linux Foundation and the Trust Policy, which you can also find on our Viki and on our web page. And we are recording this webinar, and the recording will be available on the webinar library along with the slides, which you can also download and revisit later. It's also being livestreamed on YouTube, so hello everybody joining us live from there. Now, we encourage these sessions to be as interactive as possible, so please stay active and get the most out of this session. So the more questions and interactions, we will have the better session it will be for everybody. Feel free to use the Q&A box or type your answers in a chat and those of us joining us from YouTube. Also just use the YouTube comments and we will relate them to our panelists here today. You are also very welcome to raise your hand and I will unmute you, and then you are very welcome to speak up as well. Now, without further ado, let me introduce Cila and Duncan. Cila is a Chief Strategy Officer at BTP, and Duncan is a CEO and co-founder of BTP. And we're looking forward to the session. So Cila and Duncan, over to you. Thank you so much, Thomas, and hello everyone. Thanks so much for joining this webinar from all parts of the world. We are a company called BTP. We've been members of the High Pledge of Foundation for years. Some of you might know us as a blockchain DevOps company, which we were. But we decided last year to move, obviously, using everything that we got, that we did develop, but also building new things and decided to move up the stack and become a digital provenance company. Obviously, blockchain is a huge part of it. But that's what we want to talk to you about today. And this presentation, well, this session is going to include a demo as well. So first of all, OK, I'm going to share my screen. Sorry I haven't done that. This is OK. Yeah, OK. So first of all, I always think I need to share this one. I'm sorry. I'm sorry. Just give me a few seconds. Sure, take your time, Sila. Yeah, I'm sorry. OK, there you go. OK, OK. Can you see my screen now? Yes, looks good. OK, perfect. So I always like to, when we start talking about provenance, I always I know it might not be necessary, but I always like to set the language, like what we mean by provenance, what we are talking about. And again, the term provenance for many people, it's often associated with the art world, but that's maybe that's where it sort of originated. But we believe that recording and sharing provenance information can provide significant value across many, many industries. And you can talk about different assets. It doesn't have to be artworks. It can be diamond. It can be a medical implant. It can be commodities, money, whatever. So a wide range of assets. And in essence, and very simply put, provenance captures the origin and the life journey, including the ownership history of any physical or digital asset. And why we think it matters? I guess this is not a surprise, but first and foremost, it can provide transparency and trust across a wide range of markets. It can help us to fight fraud, counterfeiting. It can ultimately, it does result in improving consumer safety. Also, businesses can use provenance information to show or demonstrate that their products are environmentally friendly, that they have been produced in a socially and ethically responsible way. And also, it helps to make supply chains more resilient. So this is why it's sort of bad on Chronicle. Chronicle is our answer to provenance. We have, I guess, we believe in the strength of provenance. We believe that it is a force for good. We believe that it can provide significant value for many organizations, also consumers. And our sort of high level of value proposition would be that it does bring transparency and trust that I think many markets lack of. And what we are trying to do here with Chronicle is that just to make it easy for all types of organizations to record and query immutable provenance information. And that's done on a distributed ledger. It can be about any asset, as we discussed before, physical or digital, in any domain, any market, and across multiple parties, which is also important. And so we did launch a product which is open source. It is backed by a blockchain, and it is domain agnostic. So a little bit about this history or about the story of Chronicle. A while ago, we sort of identified that this was a really powerful area. Maybe the first evidence when we sort of created the Chronicle project, or CPTO, created the Chronicle project was at the beginning of, well, it was in 2021, beginning of 2022. And then we started to investigate about provenance, about its importance, about the value that the income provides, but also talking to our industry peers, talking to potential clients about their needs, requirements. And we started to talk about provenance more and more at the Hyperledger Global Forum in 2021. I did publish a post on whether provenance might be a killer application for blockchain technology. And then last year at the European Blockchain Convention, which was held in Barcelona, we launched our product called Chronicle. We made that product generally available a little bit later at the Hyperledger Global Forum in Dublin in September. And our latest news that we've always built Chronicle on open standards, open source technologies, but we finally open sourced the whole product. And that was announced early this year, this month. So again, Chronicle, it is open source. It is backed by blockchain. It is domain agnostic. It's built on a number of open standards and open source technologies. Just to mention a few, it's the Worldwide Work Consortium Prove Ontology specification. We also use the JSONL-dealing data format. We also make extensive use of GraphQL, which is our data query language. And in terms of the ledger that backs Chronicle, it's for now it's Hyperledger SolTooth, which we know very well, but we are also looking into using other distributed ledgers, both permissioned and permissionless. Something to know about Chronicle, it is domain agnostic, but it is easily configurable. So we basically enable organizations to capture and record and query all this provenance information for their specific applications. So we do deliver this by, as mentioned before, we used to be more of a company on the DevOps side of blockchain. We have this powerful management and operations platform, Sexton. So Chronicle is then delivered by this platform. And this platform basically facilitates the deployment of Chronicle, its management, and also the integration with enterprise systems. So this is how it looks like. This is the stack. And just a little bit, just talk about why we think open source is so important in terms of Chronicle and why we basically put our money where our mouth is. So we do believe that proprietary code just doesn't have to do anything with the blockchain stack. So I personally believe that when it comes to blockchain, it's not just the use that is multiparty, but also its development. So we do practice what we preach, and it's not just like building Chronicle on top of open source technologies, but also making Chronicle open source itself. So as you can see, just from the computing infrastructure where we make extensive use of Kubernetes, for now, the backing ledger for Chronicle is Hyperledger Soutooth, as I mentioned, also looking at other open source distributed ledgers. And then as you can see, Chronicle has these two layers, because Chronicle is a domain acoustic platform. But then you can develop domain-specific applications on top of that using the tooling that we provide. So you can do it yourself. We can do it with you, or we can do it for you. So there are different options. And then as you can see, GraphQL is super important to us. That's the interface that we use when you have to capture that data for your application as well as querying it. So this is Chronicle. And then we have prepared a demo for you. And I will let Duncan talk a little bit more about some of the components that we're using, and also talking about how do you model a specific domain and how you can use some of the tooling that we've provided. So I don't know, over to you, Duncan. Thank you. Thank you very much, Chilla. Hopefully you can see my screen now. Yes. So yes. So in terms of the demo, I think a couple of things that Chilla said that are extremely important here. One is, obviously, we've built everything on open standards, open source software, and we ourselves are contributing Chronicle as an open source project, because there is no room, in our view, for proprietary code in the DLT stack, in any DLT stack. In terms of the way Chronicle itself breaks out, exactly as Chilla said, the platform itself, if I step on, is built using the PROV-HO, the Providence Ontology from W3C, which if you're a computer scientist, you're totally at home with this, you happily chat all day to your family about entities, about activities and agents. When you get up in the morning, you don't make a piece of toast, you actually get an entity, which is a loaf of bread, and you put the slice in the, no, of course you don't. You talk about loaves, you talk about toast. So one of the important things that the engineering team realized very early on was that in order to tackle specific problems, you needed to adopt the vocabulary, the language of the domain that you were interested in, whether that was the world of art, the world of corporate actions in the financial services, or the example we're gonna look at in a bit more detail today, the world of manufacturing. So the key here is to move from the abstract notion of entities or assets, agents and activities. So essentially, what are the assets or entities that you're concerned with? Who are those agents and what are those activities? So if we move from the sort of abstract into a more concrete world, then we can look at the domain specific ontology, in this case, manufacturing. So in our world of manufacturing, what are the things that matter? The things that matter in this example are the items being manufactured. So the assets or entities in Provo speak will be items, but also we're gonna show you how you can also model the certification of those items and this is an important sort of real world use case that we're working on, looking at the certification of aircraft parts to ensure that throughout their lifetime, because they may have been manufactured decades ago, put in a warehouse, you can't rely on them being fit for purpose unless you routinely test them, retest them, validate they're okay and issue certificates accordingly. So it's not just the initial manufacturer of an item that we're concerned with, it's actually the ongoing activity of certifying it. And so this is the language we will be talking about. So instead of talking abstractly about assets or entities, agents and activities, we're gonna talk about items that we're manufacturing, certificates that we're issuing, contractors, the people that are actually or the entities that are actually manufacturing these or certifying these. And there's an example which we would commend to you because everything we're doing here not only is Chronicle itself open source, but these examples are open source as well. So what I'm going to do at this point is just briefly look at how one actually sort of graphically, so to speak, starts to sketch out the relationships between these various things. And then what we'll do is actually run a concrete example of this. So if I just, so in terms of the manufacturing, so this is one of those provo diagrams, but what we're doing now is we're saying, you know, an item manufactured, if we look on the right hand side has a batch ID, it is derived from the abstract notion of an activity, an item, this is the item being generated, has a part ID, it is derived from the entity. And of course the contractor, contractor in this case has a company name and a location, but it is derived from the agent. And the contractor in the role of manufacturer is then associated with, in this case, a specific activity, the item manufactured activity. Similarly, and obviously these slides would be available afterwards as well, so you can sort of look into this in more detail. Similarly, when you look at certification, you'll start to see a pattern emerging here where now the activity is item certified. The certificate is the entity that is being generated as a consequence of the certification process. The contractor is now involved again, but this time their role is the role of a certifier, not a manufacturer. And they're using, again, this is in the ontology, they're using or referencing an item. So the item now exists or will when we've walked through this in a second, but now you have to certify it. So whereas manufacturing is a process that can be operated in a batch context, so hence the notion of a batch ID. In the case of certification, each certification activity is certifying an individual item. So that's kind of motivating what we're doing. So now if I break out of here and actually go to the example guide, so what we have here, basically all of our examples, and we're gradually adding to these, some of the engineers are working on examples for us. Sorry, let me go to that. And we obviously welcome contributions from other people, but so far we've got five examples, worked examples, and the one we're looking at today is manufacturing. And we're gonna look at the guide but also look at the domain YAML. So what's interesting about this is the actual domain specification is really quite short in general. I mean, obviously, it can become more elaborate, but essentially what you're defining here are a set of attributes which you'll be referencing, then the agents, the entities and the activities. So that is literally what is fed into Chronicle. And essentially what we then do is we compile and create a Chronicle domain server. So in other words, this is a piece of technology that will then present a graph QO API that lets you interact either to write or store or record information or query information. And I'll get into what that means in a second, but all of that work is done in the background for you. And if you look at the Chronicle examples, the read me, and you can do, everything I'm showing you here, you can do yourselves. The read me will just describe a small number of prerequisites, prerequisites. Obviously you need to clone the repo and then literally just run through a simple make process which will build your, and typically we've run this standalone one with testing or experimenting, but of course in a real-world environment, it's running against hyperledger sawtooth. What it's giving you then is the ability to then interact with your domain. And this is quite important when you're developing it because you want to be able to experiment with it. And so in the true sense of here is something I made earlier, here is something I compiled earlier. At least I hope I compiled it earlier and I haven't broken it. Otherwise we'll be sitting here for a few minutes while it actually rebuilds. So this is running the manufacturing example and it's running it locally. So what does that mean? It means we're serving up the GraphQL playground. So if I move that out the way. So in terms of the playground, I'll just refresh this. The idea, and by the way, in addition to being members of the hyperledger foundation and the CNCF, the cloud native computing foundation, we've also joined the GraphQL foundation. Why? Because these are all key technologies, Kubernetes, hyperledger sortus and the hyperledger foundation family of projects more generally. And then GraphQL, these are very important to us. So of course we will support them and contribute to them where it is appropriate as well as developing software ourselves. So we're a contributor to the hyperledger sortus, distributed ledger within hyperledger and within the hyperledger foundation I beg your pardon. And of course, Chronicle itself is now something that we have open sourced ourselves. So the first thing you'll notice is you want to run, this is really just to see what's happening in the background. We're just gonna run a simple query that will allow us to just see what activities going on in the background. So the first thing I want to do is define a contractor on this, because I'm gonna define two. One is Helicopters PLC. We're very imaginative at BTP. And the other is ACME corp. An ACME corp of course is very, very famous. I'm sure you guys have seen many cartoons featuring that and it never goes well. So I'm probably attempting fate here. But if I run this, now important point, Chronicle is here to record provenance information and then allow you to store that and then query it. And you can query it in real time. You can also spin it out into reporting and analytics. And there's a whole roadmap for Chronicle that looks at sort of advanced features like that. What I would stress though is it's not manufacturing or certifying anything. So if you have an existing business process, the whole idea of Chronicle is to capture the key points along that process where you need to actually note that something has changed, the provenance of an asset or an entity has evolved in some way, shape or form. So what we're doing here is we're telling Chronicle, here are some key facts that you need to know about. And so we've now defined, we've now told Chronicle there is or there exists an agent which is the Chronicle colon, agent colon, helicopter, PLC and also for good measure ACME corp. And so we can just do a quick query here. Tanken, excuse me for interrupting, but we have some questions from participants asking that the text is too small and faint and if it's possible to increase the font size or maybe just maybe just zoom in the screen. Is that okay? That's great. Yeah, I think that's much better. Okay. Thank you very much, Tanken. Okay, so apologies. So we've just told Chronicle that there are these two contractor agents, helicopter's PLC and ACME corp. And the one we're gonna focus on is helicopter's PLC. But we can also just run a simple query that says, okay, Chronicle, what contractor agents do you know about? And the good news is it knows about the tool I've just defined. So I feel like the demo is going quite well at this point, but I don't wanna get too ahead of my skis. So we talked or I showed you a minute ago the diagram for an item manufactured activity. Again, we have to tell Chronicle that we are now going to define a specific instance of the item manufactured activity. So by specific instance, what I mean is we're gonna give it an actual batch ID attribute. So we'll have an external ID. So that's just the way it's referred to within the Chronicle system, but we'll also give it a batch ID. So this is run 001. And we're also gonna associate this activity with helicopter's PLC. So what we're doing is we're actually drawing that diagram effectively. But we're doing it by in this case, writing to Chronicle, GraphQL is this notion of a mutation which is essentially writing to Chronicle. And when we ran a query, a query is a query is a query. So now Chronicle knows about this activity. So if you imagine this in the context of a factory, you're about to embark on this batch manufacture process. So what we've done is record the fact that this is happening and it's associated with this contract to a helicopter's PLC. Then the next thing you do, and there are a variety of different ways that you can sort of batch these things up, but you then typically say, right, this activity is now going to start. It's always a good idea to sort of bookend things. So we're gonna start it. We're then going to, in this example, run a very small batch of two rotor blades. One has the part ID run 001, 001. Again, this is pretty straightforward, but we're then gonna say it's generated by the activity, rotor blade make run 001. So we're sketching out this, you know, that ontology and we're then going to run a second define the fact that we're creating a whoops, that's a little bit extreme. Hang on, how do I get out of this? I know you said people are struggling to see it, but that was, there we go. So now if we do this and then we'll end the activity, what we've essentially said is that this instance of the item manufactured has created two or recorded the creation or manufacture of two rotor blades, each with its own unique part number and each associated with that specific instance of the item manufactured activity, okay? So now we're going to take one of those. So we've manufactured these now, I'm gonna come along and I'm gonna do a quality assurance or certification. So unlike the item manufactured, which is a batch activity, items certified as an activity always deals with a single item, in this case, rotor blade. So if I look at this, the first thing I'm gonna do is define the rotor blade certification activity. I'm giving this a number or an ID, I should say. I'm also associating it again with a contractor with the helicopter's PLC, this time in the role of a certifier. So I probably glossed over that when I was talking about defining the item manufactured activity where we defined the role of helicopter's PLC as the manufacturer. So here in the case of the certified activity, their role as a certifier. So you'll begin to see the pattern emerging here. And by the way, I hasten to add, in real life, you do not do all of this typing stuff in or cutting and pasting stuff into the GraphQL playground. A lot of this is done, obviously through APIs and a lot of it will be done automatically. So machine to machine. But having defined that activity, the next thing we need to do is actually, again, go through the process of certifying a single rotor blade. So here what we're gonna do is we're going to start the certification process for the first of our two rotor blades. We're gonna define the identity of the certificate. We're gonna explain that that was generated by this activity that it uses that it's using both the certificate and the blade. And finally, we're closing out that activity. So if I now run that, what we're essentially doing is we've now recorded the act of certifying one of those two manufactured rotor blades. So the interesting thing then is we can then query and say, and we can say to Chronicle, okay, so tell me about each of those rotor blades and tell me whether in fact, or indeed it has or hasn't been certified. And so if I run that, what you will see here is that the first rotor blade was both manufactured and certified. The second though was only manufactured but has yet to be certified. So essentially, the next time we run this another item certified activity and this time certified the second of these, of course that query will then be very different. So I'll stop there in terms of the interaction because it becomes somewhat repetitive. But just to explain what I've been doing, I've actually been working through the manufacturing example working through the guide. Oops, sorry, has it logged me out? Can't have done, hang on a second. All right, things were going far too well. Let me go back to here, hopefully this thing will work. Yes, okay. So what I've done is I've worked through here the recording of the creation of the contract, contractor, the item manufacturing, the item certification and so on. So essentially what I did earlier to prepare for this was just cut and paste these snippets into the playground. I think that's all, Chilla, that I wanted to demonstrate. And maybe it's a good time to sort of turn this over to questions that people may have. And of course, yeah, just in terms of where to go to find out all this good stuff, we've got links for that as well. So if I just step onto. Yeah, resources. By the way, this is a very simple example. I mean, this gets, this can get much complicated than this, right? So with more agents, more activities, more items and so on, so everything can be sort of recorded. This is just a very simple example of what can be done. But it's complicated enough for me, Chilla, trust me. For a demo perspective, definitely. So Thomas, that's the end of the presentation and demo. So we're very happy to sort of open out for questions if people have any, go over anything else that may or may not have been clear. Yeah, sure. Well, first of all, thank you, Chilla and Duncan. And yeah, so we do have a couple of questions already in the Q&A box and in the chat. So first of all, Arthur has raised his hand, so I'm just gonna unmute him. And Arthur, you know, please let us, there you go. You just need to unmute yourself now and you can ask your question. Okay, Arthur, are you still here? Yeah, we can hear you. He's on mute. He's on mute? Yes, he's on mute. Okay, Arthur, we can, you know, let's go with Jeff because he also had his hand up and we can try again later as well. So, Jeff, would you like to go ahead? Hi, Jeff. Hi, Jeff. Oh, can you hear me now? Yes. Actually, I put my question in the Q&A but I was interested in day and ownership and I remember exactly what I wrote back when we started but who owns the data in that case when using the tool or collecting the data entities start coming in? So in the case of a contractor that's been hired by a manufacturer and the contractor is generating data that goes in and then the manufacturer has their data. Who's the owner or can you set up, can a contractor set up themselves to only see certain data in here or does the manufacturer own everything in the data? Jilla, do you want to give us this? Yeah, I mean, in this specific case, I just, so the contractor is the manufacturer. So it's, yeah, we did that very simple. So it's just one agent. Yeah, that would be the owner of the data but you can preset who owns the data. So again, this is when it becomes like a really multipart scenario where more people can write as well as read the data you can preset who owns what. So if there's a manufacturer that's hired the contractor to be a manufacturer for a specific let's say a high tech item that's proprietary and they want to put their data into the system can they protect that from the manufacturer that's hired them? So yes, I mean, at the end of the day Chronicle is a piece of software. So what the engineering team is doing and obviously doing in the open is actually adding support for OPA for the Open Policy Agent technology. And so what that will allow for is very fine grained control over access to any aspect of the underlying Chronicle system. So the data itself of course is stored very securely on Hyperledge or Sawtooth but it's the ability to then actually interact with that and actually access some or all or none of that depending on your role. And that's very important in the context of a multiparty scenario. There's another project we're working on we can't go into too much detail but again, it's about sharing in a very carefully controlled way information about the safety critical aspects of energy and utility infrastructure. So clearly that's not something that should be just available to all and sundry. So and again, this is also where if a regulator is granted permission to see information that may also be filtered in various different ways. So the short answer Jeff is that is being built into Chronicle as a separate layer using OPA. Somebody just asked if we could post the Chronicle. I'm just about to do exactly that. So everything is under GitHub on B2P Works. So I'll just pop that in the chat for you. So under B2P Works, you can see Chronicle itself and you can see the Chronicle examples. So the examples James were under, sorry, the demo I picked up on the manufacturing example was under Chronicle examples and I happened to pick on the manufacturing one. So Jeff, if that answers your question we're happy to try and go back to Arthur. I guess the shorter answer would have been explain the data granularity and ownership but you did a good job. Thank you. Well, I'm always, why give a short answer when I can give you a long surrounding? But I wanted to make the point that OPA will feature very heavily. And again, it's building on an open OPA as itself an open schools project. Yes, that's good. Well, thank you, Jeff. And thank you Duncan. So let's see if Arthur is back. Yeah, we can see Arthur. Yeah, he's muted still. He's muted. Okay. Okay. Arthur, if you would like to ask a question later you can just pop it in the chat and I can unmute you again and then we can go from there. Because we do have a couple of more questions in our Q&A and also in our chat channel. So I'm looking at the questions. So Natish, hi Natish. Can we see the interplay between Chronicle and Hyperledger? I presume by Hyperledger, you mean Hyperledger sorties. So as I said at the beginning in this demo I was using the standalone in memory version or demo mode for Chronicle where it's actually running just on my laptop here. In practice, of course, you would then be talking through to, I don't know if you know the Hyperledger sorties architecture, but the core component that actually sits on the backend is a transaction processor, which loosely speaking of, you can think of as a very, very sophisticated smart contract, but it's far more than that. It's essentially captures the business logic. So that's the transaction processor is essentially what the Chronicle platform is talking to and that implements all of the logic in terms of then capturing the core information, storing it using JSON-LD as the format. Because one of the good things about Sawtooth is it lends itself to, depending on your transaction family, you can choose whatever format you want in order to store the data. Of course, ultimately it's stored on chain, but you have great flexibility in terms of the way in which you store it. And again, that's why we chose, the team chose JSON-LD as the correct format for what we're trying to do here. So I can't, in terms of seeing it, I'm hand waving, but please, I'd say do two things. Please join the Slack channel. We can put the invite to the Chronicle Slack channel in the chat here and it's also available as, it's one of the links, but let me just copy that now. And then you can chat to the people that really know what's going on, which is not me, or for that matter, Chila, although she has a pretty good idea of what's going on, but it's actually an opportunity to then talk to the engineering team that have actually sort of created this, led by our co-founder and chief product and technology officer, Kevin O'Donnell. So I've just put the link there to the Chronicle Works Slack. So please join and ask questions there. The link did not appear in the main chat. I will repost it. Just have two hosts and panelists up, you just need to change it to everyone. Sorry, sorry. Can you make sure that that happens with the... I did it. Yeah, I'll do it as well. There we go. My apologies for that. So do you have an example in the supply chain area? Was also a question from Nitesh. We're working on, we don't have a worked example available in the Chronicle examples, but we'd be very happy to talk to you about that. Again, remember, this is not replacing the existing business processes within a supply chain. It's actually reinforcing those processes by capturing the core information at key points in the sort of life story or life history or life cycle of an asset. And that life cycle, that life story, that could be because it's moving through time and space as in a supply chain or it could be that it's actually it's more a logical change, a change of ownership or something like that. But yeah, please join the Chronicle Slack chat and we can talk about how one would go about doing that. Yeah, actually the manufacturing example can evolve to a supply chain use case when the actual item is procured, which is also data that we can capture and record and then query. Yeah. Do we have any more questions Thomas or... Okay, I think that's it. Alfonso asked about if we can share the chat links and I believe you did Duncan and we also have the links in the slides themselves, right? Yes. Yes, we did. So just to let you know that we will upload the slides as well in our webinar library so you can also download them later from there as well. And then we had another question from Kent in a chat and he was asking if these demos based on vanilla sorted plus LNDB plus vanilla smart contract and can you show the sorted block with this data? Where is that question? It's in the chat. It's not in the Q&A. Oh, I see. Yeah. The short answer is when you say vanilla sorted, absolutely everything we're doing here is in the open. The one thing to bear in mind as a company having worked with sort of the hyperledger sort of technology over a number of years if you want to look at the precise version of hyperledger sort of that we're using that is also available, it's not a fork but what we have done is we have done a number of quite significant improvements which allow us to then provide hyperledger sort of as a distro. So a distro, any of us not apologize you probably all know this but open source software on its own is not terribly useful to most consumers because it's very raw. It's great for developers but if you're an enterprise for example you want to consume a well-defined distribution of that software. And so hyperledger sort of is a great example of that. We build and package it and run a whole bunch of security audit and so on. So it's vanilla but with some hardening design for its use in production. But there's nothing hidden, there's nothing proprietary this is not open core, it's there for all to see. I'll come to the Q and A question in a second. And in terms of LMDB, one of the things that we've actually done to improve performance is actually provide support for ROXDB. But again, this is something that is completely open and transparent and will at some stage be contributed upstream to quote unquote the sort of the hyperledger project itself. Hyperledger sort of project itself. So let me just find a link to that for you while I'm here. So you can go and look at that. But it's very important that we made that change and added support for ROXDB because of performance issues that we were encountering. So just give me a second. So everything that we're doing with with Sawtooth and Damo on Sawtooth and a bunch of other things is in a GitHub. And this time I'll try and post it to everybody. But if you go to the blockchain TP GitHub org and you can browse to your heart's content you'll see Sawtooth core, et cetera, all there. So anything you're interested in knowing about in terms of what we've done to improve the performance and so on of Sawtooth is there. In terms of the transaction process or code that's within Chronicle, within the Chronicle code base which of course is again is open on the B2B works. So have you done any work where data has been transferred between Chronicle and other traceability platforms? No, we haven't. That is a very, very good question. So the short version is this is part of the reason why we chose GraphQL is that it facilitates integration at the level of very much a business to business. So we're not here to talk about interoperability and sort of classic sense of we're trying to wire up you know, hybridization Sawtooth to hybridization Bezu or something else. Remember this, the DLT's role here is to be the single source of truth storing that provenance data. But if you want to interact with Chronicle that's far better done by interacting through the GraphQL API which of course is bidirectional. And that's very much in the sort of mold or mindset of any kind of service bus architecture where the last thing you want to think about is the really low level bits and bytes. It's far more about being able to access the data both streaming and querying. So I would say going forward you'll see a roadmap being published publicly around our ideas around what Chronicle should or could or maybe should do next. And reporting and analytics is one of those areas that we think is very important as would be integration in terms of consuming data. So, you know, mutations basically the ability to again that the right way to do that is through GraphQL through the high level API. And then so that what's really important is getting the domain model right. So getting the Chronicle domain model right then allows you to interact. And one of the things that we generate automatically as part of the make is the GraphQL schema. So you've got that available as well. So hopefully, yeah, another long answer to a short question, sorry. But the great thing is the engineers have thought about this stuff in such a way that, you know you can get that information out very easily. Minimum specs, oh boy, for running Chronicle on top of Sawtooth, that's how long is a piece of string of, you know, at a minimum, well, let me step back. When we showed you that stat, we said we run everything on Kubernetes and that's, you know, that is fundamental. That's all of our DevOps experience was a company coming to the fore there. So the minimum you would require would be a four-node Kubernetes cluster. If you're running using EKS, AKS or GKE, you know, any of the cloud managed Kubernetes platforms, it's, and I can see our VP of DevOps is on the course. I'm probably gonna get this wrong, but maybe Eva, you can sort of post in the chat. You know, what is the minimum spec that we recommend for the machines, for the worker nodes themselves? Obviously, if you're working with one of the cloud service providers, they provide the control plane. But I wanna say it's M2, but yeah, that's really just, it's also about the storage and various other configuration items. So we can certainly share more information on that. So again, jump on the slack and ask those questions there and you'll get an informed answer from somebody who knows what they're talking about, as opposed to an educated guest from the CEO, which is a terrible thing. You don't want ever to listen to anything I say. So on which note, I should say, I hope you listen to Chila, something out of this. Not about the hardware specs. Yep. Things like that. Eva has published the answer. Recommend a minimum of four nodes. Thank you, Eva. Each is a two CPU, eight gig. Yep, fair. Where can we get to play with Chronicle? I can know. Just go to the, honestly, just go to Chronicle examples on the B2B Works and if you just follow the instructions, make sure you've got the right version of make, otherwise it won't work, but just make sure you've got the prereqs right and then you can make one of those examples and you can do what I did. Basically. And also join the Slack chat so you and we'll happily answer any questions if you need any help or guidance. Duncan and Chila, we also have one question from our LinkedIn live. And it says, hi there. I would love to hear if and how are you guys looking at the future quantum computing security risk? I think like everybody, we're very well aware of that, but that doesn't apply to Chronicle. That applies to the whole world of cryptography and so on. So I think join us in the Slack chat and we'll happily talk about that. But we face the same challenges that everybody does and that's really at that level, the DLT most importantly. So. But yeah, we have thought about that and possibly we're going to publish a blog post on it. So. Well, I know you're working on that. Yeah, yes, I talked about it with Kevin. So yeah, there's something in our pipeline. Excellent. Ken, welcome to the, Kent has joined our Slack. Thank you, Kent. We're almost at the top of the hour. So maybe we have a time for one more question if somebody would like to go ahead. Nothing for now. All right. Then I think we're going to wrap it up. Well, if any questions are still open, Duncan already mentioned it a couple of times and you are very welcome to join their Slack and ask your questions over there. You're also welcome to reach out to us and we can connect you with the BTP, with Duncan, Chila and their team as well. So first of all, thank you very much again, Chila and Duncan for this great presentation. Thank you for your time. And thank you everybody else for joining us. And again, if there is any question that remain unanswered, please let us know. Also, please follow us on the Discord. And here we have a lot of real time engagement and you can also continue your questions there. You can go on the SOTUDE channel, but also other channels like Fabrikwanner, Beisu, our special interest groups and much more. We also have some other upcoming hyperledger in-depth webinars, which you can find on our event page. An upcoming webinar is the one with Dian Pinto, a CEO and co-founder of IPV on maximizing the value of your intellectual property with a smart intangible asset management platform. So please join us there and go to hyperledger.org events to register for this upcoming webinar. Thank you again, everyone for joining us. Thank you to our panelists. Thank you for the people joining and hope to see you again soon. Thank you very much. Bye everyone, thank you. Thank you, bye.