 Okay, you are alive Brian feel free to take it away. Sorry about that. Got it. I'm sorry that I have issue there But thank you all for joining us. My name is Brian Hobbs one of the overseers of the Hyperledger and Landon group and today we have a very special guest Michael Zahn who is the author of one of the Hyperledger fabric V2 migration books and he's gonna do us the honor today of giving us an overview of some of the best practices and so with that What I'll do is just turn it over to Michael and I mean Matthew. I'm sorry and let you Okay, sure. Thanks Brian for having me and again. Thanks taking from hyper ledger It again is again. It's pleasure to present that hyper ledger community. I have done this talks. I mean presentation in Hyperledger community several times before last year and again It's always its pleasure to be in your community and this time's Atlanta is my first time in your community and so The thing is that one of the reason for me to do this talk and presentation is that In a hash fellow, we run a couple of clients that run this issue of fabric migration to version 2 and because vision 2 came out last year and So there was a little bit of discussion around okay, what's best practices to do this and Today I'm gonna talk about that because again, it comes back from a practical perspective of the client and even you mentioned your companies Also have the same more or less the same challenges right now with regard to migration to version 2 so Having said that let's Continue on this presentation. So it's a little bit information about me. So the company I'm presenting as hash fellow and I'm mad son and they're a little bit later. I'm gonna talk about my bio in excess like so again in this Presentation we want to talk about how to migrate to hyper ledger fabric vision to I'm gonna talk about hyper ledger fabric Some of the key components and its architecture that I'm talking about some of the key highlight of fabric vision to and then some of the best practices for migration and Then I'm gonna talk about some of the things that my company can do if you guys would be interested to get more assistant in this process so So the first thing that I just want to know is that how much do you know about hyper ledger? because if you have watched my previous YouTube videos in hyper ledger community on my other talks and I tend to just scratch the surface. I usually don't go too much detail in the hyper ledger deployment But these talks might be leather over there, you know intermediate to advanced level and some areas that advance so So I'm assuming that you already know what is hyper ledger is You know, but hyper ledger ecosystems different libraries distribution leather distribution technologies and in the hyper ledger community and more specifically You know how the hyper ledger fabric works. So again, I just to give you some preview of hyper ledger fabric So I'm assuming that then a little bit information about me Again, I'm like entrepreneurs and so I have started a couple of tech companies like DC web makers web design app design then the code input camp capability for trading and Then hash fellow for specializing in blockchain consulting and development and then I have like a nonprofit that we do teaching for coding for high school kids and then I'm also a leading author of the hands-on a small contract developers fabric version 2 This books talks about how you can deploy there How you can use the fabric version 2 how you can create and deploy your small contact fabric version 2 and many other topics So and again, besides that I'm quite visible in the community in the blockchain community if you search my names in Google I'm going to show up most likely But anyway, again, I also have some background in business. I've NBA in the middle of South Maryland So beside my technical on your own technical value. We can find any more information on my LinkedIn So today, this is an outline of some of the things I want to talk today So I want to talk about hyperlidic fabric architecture and Component and then I'm talking about some of the new features that introduced in fabric version 2 And then I'm going to talk about when you are upgrading or migrating to the version 2 What are the capability level you need to watch from a channel and what are the component you need to upgrade? What are the consideration of getting version 2? What are the things you have to watch? What is the checklist of things you have to be careful before you migrate, right? well so For the fabric the component the major component of fabric hybrid fabrics are as follows Peer ordering service Ordering service and I'll talk about some of these items in more detail in the coming slides It's just a very high-level and we have peers. We have ordering service. We have certificate authority on the fabric Manages all the identities and credentials in the network And certificate authority can be very simple. It can be very more complex like hierarchy and the fabric ledgers and then Let me talk about channel and then a small contract with chain code So basically a small contract you already know Chain codes can be like a wrapper around certain certain number of small contract in the Hyperledger. So if you're coming from Syrian background, I mean if you have a theory and Kind of the development background You're already familiar that there's just there's a one or two small contract in a blockchain network But in some of the enterprise consortium, you may have multiple small contract and pretend I mean so many of them but in the fabric there you can easily chain them wrap them around together as a chain code That's why the chain code comes Enduranceman policy Which again if in blockchain you also may notice as consensus algorithm It's a part of that consensus algorithm and in fabric I didn't mention here But in fabric the policy itself is Have so much stuff there policy in fabric tells who does what in the network Who is allowed to do what in what circumstances? I mean all the Access control list, you know all the things that has been defined in the network comes under the policy And again membership service providers. It just goes back to the CA certificate authority and who is allowed to issue those credentials in the network. So let's see There's a more detail about some of this component and again, if you're new to fabric and if you want to dive into detail about this component or learn these stuff more in MIPS There is a link to my presentation you can download that you can read this slide after this and Obviously you can really get my book and just go over some of this topic we discussed. This is more detail in your book so um So one of the things is that One of the things about hyper ledger fabric that makes it very unique compared to other blockchain platform Is is ability to be expanded into the consortium architecture So meaning that from very basic architecture of two Kind of the member to a multi layer Kind of the member the consortium of their structure of the fabric support that so that's gives a very unique Advantage when it comes to enterprise blockchain deployment Where they wanted something that is easily can be expanded, you know so um In the network of the fabric again the fabulous the fabric is a private network So only the members are that can be joined the network. So in the fabric network Usually there are organization that are a member of that and there's a certificate authority that issues the credential or identities of this participant So um The role of each organization other is as an order order in service or appear service provider So i'm going to talk about order later But uh order is just his name is a signifies is in job is in charge of ordering the transactions Because the transaction comes from the you know computer system from the network members It goes to order it order is kind of you know, sort them out Send them to the peer that need to decide on that transactions and once the Once the consensus or endorsement is achieved Orders Add that kind of the transaction record to the ledger. So that's a very high level most simple of our way of looking at the order, right? so um Each participant company um Consists in one peer in the fabric. You can feel it can be like a node, you know, and um at the same time Each peer can have multiple nodes so um and then um So each peer node maintain a state and a copy of distributed ledger So i'm going to talk about the state and ledger. So at a very high level In a node in the fabric you can have it a state database And the ledger What's the difference? I'm going to I'm going to repeat this in a couple of slides But it's I try to make it as simple as possible a state um database Is mutable meaning that you can change the data in it on the other hand the distributed ledger Is immutable and is shared among all the members in the network, right? So each organization can have its own, you know, a state database couch dv couch dv, you know Which is the key value like a mongo dv On the other hand distributed ledgers is immutable and it manages by the you know Main network because it's distributed and So order as I discussed earlier His job is to coordinate all the transaction in the network and So when a transactions comes in Then order service validates orders and bundle all transaction into the block and then Have you heard of like gossip protocol, you know broadcasts all the peers? So basically When you talk about gossip protocol things like that gossip algorithms comes back to order because When a transaction comes orders descends this transaction to the peers That they need to decide but accept to reject that transactions And it's like two way communications once they get back to the order with endorsement policy order is gonna commit that to the to the ledger Order organization also can have multiple nodes And then which again comes back to the consensus protocol based on how the consensus protocol has been set up by the organizations Again, it goes back to policy In the fabric You can define what endorsement policy would look like like for example for certain transaction What is the endorsement would look like? and And then another thing is in the fabric is that entire network in the fabric can have multiple ledgers And each ledger is maintained by the channel um, so, um Again in the channel, um um I can look at the channel as a virtual network and um So in a way physically is just a ledger itself, right? Um, and then distributed and centralized in the peer node. So again, one of the thing is that when I talk about private data collections and you have a better idea how the channel works because um And the fabric paper private data collection allows certain parties in the network to create a certain private data communications So that has been done through the channel So, um and then um a little more architecture of fabric Each organizations, um can participate participate in multiple channel so, um the thing is that Again, for example, we can have channel zero organ as which has organization zero one two three as a participant And channel number two which has these two again if you look at this as a private data um on this channel Three organization can change or exchange data, right? And then they can have their own policies with respect to the endorsement Uh versus under this channel only two organization can participate and exchange some data So as I said once you add more member component to the fabric, the architecture become more complex And so um at this again it to some people it might act as a disadvantage but But in reality, um This is uh, this is again, it's more suitable for enterprise um Participant endorsement and validation policies are maintained In each channel as I mentioned in each channel can have his own participant endorsement and policies defined in itself and So there is another channel called system channel Sorry, there's another channel called system channel that is um It's called like admin channel for the main network And for administering the entire network. So To recap there are some policies which has been defined In a channel for the members inside that channel And there are some policies defined at a very high level By the system channel which regulates the activities inside the whole network now um So now when it's comes to certificates, which is like identities in a network Hyperledger fabric Has something called root certificate authority Or key store. So The similar to the policies When it's come to the certificate authority, there is one admin Like owner of the network or admin that has a root certificate authority You know and it's like from it is like a hierarchy from top to bottom and then when it's come to the bottom, then you have um Other member certificates So um some membership service providers is whose job is to manage this identity and certificate You know authority certificate for the members in there. So there is the Main admin which is in charge of membership service providers and then under that comes each individual members Which they have their own credential and the credential are going to tell what the member can do We cannot do in the network So each peer organization can have his own msp too But again, you have to understand the fabric. Everything is a hierarchy From the top admin to comes to them Individual members When some new organization joined in this sound channel, this organization first started role msp in genesis block or channel Genesis block is the initial block of that kind of the Uh of the ledger And all organization participants in network should be enrolled in concertium on that system channel again Just to just to simplify this what he's trying to say is that um One organizations when he's registered going to be registered both in system channel For main admin of the network as well as inside the channel where those parties That on that specific channel Can approve it, you know, I mean so when a new um Client sdk connected the organization the client also required the connection profile. What's called part of the msp. So just to recap Membership service providers manages IDs from different parties. One is the for a whole network individual channels And members as well as for external parties that they want access there And fetch that query there the channel. So this is done by connection profile creating credential profile and credential for them So a little bit more graphical way of looking at how um, this different um hyper hyper laser fabric architecture works is that there is a system channel And there is a channel one and channel two and then um, so there is an order and there is a one organization two organizations As you notice that channel zero one or first channel They have one two three members so as I said order Is there for all the network, right? And it's like it's independent then you have Three two peer two organization part of the channel one For channel two, you only have peer and the order And so basically um That gives you idea. So system channel is like a main admin that you know is in charge of the whole But then you can have multiple different channels and each channel can have its own members own policies, you know So now we a little bit talk about chain code or small contract in the fabric And then again in the following slide, uh, a little bit more talk about chain code in the fabric because On a hyper laser fabric version twos some of the major changes are related to the chain code and uh, so When you want to execute the chain code in some uh node The code should be installed on this node Again, if your fabric developers you might say, okay, it's obvious. I know that what's the big deal There is the result the state is written in the state database And its transactions is logged on the ledger So let me simplify what it says. So basically Once you have a node if you want to If you want to run this chain code on that node first, you need to install the Chain code with small contract on that node and once the installation is finished Then it's record going to be stored on the state database And then as well as a ledger of that node The state database is a very generic key value database. It's again, if you know mango db Or no SQL database, that's it. It's similar to that So there are two popular kind of the State databases that you can use or no SQL database that you can use this fabric one is a level db Which is a default database or we can use couch db which gives you more power and flexibility and Again, as we discussed before state database data Are mutable meaning that you can easily modify them alter them and However, the transaction logs are immutable because they are Located on the decentralized ledger. So when something happened to the State database As database gets lost We can go back to the decentralized ledger and regenerate the whole things automatically because That decentralized ledger is already there, right? So, um, let me um a little bit Graphical then I think if you're almost done with the architecture Maybe one or two slides you're done with the architecture then I jump into the version too quickly. So again, uh graphical wave Look at this as a chain code here And there's different nodes and then each node has to be installed the chain code in order to works and And again, the thing is that uh state is keeps consistent through the ledger is because ledger is immutable and then the state may mutable so state may change but through the ledger It automatically going to synchronize the state with all the participants in the network Again, if you're coming from from the syrian web developer, you know how the blocks are synchronized how you can avoid the forging of the block Um, so well, um just jumping into the fabric version two new features, right? and again, I just want to scratch the surface because um A couple of these topics here are a little bit more advanced And so one of the thing is that on the fabric version two, um So we have decentralized governance of this one construct new chain code application patterns automated checks and decentralized agreements and external chain code launcher the state database cache couch db And then we have kind of the some of the new features of darker images like alpine base Which is supported and private data enhancement So the first Two items decentralized governors and new chain code applications are part of It comes out. We got a small contract a small contract with chain code life cycle management, so um They are a part of that and then i'm i'm i'm going to cover them in a more graphical very nice way. I mean coming slides And but just gives you idea is that in the old in the car. I mean old version of fabric like 1.6 There was one owner of the network that was in charge of the kind of the Chain code in the fabric. So whenever um all the participant in the network was following that principle or the owner of the chain code So any change wasn't needed the principal owner was in charge of doing that and updating that Now in a very plain language, this has been changed in fabric version two So all the participant in the network now can have a say in the upgrade, you know And the additions of the alterations of the small contract with chain code in the network So that's all this all is about which again when I'm talking about chain code the life cycle It makes simple and understandable how these things have been changed With regard to external chain code launcher, right? Um again, um Some of the Issues that we had is external chain code launcher was that For the darker images or things like that you you need to have a privilege to access that this comes back to the owner So you have a specific privilege to do that and then one thing was that There was some issues is pure implementations with because the Version point one point six of fabric you require to have Only docker And then you need to have a specific you know Permission to access the docker and to do that and then of course there was some pure implementation Which a little bit talk about that Was some barriers to um to maintain the chain code So to put it this way The version two of fabric allows developer To access the chain code externally and manage and maintain it Which helps them a lot in terms of the Eliminating a lot of complex that is involved in managing and maintaining the chain code in the fabric And uh with regard to state database cache Again, if your developers, you know is speak for itself So basically couch tb now is more efficient right now because using the cache Is is uh become more is Friendly for performance, you know And then of course if you are coming from docker, you know that Is this features added is it's going to add more kind of the resilient to the fabric network I'm going to talk about private data enhancement color following a slide because very important um Well, um one of the thing is that um So um With regard to private data collection fabric two, uh as you see the channel one um So this channel one um And the channel channel three right? Uh, so this is you can look at this channel as the system channel, right? And then you have two different channels. So um again on the fabric um version two, um Basically as we discussed earlier Each channel can have its own policies, you know with regard to the data collections And then I'm going to show you next slide that even inside the ledger of channel two Each members can have their own private data without any visibility to other members in a network I emphasize this is very important because some of the client that we are dealing right now They love this feature and that's one of the because some of the legal requirement from government Is requires that you keep your confidential data without sharing with other members So that's one of the areas that fabric going to be handy so um so one of the thing is that um So again, you have to make a distinction between private data and public data collection in the fabric and um As you can see that it appears there's a public data storage and private right-set storage and then um So this for example, this area is a public water states And this area is private Which only visible to the members so Just a little bit give you recap appear can be a member of different channel at the same time Right, just give you an idea of complexity that you may run into So one peer may be a member of different channel as well as system channel, right So for each channel that appear members appear may be involved in certain private activities So it gives you idea that there are different private collection with respect to different channel in which the peers is involved, right And that there is also with that one also goes private data You know private database, you know, or state database that goes with that So as I said, once you get more into the fabric and implement it at the enterprise or consortium level You run into more advance and more challenging, you know architecture So, um Coming back to what I discussed before as I said each peer can be a member of different You know can be a member of different kind of the public and you know and private kind of the net for right And then channel so depending on what membership that he has Certain data are going to be private storing them suddenly they're going to be private storing them and as you see It just gives you a schema of the how the system channel communicates different peers And then each peers and peers how communicate using the kind of the private data collections And I am again, again, I'm emphasizing when it goes to practical perspective, it's become much more complex And because just because we're talking about just one a couple of data set But if you're running to the practical perspectives become much more complex So um, so one of the things also is good to know and as a developer as you might also want to know Is that Well, and now that we know that there's a cave private data collections and things like that Because um as discussed earlier I'd explain how the order works and how order And the gossip protocol and then what's called Endurancement policies work in a channel and is a system channel as a whole in the network as a whole On the other hand as a developer as you also need to know How to create Or how the transaction inside the private channel works And it's very important because the thing is that there is a transaction flow for a fabric as a whole Like a fabric network as a whole But then when he's coming to the private data Per fabric data collections or you know between the certain members then you have another kind of the private data collection Uh, you know architecture as you see so the clients submit the proposal respond And submit transactions Ordering service. So again as you see a record of that going to be on the ordering service Even though it might stores on the on the kind of channel itself of that private network So Now moving on to another area of the fabric. So as I discussed earlier One of the significant changes we experience in version two is the chain code life cycle operations um This one as you see right now is this is architecture of the fabric version one point one four So as I mentioned earlier one organization was the owner And he was in charge of the managing the chain code Making alteration update the chain code and defining its this instantiation policies in the network, right? and So basically the older packaging installation was done by this guy and so um So basically one of the One of the problem with this Architecture was for the fact that you know, um, it was not much democrat democratic because these people had no say in the chain code You know changes or alterations or improving or you know, rejecting some of the changes that is made to the to the chain code And as a result we in the version fabric two We are seeing that the new Kind of the decentralized architectures Take place where all the organization Organization that are involved members of the network have a say in approval and rejection or alterations of the chain code, you know, so basically Based on the policy This organization can also accept or reject the changes that is made to the chain code And if the approval is achieved then that change is going to be committed to the channel so and then Again, so this this kind of this architectures allowed also allowed for acceptance of the Kubernetes in addition to the to the docker because before only was docker, but now we can also use the kubernetes note on the fabric or cloud native and And then also is the fact that And also it's it it again is just it just gives the network kind of the more role of Maintaining and deploying the chain code in the fabric. So now Now that we cover everything on that and we move on to the another topic to talk about is that how to update the capability level of the channel, right? So When you're migrating to version two of fabric You need to update the capability level of the channel So when you're updating to the latest versions, you need to You need to upgrade the fabric channels and component in the channel So you have to update the order and appears So um When it comes to updating the capability level Um, you have to do that for each configuration of each channel, right in the configuration of each channel Because again, if you remember Um, certain members can have certain channels among themselves, you know And each configuration of those channels need to be updated And this version Capabilities need to be closely related to the node binary versions because they have to be synced, you know When it's defined it must be present in in the fabric binary for example When a new master service membership service provider type is added The new binary Can validate those signatures of transaction while the older Binary's may fail. So i'm going to talk about things you have to watch for when you're upgrading because If you run into the multiple version of the binaries in your fabric The process upgrade may fail and um So then another thing is is that there are three capabilities of entire channel that can be configured in the capability section of the config text of the ml file channel capability application capability order capability So again, when you're upgrading you have to make sure you are, you know, you upgrade all of these Capabilities one is for channel on for application like your small contract or chain code and one for the order which uh, which also is part of the policies goes there too, so um One thing is that um, this is a sample configuration for version two And so this is a version two and vision version one, right? As you see that the capabilities is the channel and channel capabilities Um, then for example you define what is you know, what is true and false except a reject in order So again, when you're upgrading from version one version two You make sure that you are not leaving anything behind in terms of making sure that those capabilities are Upgraded and accepted. So um, again in our book we talk about more in detail Um, I don't have the time to go and some of this area is very technical and very advanced level So you just you can um, look at you know, chapter chapter nine or a book. We talk about this migration in more in-depth um When it comes to the upgrading component To a new version like Like version two of fabric There are four is is the process, you know upgrading the component. So first of all back up the ledger and MSPs It's very important. You don't if you lose your ledger, you'll you lose your fabric network You're done if the network is finished So first you back up your ledger and all master membership service providers or the credential everything that you have in a network Then upgrade the order binaries in your ruling fashions to the latest versions And upgrade the peer binaries, you know, in new fashions And I'll be in order so order system channel and any application channel to the latest capabilities Again as always keep the backup from the old versions upgrade them test them on a good unit testing on that make sure it works properly and then And then deploy it So, um For native deployment, uh, you also need to back up the orderer.yml file Or the core.yml. It's for the system channel file and update the content with release architect architect Artifact including the new port changes if needed. So again, if if you're moving so one of the things why these are things is important because And then a couple of slides I'm going to explain to you If you're using aws managed services Um, and you're going away from aws to ibm to oracle or vice versa If you're going for aws managed services to aws custom cloud blockages, you know platform You may end up changing the port numbers. I'm just going to give you example But if you don't pay attention to this Your network is not going to run up and running. So that's what I'm saying that there are things that you have to also watch for it like a main yml file So, um So consideration for moving to version two is that uh, just watch for chaincode lifecycle as we discussed before Um, you know that for example for the chaincode lifecycle There is a new endorsement involved for alteration acceptance and commitment of the chaincode in the network And then if you are using goal language, uh, also Look for the shim changes because in version two what we have is that we have shim api That it allows to access the chaincode through the external You know api which instead of having docker credential You can access the chaincode through the api credential, you know at end point And then which is fantastic if if you want to maintain the chaincode and then again chaincode logger Again, if you're using goal language This has come very handy and then pure database upgrade And that's one things that you have to pay for the for that because again, it's discussed about estate database, right? and then Another area here is that um Updating the capability level we discussed that there are three different capabilities. You have to watch channel application and order and then um Again, we discussed that before updating the application and channel capability You need to upgrade there your peer binaries to new binaries Because if you don't if you forget to update your binaries, it's not going to work And uh, it's going to be very uh, yes yeah, so and then um I'm almost almost done. Um, like um, a couple of more say I'm done and then I can take questions Also upgrading your order of binaries before updating the order and channel capabilities to that may fail. So again, um If you have multiple version of binaries, it's it's going to be um It's so failure could lead to multiple version of fabric binaries with different world estate associated with those binaries And then as I discussed before um, just to emphasize that if you're using aws managed services Uh, if you're if you're working on a new demo product, make sure you use the latest version Again aws managed services does not support the version too. So you mean to create the custom platform aws for your blockchain platform And um, and then if your product is a production stage check is fabric versions cloud providers like aws managed services is still using the version 1.6 And as of april 2021 fab hyperlegia does not support version 1.6 Which means that there are some risk involved aws has a good security But still there are some areas that um, when he's not supported it's going to open the door for security risk Now a little bit about our company um at hash fellow, um, we have a team of experts two of my co-author of my book are a part of my company advisors Brian Wu and Mark Morris And they are also working my company. So, um, we're working on different migration plan for um for going to version two um Like if going from one cloud provider to another Moving from managed services to the custom platform or even if If you are doing any capability upgrade on your develop or covenant is because when you're going from IBM to aws You may need to um, you know do some stuff on your develop too And uh, again, you can add me a link to and if you want to discuss your project And then you can also contact us on our website. It would be happy to discuss your project and um One thing is that uh, just to recap what we discussed today. Um, we learned about hyperlegia architecture component essential component of hyperlegia fabric And then we learned about some of new features of hyperlegia fabric version two and um We also learned that if you want to migrate to version fabric version two, what are the things we need to take into considerations and then we also learned about, um Some of the cloud providers and some of the things regarding the fabric versions we have to watch Especially when you're moving away from one cloud for whether to another And uh, so with that said, I also put some resources here if you want to learn the fabric We have some training for fabric system admin developer and then we have also The company also offered training for aws and then um for resource book, um, again If you want to learn the topic that we discussed in this presentation, it just was I was just scratching the surface For more in-depth discussion on what we discussed today You can also get on a book and I would be happy to give you a kind of the discount on my book because I can give you access to a e-book To get it access for free for first month And then I would be happy to take you on your question now Brian, can you hear me? Yeah, I would ask if if everyone you can unmute and ask your questions. Um That would be great. That's all a few in the actual, um Well, I thought one or two you will get the power point. Um, we will send that out Um, so if you do have any other questions, please do add seems like you may have done it It's a very good job Yeah, let me also look at them here because there's some chat here one of the things is that Brian you can also look at the twitter if there is any question on that one too Yeah, so you see the I do see one there talks about the future Um, do you want to answer that one? Yeah, I see questions. What's the new future in terms of function um Okay, um What is the new is it the future or future? Could provide in terms of functionality. I mean, that's uh, okay. Let me see that There's a fabulous you to support the third party Crypto Okay, which is not Okay, so What is the new future? I could understand the question. What's the new future could provide in terms of functionality? I mean, I just run if you can elaborate on that to me Okay, so upgrading features. Sorry, uh I'm gonna need could provide in terms of functionality Oh, yes. I got your question. So, um The the thing is that, um Yeah, that's a good questions. Um, actually actually, um, I I heard that There are some development in the hyper ledger with regard to that because, um Maybe in the future, they cannot they're gonna build the platform It's a good question actually In the near future, they maybe hyper ledger come up with their own another tools or another Kind of the platform or tools maybe that allows migration from one version to another much easier Um, but there is one thing you have to understand even though the hyper ledger Creates such a tool for you as a guy to make your job of migration easier It's still one of the things you have to watch is that When you're moving from one cloud provider to another There are there is still there's challenges that hyper ledger cannot Uh provide solution for them a b is that um Hyper ledger is not going to give a specific solution to a cloud provider Because hyper ledger is is a platform agnostic And it's not gonna give you a specific solution for migrating from one to eight They might give you some solution for migrating for example from previous chain code to the new chain code But it's still when it comes to the cloud provider, you have to do it by yourself um, and then um There was another question Does fabric version do support service party cryptography? replace So That's that's a good question to be honest. I'm not sure if they replace that you know because the thing is that Fabric uses his own consensus algorithms as you know Which is uh, which is different than theorem where you're using proof of work then proof of stake things like that and again Answer to question is to the best of my knowledge the answer is no it doesn't support for that But again, um, I can look into that if email me message me in LinkedIn. I can look into that to see if there is such a thing All right, great great any more questions guys? Definitely if you want to put them in the chat go ahead. We have a few minutes here So if you have any more questions Uh, there's one Okay, if you know, uh, Microsoft azure google cloud are interested in providing hyper ledger environment Okay, good question. So um to give you an answer on that Antonio, so unfortunately, Microsoft azure they shut down their Blockchain platform as So we had one chapter on azure. We end up closing that chapter. I mean removing that chapter in your book So like starting four months ago Microsoft azure decided to not offering the blockchain Uh on the cloud on the cloud platform anymore. So there is no azure Google cloud as a as of right now The google cloud as far as I know they offer Serium But not sure about the hyper ledger. I know a couple of people in the google cloud You know team, I would be happy to ask them if you want Um, but what I know is that right now there is oracle AWS and IBM and then if you want to also look into the alibaba, they have a very good very good hyper ledger Um platform, uh, you know blockchain as a service they have offered. It's very good platform. You can also look into that So Brian you didn't get any questions on the twitter. I'm just joking There's one more how to manage policy in hyper ledger. Okay, so these questions um, so um Um oracle alibaba. Yeah oracle alibaba are very good oracle So there's one thing I just want to also add the notes When you're picking the cloud providers again in my next talk, I'm going to talk about that Both cloud provider Because oracle has a very good to data science and data analytics because oracle is a database company originated, right? so when you are Using the hyper ledger for managing the off the data off the chain databases and analytics Things like that oracle is much better than abm and aws So on the other hand, um, like for example right now, IBM might be more expensive, but IBM support version two and then um aws One of the advantage aws is that it's as good security as other components that you might easy to add to them And one of the things about alibaba is that it doesn't have it's still catching up in the United States There was a question is how to manage policy with fabric sdk java so, um basically, um, it's again a few if you know about fabric I'm not sure about sdk java because all I know is the fabric have a good support for java and sdk is there And all I'm guessing is that what you need to do basically the the policies the ml file, right? You define, you know, who does what right in normal policy? I think I suggest that you get the Fabric documentation on exact implementation of managing the policy if they offer such things because As far as I know is that managing the policy Um, it's it's not that difficult. You don't need the specific stk for me It's not that difficult job to do it. It's just a ml file that manages in the fabric network All right, all right. Um, it's like right now that was it. Um, But what I'll do is I'll just go ahead and close it out. Um, Again, thank you Matthew for joining us today. I'm very informative Um, again guys, if you have any questions for Matthew or Uh, you can send them to me or send it to Matthew. He shows you his contact info Um, but again, thank you all for joining and um until next time guys Yeah, thanks again Brian for having me and I wonderful afternoon and Everyone again, if you have any questions you have more LinkedIn address on the deck You just message me and LinkedIn. I would be happy to discuss it. I have wonderful afternoon Brian. Take care Hey, thank you