 Hello everybody and welcome to this hyperledger in-depth webinar series. We are starting in just a couple of minutes. In the meantime, I would encourage you to use the chat button and tell us where you are zooming in from. I'm zooming in from sunny Scottsdale, Arizona. We will just wait a minute or two and then we are starting with our back. Good morning, good afternoon and good evening everybody depending on where in the world you are zooming in from. I would encourage you to use the chat button, say hello and tell us where you are zooming in from. We will get started in just a couple of minutes. Hello everybody, good morning, good afternoon and good evening. And welcome to the hyperledger in-depth webinar series with Cripsy. We will get started in just a minute. And welcome to the hyperledger in-depth webinar series with Cripsy on a Simplifying Enterprise Blockchain with CripCore. We are delighted to share with you this member webinar. My name is Tomasz Sedej and I'm an Ecosystem Manager at the Hyperledger Foundation and I'm happy to be hosting this webinar today. I will introduce our panelists and take us to some housekeeping. So first of all, if you attended any other webinar series, then you are already familiar with our housekeeping rules. So what I would like to say that is that everybody is welcome in the hyperledger community and we are committed to creating a safe and welcoming community for everybody. For more information, please visit our code of conduct which is available on our website and on our wiki. All the hyperledger webinars are governed by the Linux Foundation Entitrust Policy which I would encourage you to read and you can find it on our wiki and on our website as well. This session is being recorded and it will be available on our webinar library along with the slides so you can always go back and review the information shared today. This meeting, this webinar is also being live streamed so also welcome everybody joining us live through YouTube. So we are encouraging or trying to make these sessions very interactive and engaging so please stay active and get the most out of it. Feel free to use the raise your hand button to get unmuted and to speak up and the more activity and participation we will have the better experience there will be for everybody. You are also very welcome to use the Q&A box or just use the chat box for your questions. In case you are out of time or we cannot answer all of your questions, you are also very welcome to join our Discord channel which I will share at the end of the presentation. Now without further ado I would like to introduce our panelists so it's Akshaya, Mohit and Ravi from Cripsi. And without further ado Akshaya, over to you. Thanks Tomas, good morning everyone, my name is Akshaya Ravi and I'm a VP at Cripsi Technologies. We're here today to speak about how easy it is to develop and deploy hyperledger fabric using CripCorp. CripCorp is our flagship product that is built to power any blockchain lifecycle development with a low code easy to integrate modules that enable enterprises to accomplish all their blockchain goals. I'm handing it over to Mohit to take it forward for the presentation. Yeah. Hello everyone. Give me a second let me share the screen. Yeah, so I hope my screen is visible to everyone. Yes, it is. So, yes, thank you. So we are here to discuss about developing and deploying hyperledger fabric application using CripCorp. So before we go ahead, like for any developer for any organization, if we have to develop applications for the hyperledger fabric protocol, most of us would be aware that we have sets of SDKs and excellent community and then we have a lot of resources online using which everyone is ensuring that how we can go and create good application as fast as possible. Having said that in the journey of development, we get into something called the chain code, which is like in other protocols for the smart contract. Once we get into the lifecycle, we would realize the most essential thing for actually feel a blockchain application on hyperledger fabric is nothing but the business application which we have developed and deployed. And then rest all the activity what business sees basically how they are able to interact their business even which is actually coded on the chain code. Now, in the subsequent slide, I will try to go through the entire journey and then express how we have taken the approach and how we have met that particular aspect of the development and release cycle much easier. So the key features of CripCorp is basically quick and easy. So the idea is, let's be quick, like we think that we have a use case, think about the use case, either code it and then just start interacting with it and then multiple deployment options like virtual machine to Kubernetes and then these two steps are something which everyone would be knowing and want to go ahead, then comes the next three topics like cost management and optimization, operation, governance, security and maintenance. This comes in our journey when we have across the POC lifecycle, the development lifecycle and moving towards UAT production and if something isn't production, how do we maintain it. So I'll be covering those aspects also, how in a hyper ledger fabric journey, these are also equally important. So let's start with how it is quick and easy. So basically what we have done is we have created an interactive GUI driven approach. So the idea is basically if we have to create a network, network interaction, we have to do chain code management, channel management, all those things we have met it significantly easy. Either you use a hosted API or you use the user interface and just finish it out. So, and then for a developer to start with, you'll always have the question that what is the identity using which I need to interact with the network for my business logic. So use the identity management wallet to create the users and start interacting. The whole logic is basically to be more focused on the hyper ledger smart contract chain code development rather than that, rather than hyper ledger administration. So, as I was mentioning earlier there would be different types of people in the community, some would be more focused on business application development. And many of us like, for example, including me, who would be interested in the complete ecosystem, for example, not only the smart contract but also the administration with which have its own technicalities and then those things. But the idea is, let's, let's start with the approach of creating a good use case and then during the journey of my development, our development we could also get into the complexities of hyper ledger fabric and how easy it is how to get to know more about it. So let's aggregate use case development and administration. So in doing so, the expected skill set is, we have to be very focused on how to write this chain code so chain code and hyper ledger fabric. As of today, we are able to write either in all language Java JavaScript, not just, and how do we, how do we deploy this we use the interactive GUI to deploy the chain code. And now we just use the rest API so most of the developer community today for various reason everyone is familiar with this API so they could use language of their choice and then execute a rest API to perform a transaction query a transaction to get a report. And we would still require some details of, for example, any business case, endorsement policies, private data collection policies, those other things which everyone should be reading because a use case, when we develop, we would be writing some data and instead getting some data on this state would be performing certain validation, but on the overall endorsement policies are very important with how which parties to get endorsement which data to the private. All those things that developers would need to focus because these are the true foundation of a use case means logic plus how it is administered in the network. What is the policy for visibility of the data and how to get the proper approvals so those things as I mentioned are the core essence of a business use case. And let me go into the next slide. So, the, the core idea of when we approach creation of the course and then going through all the nine yards of hyper ledger fabric from 0.6 version to one, and today it's a 2.4 version so we have gone in depth. We wanted to ensure that the entire community gets a gets to interact and gets to develop on hyper ledger fabric in a simplified and a focused manner. So, as I was mentioning earlier, so if there is a use case, let's think about the use case and then afford the chain code and then think more about the logic validation. I would be right functionality right validation in my business logic. And we would definitely like to abstract the hyper ledger fabric administration and configuration related matters at this stage, how when a person or a developer would like to be more focused on the use case. This would be able to use rest API is to perform any transaction at that stage fabric SDK experience is not required. And one of the common thing which as a developer, we have faced in any blockchain protocols, how do we generate reports. So, there is a inbuilt feature, which is based on a data like concept which is something similar to hyper ledger fabric explorer, using which you would be able to design reports. And any use case, any business application even at the POC stages not final, unless we do some level of integration. So for example, if a invoice is generated or a purchase order is created, some event have happened. So in the chain code, we would be all aware that there is a functionality of we could create events and then send it to the next level, but then that next level is something which we have to develop. Like listen for that event and write some logic to perform certain actions. So we have met that simple as well. So if there is something which you think is of interest, for example, any event purchase out or something. So if that event happens, we could provide a endpoint, rest endpoint, and then that data would be sent to the line of business application. So this would even reduce the time to quickly go for the use case validation. Otherwise, we would have spent significant amount of time in the peripheral activities of a complete use case POC demonstration. But the whole approach, as I said, simplified and focused focus on the design development and logic validation. Let me go into the next slide. At various stages in our journey of development as well as the type of business application, the client for whom this application is developed, could demand different infrastructure. Where the application needs to be provisioned. So you could see in this slide on the left side virtual machines and on the right side manage Kubernetes clusters. So it is as simple as it is docker supported. So any developer having Linux system, Windows system, Mac system with the help of documentation, they could set the environment up, whether it is for development or whether it is production. So many of us still prefer the virtual machine model for the POC and production. Similarly, there could be enterprises based on their existing skills and expertise for many of the enterprise applications which they are already working on would prefer to stay with a very strong orchestration technology like Kubernetes. Most of the cloud today have their own version of managed Kubernetes services. For example, Azure, AWS, AWS and some of the people also have their own private implementation of Kubernetes. So we try to make this simple. So in the deployment stage, whether it is in development or in production, we could deploy the Hyperledger fabric network on a managed Kubernetes cluster. And also deploy the required applications using a developer put kick, put kick start development channel. That's continuation from my previous slide. So the journey starts with the development POC pilot to production. Here we could see that in the development stage, design use case, performance integration, deploy multiple gen source, POC validate. So if we are good with the validation, that's fine. You can go to the next stage. Otherwise we could go back, modify our chain codes, make some more adjustment to the use case or adjust the integration and then keep performing the cycle. And then once we get into the production, we need to manage and possibly in future we need to scale. So at least development and POC, or we've got a fair amount of idea by now that what are the tools and skills are required. But once you get into production, there could be different sets of challenges, which are more tuned towards the chain code lifecycle. Because as we proceed, we might have that user feedback or we need to add more functionality than typically developers would take the input from the stakeholders or the community and upgrade or redeploy the chain codes. From the administrative perspective, there could be something like onboarding of new participants or we have to deploy new peers or we have to create new identity. So for that also, there are features provided in our application in trip code, which allows administration of the entire network which is already and that's a pilot of production to make amendments or to do the administrations without knowing the deep side of console based programming or console based access. So anyone with the basic skills with the documentation and it would also help Hyperledger Fabric administrators, certified Hyperledger Fabric administrators basically do it using a user friendly manner and still for some power skills or something they could still get to the console and do it. So the whole idea of trip code before we get into the next slide is that it acts as a layer between a developer and administration and the Hyperledger Fabric. It doesn't mean that there are changes in the way people develop their smart programs or use cases chain codes or interact with the network. There is no change. It's as simple as any, for example, if we take the basic example of Hyperledger Marvel example, create the test network, what we could deploy there we could deploy here. And if we develop some smart complex chain codes using this application, this middleware, we can take this and then use in any other environment where there is a deployment of Hyperledger Fabric. So there is absolutely no change to the protocol, all the security settings and all the way developments have to be done in fact. We have completed the journey of how we move ahead from the developer's perspective with how he starts the journey of development POC to production. Now when it comes to enterprise deployment, we could have different people having different skill sets and they might have requirement of different infrastructure setup as I know. So to support and to make it easier for a wide variety of skill sets and enterprises. So there are multiple ways we could deploy Hyperledger Fabric network as simplest as a GUI driven super easy which is quite interactive. We just need to specify what is the name of my organization, what is the name of the MSP, just interact with your cloud, provide the authentication and then it takes care of the rest. This is also ideal for setting up a simple development environment. Then comes really power users enterprise who are already in their journey or not journey they have already matured for non blockchain applications for development release methodology. Using infrastructure as a code, they have their own mChart scripts and they are quite adapt to how to use the Kubernetes cluster. So for them, all the mCharts and for example Terraform infrastructure as a code, all the details are provided as a documentation. So they could easily either integrate with their existing automation or use it uses as is and then perform. So this is definitely ideal for enterprises who wants to have a control over their infrastructure deployment and any process which is happening within DevOps or secure option. Then we also made it simple if some enterprise specifically from Microsoft Azure point of view. So many of us would have worked in Azure and would be knowing about the Azure specific way of deployment, which is called ARM template. So we have also deployed ARM templates, which is publicly available in GitHub. So anyone could basically go to that GitHub repository and deploy Azure instance of Hyperledge Fabric by just going through the steps there. So it could basically help you to create a cluster and use this particular ARM template to set up a HLF network and there would be documentation of certain scripts and our network is ready. So it's again, as I said, it's ideal for the enterprises who wants to be in Kubernetes and who wants to use ARM template model for deployment. We would be adding more support in the public community as well, for example, in the coming days for AWS and Google. So it would be easier for anyone to deploy their own Hyperledge Fabric organization network. Then what is the other advantage which we had been focusing? Till now what I have explained, my focus was always on shortening the time of the setting up of the development environment and the deployment of IoT and production. So that gives a clarity that we are trying to reduce and focus on our core areas such as business application development and then management and administration of the network. So the idea is basically all this is leading to at least shortening of the time by one third, which indirectly or directly we could say help us to reduce a lot of cost. One of the other important thing is how to be forecast. So today let's say I have started with 20 GB disk size. If there is a way that we are able to calculate per business transaction, what is the data one takes. For example, it is just for our estimation, we are able to figure out using a method that one business transaction is adding 5 MB of data in HPR and some amount of data in each order. It would help the infrastructure and the operations team to plan for hardware sizing and upgrades in future. This is always a challenge when a developer is asked like how do we set up the initial infrastructure. There is no proper calculation. That curve is still being learned by many of us. So we assume certain things and take an infrastructure, that infrastructure size could be much more than we want, it will take some time to reach there. This type of data and tools makes it easy. In the POC state, we could learn those and then plan our future infrastructure. Then third is, as I was mentioning, we could use the notification system and integrate with line of business, which would have taken a lot of development effort. So that is internal reduction of time, which is reduction of cost. Then in terms of generating reports, then Hyperledger Fabric Administration has simplified many of the things we could do using UIs. And having said that, that doesn't stop us. We could still go into the console and perform administration. If we have learned that Hyperledger Administration or we have people who are Hyperledger Certified Administration. We also have a low-code option where we want to experiment a feature where you don't need to develop smart contract chain ports, but basically use the user interface and define your business process. So that is like completely very, very low-code or no-code solution. And with our experience in the last three, four years, working with multiple clouds and deployments, the initial configurations, which we have actually put either in the ARM template in the public GitHub or the Mchat platform or any other deployment has well suited for a single organization deployment. And the resource which we have used, the size which we have used is basically what we have learned over a period of time, which is neither very less, neither too much, it is good. That's basically it will help us to start the journey faster and also ensure that the cost of infrastructure is kept to an optimum as possible. Then how do we do operation, governance and security? So one of the things after doing development and probably after POC is how do we manage the Hyperledger Fabric Identity so as we all would be aware that the basic of interaction of any component in a Hyperledger Fabric ecosystem requires an identity. That identity could be user identity, application identity, peer identity or an order identity. So how do we safeguard them, at least what is managed in the infrastructure if a user is managing their own fees and certificates, it could be different only for how to manage them but definitely peers, orders and all the other things, the Fabric CA roots the private key. So we have, with the experience, we have been successful in using various key vaults which are available in different clouds and how do we mount them using the let's say the Compose YML model or the Kubernetes YAML model securely so that the best could be done in terms of protecting access to the infrastructure and getting access to those keys. So as we are all aware Hyperledger Fabric is completely PKI driven, that's the very positive point compared to many other protocols but at the same time it also provides us a challenge that how do we safeguard them. So as a developer in the middleware application, what we have developed, for example any use case which a developer releases, definitely it will have a backend and you will have the private key step and as a developer we have a lot of libraries whether it is a hashikov key vault or you put P1 interact with a HSM device, the capabilities are there and skill sets are there but when it comes to Hyperledger PR and this one, so we again come into a scenario where either usage of HSM is too complicated not as cost efficient considering the overall budget of the project, what best we could do is use key vaults. Now with key vaults the challenges are different, the challenges if I had developed the application I would have used any of the, let's say the SDKs provided by key vaults for example whether it is Azure Key Vault, AWS or hashikov key vault. But as part of the governance model no one would be expecting you to make changes to any of the Hyperledger fabric components, whether it is PR or so. Everyone would expect that the Docker image are pulled from Docker Hub or we are pulling it from the Linux foundation and then building it. So we found this as a challenge and we worked it out using certain methodology, so the code of PR orders of all the Hyperledger components remain intact and we use certain technique in the cloud deployment that the keys and certificates of all this are involved and the peers are still able to use them and it is segregated from the other users who have access to the ecosystem. Then in terms of Kubernetes, how to have different namespaces and segregate different roles of different microservices. These are at the infrastructure level and in the governance level anyway we have a simplified user interface with a lot of administration came to them. Then comes maintenance, so maintenance is something definitely we will be touching once we have got brought into a UAT power production. We are all aware that all the fabric components or most of the fabric components they broadcast the metrics. So we are using intensively Prometheus and Grappana to capture those events and then create meaningful application out of it, which could be helpers and reports and alerts. So if suppose some infrastructure appear is down, how the end user or the enterprise administrator needs to be alerted. So if a physical microservice is down, the industry would be aware that if a container is down, we could write certain things and make it aware that okay there is something that we need to take care. But what if endorsements are failing from a particular peer, let's say we have three peers in the network and the observation is two of the peers are always endorsing and one of the peers is always getting let's say time out error or something. This is a very special environmental issue. Any of the existing infrastructure detection systems, they would always feel that the peer is running because it is actually well responding. So we need to use this metrics and write certain logic. This was just one of the examples. In the Hyperledge fabric contest that would be something similar examples like if some infrastructure, some peer is taking more time for endorsement, some order of peer is lacking. So how do we create those customized activity for monitoring. And then log monitoring and analytics. So the last part is basically one is cloud specific. We could use Azure Log Analytics workbook. We're using it so that the entire monitoring and analytics are presented and managed using a cloud specific component. And on the open side, we have also created a stack using Elasticsearch. That makes it more of a cloud agnostic. If we have any deployment on any of the Kubernetes clusters, we would be able to use this to maintain with a bit of customization. I think I have come to the end of presentation. There are certain technical slides left, but I think it could be good if any questions are there so I can go in detail of them. And then if required, I can get into some other technical slides. Thank you very much, Mohit. Are there any questions? There is nothing in the Q&A box, but feel free to unmute yourself, raise your hand and ask the questions if there are any. Okay, so Mohit, I don't think we have any questions right now. Will you continue with the technical slides and then if the questions pop up, we can return to them. Yeah, so I may be quickly go through them so that if there are some questions, it may be helpful for them. So these are supporting slides. So this basically talks about the architecture. So we are able to see in the, at the end, we are able to see the smart contract chain code wherein any developer could develop the chain codes and then just deploy them. And on the second layer from below, we are able to see all the services which are enabling, let's say creation of identity management of the network, routing your transactions and then even top sub allows us to integrate with, let's say, an endpoint, if there is a transaction happening. And on the right side, you are able to see API. So the benefit of the system is just API. As a developer, I am not getting into taking SDK, integrating it and then understanding the core feature. So for a very, very basic developer who is just either not into blockchain or just getting into the blockchain, he just needs how to know how to use this API to invoke a transaction or get a transaction. How to get the identity, everything is taken care. And on the top, this are something related to the power user management, basically, how do we deploy and how do we manage the network. Then this slide basically compares a typical developer way of starting the blockchain journey on Hyperledge of February versus if we start with the sandbox. So in the sandbox model, as I said, multiple use case you are seeing at the end. So just focus on development of the chain codes, deploy them, validate them, edit them and then. And in parallel developers what they could do is once they are good into that they can get into all the activities of and all the details of Hyperledge of February and continue their journey of the learning curve. So this way, the advantages, they could demonstrate the use case applicability in much faster way. And at the same time, if they are focused on getting an administration or be a developer who knows all the nine ads of Hyperledge of February, they could still continue working on the using the model will not make them to only stick to this path. So that is one of the advantages. Data management as the data. So one of the aspect is how do we have a lot of meaningful data, which gives a business intelligence to the end user to the business to the business application. So here we are able to see the data like basically takes all the inputs from the blocks and the private data creates a consolidated symbol database and allows you to write your custom events. For example, if you have a key whose value have changed let's say 10,000 times over the last let's say 20,000 blocks or 10,000 blocks, the auditor would be definitely interested to know which transactions were involved in changing a state variable from one value to another. This helps to design the audit mechanism audit reporting mechanism in a much easier way. Similarly, if we find that there are certain challenges. For example, there are transactions happening. And for some reason, by some mistake, we are updating a key. For example, the value of some key x was one, and it is observed that whenever a new transaction is happening, x is changing. But interestingly, we are able to see that something got written in the transaction nothing was read. So it is typical that definitely there is something missing a general business logic or a functional logic would definitely take the existing data, put some operation on it and then the updated value should be saved again. So this would enable people who are monitoring to have better insights that okay there is there could be something wrong with what we have developed and deployed so we could revisit it. So these are some of the insights which are provided by the system, not just the business reports. Notification service basically helps anyone to visualize a chain code transaction or do something a business API notification in a much easier way. Then how do we do it we have this user interfaces for, for example, managing the chain code life cycle. So using this UI basically we would be able to deploy any of our chain code upgrade them are basically set the endorsement policy for the collection policies, and then go ahead with it. So, as a developer I just need to be more aware of how a policy should look like and if I set a policy what does it mean, but the syntax, using the console and those activities, they, they are not, they, it's not mandatory for them at this point. Then for transaction, for example, as given an example, so you just need to think of a simple invoke inquiry message as any project where we are able to perform transaction using a JSON payload. If we have to, before integrating our REST APIs with the line of business application, we could test this simple, what we call this as an execution window where we could write the init ledger, the function m arguments and on the right side we are able to test it. A developer before start coding on their middleware application they could see how their chain code is behaving once we have deployed them. Then governance, so governance as I was mentioning the core thing is once we have deployed if we have to make changes to the network, the most complex of them is obviously addition or removal of the new member organization in the network, but we have other things like changing of batch size or batch time, so how do we handle them. So we would always aware that there is something called the Hyperledger Public Administration where we use certain peer commands and the JQ tool. Those things are again made simplified here so using this interface, either we can use a UI or we could call the APIs or we could use both these skills using this application or the administration and perform any of this task. For example, if you want to change the anchor peer, we want to modify the, you want to add more at Hyperledger admins for an organization we need to update the CRL. If we need to create a new channel or we have to change the batch size block time. So these are all something definitely a developer would get into once the things have gone into production. This is more towards the administration based on how the network is behaving these stakeholders would like to either change the batch size of batch time, block time. And as I said this are more into administration so this enables easy administration of the network for production. Then if we have to upgrade the Hyperledger fabric version, for example, today we have the latest 2.4 so, but in the journey definitely people would have started with 1.0 and 1.1 1.2 1.4. It makes it easy so all these stakeholders specifically for work together and add the new capability and updated. So I think the identity management is just a way in which every member the registrar of any member they are able to create identities and manage the life cycle of identities. We could create more affiliation so this is like more granular way of defining certain use case for example in a use case we want to have within an organization certain objects could be accessed or modified by a particular department. We could create those affiliation and in the same chain for we could do access control, use the CID library, get the identity data and perform logic. But from the administration side and the creation side this UI makes it much simpler for the company to basically manage identities create types of roles. And then if someone leaves the organization and they still have access to their identity then how do we ensure that the transactions are not possible. So one of the key aspect everyone knows that we could create identity we could also create CRL but if CRL is not updated within the channel is still that ID could be used. So, though many people would come at this stage, even a particular duration in production is over but it's equally important that if some identities are not to be used that then the respective members are basically not just discard them first they should rework them generate the CRL and then push it to the channel. So that in case the identity compromised the data is compromised somewhere the transactions cannot be done. Every user have a valid and what we have seen here that we are able to create identities, but what do we do if we are interacting with certain transactions are coming from a device not by user. So, basically this enables us to download the key pair and the credential in something similar way, the Hyperlegia fabric folder structure comes like when we use the SDK we create a credential it creates a certain way in which the folder structure is created like the admin peers and signing key certificate, it will create in something similar and then people could use the choice of their SDKs and then integrate with the automation system to perform projects and integrations and reporting. So this I have already covered to use the API to integrate and manage channel. Yeah, I think that's it on the technical perspective as well. Any queries. Hello, please use the Q&A box or the chat or feel free to unmute yourself and ask me any questions you might have. Okay, are there any questions. Okay, I don't think we have any questions for right now more. So, thank you so much for your up. Actually, we do have a one question just a second, but we please feel free to unmute yourself and just ask the question. Thank you. Hello. Hi, can you hear me. Yes, please. Yeah, I am started learning. I was back starter developer and now I started learning web three. So in web three I have started learning of story. So can you provide me like some sort of roadmap to move forward. You are working on web three. You plan to develop web three applications on on the hyper ledger fabric. So I was like, if I add on what I like what I will be my front end and that can answer like this blocking. Yes, like. Right, I am not expert in this. I am just beginner in learning. Yes, so if you see the. So, I think you are mentioning about the letter and web three, so we're three pillars are basically decentralized identity and decentralize the station of object storage, and then decentralization of all these static files your application and so the fabric is anyway helping us in creation of identities and then creation of objects so based on the use case the privacy model either you could design your data structure put it in wall state or you could use a combination of pieces for storage of heavy files and any media we could use IPFS and we need to slightly learn on the decentralized identity standard. So, in web three, every object also is it object as a thing is also an identity. So hyper ledger fabric, what state would would act a wall state or the blockchain would act as a storage of all the identities and all the objects, but how to structure it in the DID standard, or is something which I think you could use as an example, like any object, for example, if it's a pen or a mobile phone, how to represent that in the DID format, store it in the using a transaction and then how do you associate the relationship between two identities. So that's how I think your chain but development journey would start to create a true web application. So in that which language I should learn I have started learning solidity right now. Yeah, so solidities. For example, for hyper ledger, the other projects you could go for hyper ledger fabric, you will have to use either of go lang Java or not just to write the smart contracts chain quotes. And really it's better you start learning either go lang or Java or not just so you would be able to write a hyper ledger chain quotes and also work on the SDKs and interactive. Okay, so thanks for sharing. Can you provide some resources for that or I should use YouTube only or official. You could send a message. Okay. Thank you. Okay, that's great. Thank you very much for answering the question we're at the top of the hour. So we're just gonna wrap it up. Mavi, if you will have some further questions you can join our discord channel, you know, or we can, or just ask Mojit directly. Well, first of all Mojit thank you so much for this great presentation. It's been really a pleasure and it's, you know, quite a lot of information for the last 60 minutes. So let me just share my screen really quickly. So here is our discord channel you're very welcome to join it. You're welcome to join a community and we have various different channels related to projects, special interest groups, which are the industry specific groups, our technical working groups, regional chapters and much more. You can also scan the QR codes to reach our discord server. In two weeks we have another webinar with chain yards about finding the business value in trust through blockchain and I'm inviting you also to join this one, and you can join go to our events page and register there. Finally, we are back in life meetings we are having the hyperledger global forum from September 12 to 14 in Dublin, Ireland, and that would be a great opportunity to meet in person as well. The registrations are open so please feel free to check our webpage or also scan the QR codes to find more information on the hyperledger forum. Thank you very much for watching. Thank you to the panelists. Thank you again for all the information and thank you everybody for joining and hope to see you soon on the next webinar. Thank you. Thanks to us. Thanks everyone. Thank you.