Comprehensive Blockchain Training – Master the Fundamentals and Beyond!
Description:
🚀 Ready to dive deep into the world of blockchain technology? 🌐 Join us for an immersive and comprehensive blockchain training that covers everything you need to know to become a blockchain expert!
🔍 Course Highlights:
Fundamentals of Blockchain: Understand the core concepts, principles, and components that make up blockchain technology.
Cryptocurrencies and Bitcoin: Explore the revolutionary impact of cryptocurrencies, with a focus on the pioneering digital currency, Bitcoin.
Smart Contracts and Ethereum: Delve into the world of smart contracts and decentralized applications (DApps) using the Ethereum platform.
Blockchain Security: Learn how to secure blockchain networks, prevent hacks, and understand the importance of cryptography.
Decentralized Finance (DeFi): Explore the latest trends in decentralized finance, including lending, staking, and yield farming.
Blockchain Use Cases: Discover real-world applications of blockchain in various industries such as finance, supply chain, healthcare, and more.
Blockchain Development: Gain hands-on experience with blockchain development tools, languages, and frameworks.
📚 Who is This Training For?
Aspiring Blockchain Developers
Entrepreneurs and Business Professionals
Students and Graduates Interested in Blockchain
Anyone Curious About the Future of Technology
🎓 Why Choose Our Blockchain Training?
Expert Instructors with Industry Experience
Practical Hands-On Exercises and Projects
Access to Cutting-Edge Tools and Resources
Certificate of Completion
👩💻 Get Ready to Transform Your Career!
Whether you’re a seasoned professional or just starting your journey in technology, our comprehensive blockchain training will equip you with the knowledge and skills needed to navigate the rapidly evolving blockchain landscape.
🔗 Enroll Now and Unlock the Potential of Blockchain!
👉 Don’t forget to like, share, and subscribe for more valuable content on blockchain technology! 🚀 #BlockchainTraining #LearnBlockchain #BlockchainTechnology #CryptoEducation #TechSkills
📌 Connect With Us:
Visit our Website https://mcal.in/
Follow us on linkedIn: https://www.linkedin.com/company/mindmap-it-solution/
Facebook: https://www.facebook.com/MCALIndia
Twitter: https://twitter.com/MCALGlobal
https://www.instagram.com/mcalglobal2
📧 For Inquiries and Support, Contact Us at info@mcal.in
I think all are here here now right no B has not joined it so are we waiting for V you can give me one more a minute to Vin if he doesn’t join you can probably start he’s joining in 2 minutes just I got AE message okay okay fine
So Kaka timeing what are we going to cover today yeah sure I mean yesterday uh Sunil uh demonstrated you about I mean he mostly uh I mean uh introduced you to the multichain uh theoretically I mean all the U background
Behind multi chain what is multi chain and uh how uh actually multichain works and uh know it solves your problems your custom problems and how is it uh you know possible to use multichain as a private blockchain I mean he just introduced uh to all of you guys about
These Concepts but uh today we are actually going to see how we can use multi chain in a private way so that we can uh use it for our own use cases and are having to develop our own private applications based on that so today’s session will be completely practical
I’ll be showing you guys how to set up the multi chain uh how uh to configure it how to play with the commands and how to browse the uh multichain and all very good sure kak as saying yesterday that we can have some time on coming weekend so can we go for
Uh a any us case and after that designing blockchain application and setting up all togetherness private blockchain so okay before going that so today it mean we will set up our private blockchain then another blockchain and then we will communicate between those uh yeah
I mean today uh we’ll be using multichain okay so in multichain you can create your own assets I mean asset can be anything like uh I mean uh your regular example of uh you know Karnataka government’s land record uh on a multi chain so how to implement that kind of use case
We’ll be looking at that today I mean it will uh be giving you a complete picture today how basically blockchain can be used uh uh you know for your custom use cases to solve your private uh
Uh you know use cases and problems uh which will be uh on the multichain platform okay yeah so the application that I’ll be demonstrating today uh is enough for uh to term it as a application on
A blockchain because that is again built up on top of the apis and all so we can uh you know modify that uh same application as well or we can build another one if we want or it will be like uh
On your choice if you have some uh completely different use case then you can design on top of it but it’s like a vanilla application built on top of multichain which will show you how to you know create your own asset and uh you know transfer that asset on a over the blockchain
Okay so as time being one more thing on test net uh on that day after that I followed I created my account and in fact 10 accounts I created I was able to transfer money from one to another account
In the same way suppose that some other person is also creating some account on test net okay I think so I should be able to send money to him too yeah sure I mean any address on the test night you
Can you’ll be able to send him okay yeah these are like tokens I mean last time what we we uh actually saw these are tokens on top of ethereum so uh if your token is uh you know published
On the testnet and you know the address of the recipient to whom you want to send some tokens in a similar way that we saw last time you can uh enter his address and send some uh amount to
Him okay I was thinking that all the accounts are only on my computer on the testet I mean you can see it on Robin Network right so robin. ether scan. shows you that address live on the
Test net so that’s a live address on the test Network and one more thing related to that on Smart contracts we created so what is the actual use Case Of Swarm is so swarm s w RM
Which is used for storage in ethereum okay so I mean the one use case is uh a currency okay uh storage is uh I mean something that you can uh if you know the key value storage okay and
Uh basically record management in that case you can use it as you know it’s a kind of I mean uh the similar concept is there in today’s session as well it is called streams on multichain so I’ll be
Showing how exactly streams are useful for uh as a database I would like to say uh simple you know time series database on top of blockchain I mean I we will be coming to those examples specifically
In today’s session so it will be much clearer to you guys okay you mean the storage will not be the part of blockchain itself but it will be saved somewhere else uh storage I would say uh see your
Contract has uh some storage associ associated with it okay so when your contract is published I mean you have your uh uh State variables in it and these State variables can be like of any
Size I mean it depends on you how long the string you define in a state variable and how uh big you can you know fit a string uh in a contract so so all these values I mean when you’re transferring
Something or whenever you uh executing some uh transaction over the network so it requires some storage for that I me to store those values and uh while you know it is getting W so that kind of storage is required so I think Will has joined okay yeah hey Kaka good morning sorry
I’m late hey no issues so I think we are good to go now yeah we can go sorry about that yeah no okay guys so uh in today’s session we’ll see we’ll be seeing like how to deploy private blockchain using uh multichain so basically the first step would be like setting the private
Blockchain uh that means uh we have a multichain project already which is open source by the community and we’ll be you know setting up that project on our uh machines and post that will be plugging our you know custom use case on top of that so then creating a blockchain means so when
A multichain is installed multichain is basically uh a platform I would say and on top of that I mean in uh in that multi chain you have to create a chain to start with so if you remember uh I had
Talked to you about the Genesis blog on a chain so chain only starts when there is at least one block uh in that chain so then only you can call it as a chain so creating that Genesis
Block uh will say that you know your chain is ready and that can be now you know extended to unlimited so after that once you create your chain or your blockchain on IND CH uh then you
Should be able to connect to your chain and see how many blocks are there uh like what is the current state how many users are uh users are associated with that how many nodes are connected
To your blockchain what is the permission given to each and every node and uh how everyone is uh you know uh connected to your uh chain because blockchain is a peer-to-peer Network you don’t have have a single server where you can say thaty I have this server and all are connecting to this
Server and these are my and this is my network in peer toer it is not the case I mean uh everyone can connect to you there is no server dependency there is just a uh a network node required so
Suppose uh I’m creating a chain and I am adding s on on the network so what s I mean uh if you have followed yesterday’s session from Sunil so in multichain the only difference is that I mean here you can control the permissions uh on the network I mean uh the public blockchain
Such as uh Bitcoin and ethereum you don’t have any uh control lower who can join it I mean anyone who downloads the blockchain can simply become a node on on the network but in the multichain you get uh a control dashboard basically to give the rights to each and every
Node specifically about the exact actions that that node can do so we’ll be seeing that again uh then we’ll be running some commands to get you all familiar with the uh different uh you know the CLI commands offered by the multichain uh V can you U mute your mic there is some noise
Coming yeah that’s fine then we’ll be seeing like uh how to create our own custom asset uh on the CH that we’ll be creating okay it can be anything for example we can create a coin we can create a land record we can create
Anything that is there in the real world like we can create a say a diamond for Diamond uh is a good example uh which in the diamond industry what happens is that every stone is valuable even
If it’s a very small entity it is valuable and the history of that uh stone or the diamond uh needs to be very carefully uh stored or managed because anytime when a diamond comes for a sale
It has to be traced right from its birth like uh how much work has been done on it how much what was the previous rate it was sold on its carrot value and the other color value shap value
Everything so that is one of the example like we can push a diamond industry on the blockchain we can uh create coins we can pull I mean we can push land records on it like that I mean any customer
Set we can create and manage out manage on the multi chain then we’ll be seeing like transaction metadata so whenever you uh push any transaction when uh any uh transfer of the asset or anything uh which is associated with the network so on the multi-chain network so any change or
Any modification for example uh suppose I want to assign some permission to node two from node one so suppose I’m the owner of the private blockchain and I want to associate or you know disassociate some uh access rights from the node to then I have to push that as a transaction on the
Network so these are like type of transactions that flow on the network so we’ll be seeing those then uh we’ll be seeing streams so streams uh if I don’t know if Sunil has covered it
Yesterday but streams are like uh I mean it it is kind of a database you can uh uh say which is there on the blockchain and it it helps you to just store key value uh storage uh if you know
About the no SQL databases like mongod de so all these are like key value storage databases so even blockchain can offer the same thing and the uh very important feature from the blockchain is that it is remotable so uh all the key value storage values in a Time series format for example
Suppose uh you want to store uh stock prices on the blockchain so what happens is for the stock prices I mean there are only uh few entities who can write these stock prices one is the exchange
For example in case of India NSC and BC only can write the values of the stock prices they are the only Authority who can decide I mean who are uh allowed to modify or you know write the values I
Mean the right taxes for the those values are only to them and others are just plain subscribers so in that case uh your data you know uh gets post like every second or you know you know half of a
Second of the duration and it it will be like endless uh uh time A Time series data of the stock prices so we’ll be seeing how that can be managed and uh you know implemented on the multi
CH so that particular uh key value storage provided by the multi chain is called as a stream and finally we’ll be seeing uh how round drop in mining is uh actually executed on the M
Chain all right so what I have done is I meant to uh make it very uh easy for you guys is to set up multichain and uh uh start with you know developing an application on top
Of it I have created a Docker uh project for this so my project is available at the first URL that is mentioned here so I’ll be showing what exactly is there in the project uh so to
Use that project I mean you have to first check out that geter I think it is already checked out uh in the last session uh so inside that I have created another directory and uh where the docker project is set so to use Docker obviously you have
To install Docker first and configure it to you know uh to get started on your machine first if you’re using Windows and there is a different procedure for Linux it is fairly simple all right uh then in the repo I created a multichain directory uh and inside that I have
Kept the do project after that you just have to follow the readme.md of that directory and uh all the steps are provided in that so we’ll be going uh each and every step today uh in Practical and I’ll be showing you how to you know exactly start it and how to configure it
How to you know uh check the applications and the things that I’ve done in the do project then uh there comes the CLI for the multi chain so there is a good example of uh I mean how to
Get started with multi chain so multi chain itself sorry I’ve done a very good example of the steps to get started with multi chain so we’ll be using their own page uh just because it is fairly simple and very uh interactive page so whatever commands we need to fire whatever
Steps we need to do so they have documented very well and uh based on the uh uh steps I mean we need some inputs at some steps which are unique for each and everyone so I cannot
Document like uh plain steps but those steps should be like I mean those are some some of the steps are like Dynamic where some values are Dynamic so we’ll be seeing how this page is helpful for us and finally I mean once this session ends I mean you can go to the
API reference from the multichain and uh see how uh apps can be you know built on top of it uh even if I’m showing uh uh an app in the demo that is also built on the same apis so you can figure out like what applications I mean what application actually require from
The blockchain to you know build your own use case and uh your own functionalities in the application okay so let’s uh head with the live demo okay all right so this is the uh doer project that I was talking about so this is
My repo blockchain training and inside that I created this new directory uh is the font size uh clearly visible to you guys or should I increase it well I’ll increase it okay so in the read me you can see uh all the
Steps so first you need to install Docker uh on your host machine and uh then there is fair simple steps so if you guys know the docker I mean how exactly it works and all that would be uh much better if to understand this and otherwise if you don’t
You can just uh you know follow simple Docker tutorials uh and get understand understanding of what I have done here so I created two important files for a doer project uh so my first file is Docker file no extension just uh named it as Docker file so
In that I have to just say that from where I want to you know build my image or the container uh so I’ll be saying that from the UB to Z 16.04 image uh will be my base image uh then I’ll be simply
Running all the commands that I uh want to you know install as a dependencies for my application or exact application that I’m building uh in the uh image so these are a few things like basic lookas get and curl then WG and Nano editor and everything that is required then I’ll
Be installing a PCH to PHP and few dependencies for the PHP then I’m setting the locals here okay after that what I’m doing is I’m just uh creating a directory called as OPD SL multi chain which is
Actually mapped to my uh project route okay so we’ll be seeing how this works I’ll be sh the actual VM uh in which I you know created this image so workd command is simply just saying that
Where I want to execute next set of commands so I’m just going in that directory what I’m saying is that uh just simply fetch this uh package from multi Chen which is multi Chen version 104 uh then simply unpack it and set the work directory to unpack folder and then simply move this
You know binaries like multi Chen D multi Chen CLI and multi Chen util to you know my bash uh directory okay first that uh I’ll be showing you the application that I talked about like an web application which is uh built on top of multichain so I’ll be I I already have
Installed Apache to so I’m just cloning this uh multichain web demo from the get repo again this is from multi chain and I’m simply extracting it there in the web folder of my apach to then there is something called as multi chain Explorer so these are the steps
Associated with with it it’s a python based application so I’ll be uh installing first all the dependencies then I’m fetching this multichain Explorer project and finally they setting it up using its own command so I’ll be sharing this links from uh where this uh
Project come comes from so multi these are all from multi you can see multi chain web demo and multi chain Explorer so these are all provided by multi chain and again this is uh multichain code okay so this is uh there in my uh Docker file so any questions guys as of
Now so Kaka which language did you execute all this uh queries uh yeah so yeah so this is a Docker file so Docker has its own set of commands uh you can use it in Docker file so this from run
Maintainer and all these commands are from Docker itself but uh after run I can run uh the plane command that I’ll be usually running in my ugu so you can see after R all my commands are for
The are basically the Linux commands uh that you generally can run in any uh you know ENT environment so uh at last you you are running it in Python to set it up in Python right MH that
You can use the Python language yeah I mean you can install so this Docker what actually Docker creates it’s a virtual image for your application but it will be uh it will be much uh similar to
What we do uh when we create simple virtual machines using virtual box and uh uh there is another from Microsoft uh workstation or something so uh what actually uh doer does is it creates the
Same isolated environment but not as a you know a complete uh VM so it will be on your host machine uh but you don’t require like all the virtualized environment for that so that is a beauty of Docker
How quickly and uh how precisely it you know creates a VM for you but uh it is simple a process in your host machine and uh nothing like a completely uh uh you know setup of virtual machine
I would like to say okay so we’ll be seeing yeah yeah the reason I was asking all this question is like if I have to learn it uh start with the language to uh execute so then should I be if I am
On Java platform or if I’m on P so uh for both of them it will work for any of the languages it will work this doer file initially I have to go and then um at the last command where you are running
It python I have to run it in Java or wherever my intended langu I mean you can host any programming language application inside your Docker image there is no limitation for that I mean uh you can install all the dependencies like for Java you need to have jdk and Tom Cat installed first
And then you can deploy your War file of your you know Java web application into the tonet so that will also run okay sure thanks yeah so there is another uh supporting file which would be like a
Main file again for Docker so that is called as Docker compose yml file so what this file does is that uh this actually controls your Docker uh containers so when this will be run uh the First
Command which build the docker images uh done by this Docker file after that whenever you run your image suppose now you have built your image and it is sealed all the dependencies are installed all these softwares are installed po that what will you do is you will be simply running your uh you
Know uh Swit off uh image just to start it so this uh file comes in picture so what it does is uh it basically ask you uh like how many notes or how many uh uh you know images that you want to create
So that is listed under services so in the service I would say get me a node one okay uh to build my node just use my root directory suppose you have checked out some application here some code here
And you want to you know map it to the uh the image so everything that is there in the multi chain directory will be mapped to my image we’ll be seeing how that works then you have the volumes
Volumes is again like your current directory and where exactly you want to map uh in the image so I’ll be so inside my image I’ll be saying that under op just create multi chain directory and
Map everything from here to there then there is a startup command uh you can pass to the uh image so what I passed here is that uh we’ll be seeing uh op mul start.sh so this start.sh is basically
Here in my root directory this is s file with execution permission and uh what I done in that is I’m simply saying that when this image start uh just start my just restart my my Apache to so that
I can access the port application and after that I’m just saying that tell Das and anything that means just keep the uh terminal open so that uh I can access it okay uh then there comes the port
Mapping so what I’m saying is uh so this is host and this is uh the container so from the container P0 would be mapped to my host machines 8001 P so whatever application running inside the container so inside container I don’t have any desktop installed so there is no browser to you know
Browse my applications so what we usually do is we just tunnel the ports from container to host machine so on the host machine you can access uh Port 8001 and whatever application running on Port 8 inside your container you can access it simply similarly for these ports 2750 would be mapped to
2751 on the Node one so this will build my node one so I’m creating another node because we are uh learning blockchain application so and it’s distributed we need multiple nodes you can create any number of nodes right here you can create node 3 and you can give the same configurations
And you can just you know start us as many nodes as you wish to do okay so in the node two the only difference is that since on my host machine it’s a single machine uh my port 8001 is already bound to
This node0 so what I’ll do is I’ll say that for Noe 2 just map it to my 8002 okay and for again for Note 2 uh 2750 is not to my 2752 so that it will be uh so there will not be any overlap
For the not sorry sorry for the ports and I can differentiate between which node I’m accessing and which node I’m looking at okay so Docker is very interesting uh technology you can uh uh you know kick start within a you know day or two because it’s fairly simple and uh you know configurations
Are also simple and easy to understand there is no complexity uh as such if you know what is uh like how virtualization works if or even if you don’t know about it I you can just start with it and try
To understand uh how exactly this uh environments are getting created and how you see a completely isolated uh environment for your application so suppose uh I want to you know transfer my image
Or I want to transfer or I want to share my image with you guys so what I’ll do is I’ll simply uh send you this two files these two files are enough for you guys uh just to start the same environment
That I bu that I built here on my my machine and if you run this uh I mean uh this two files on your machine it will be creating exactly similar environment for you guys because everything is uh configured in this file what needs to be installed what versions you want to install
You can configure each and everything each and every piece of uh dependency for your application and again your application is definitely should be the same that uh I’m you know uh accessing so any doubts uh until this okay so so let’s start with uh the actual practical of
Today okay so what I’ve done is uh I have created one host machine here because I’m on the Mac already Mac OS so I needed some uh P Linux environment because I won’t uh uh bother my host
Macw uh with all this because I anyway need some pure Linux environment because in some cases Mac has some uh you know different uh differences in the command so that so I usually prefer uh Linux
Programming and Mac just to you know keep my file set all right so one Kaka one quick question so this dock image will work on Windows as well right yes yes it will be working on Windows as well same
Okay okay thank you so on windows again uh I mean you can simply run the same Docker file and Docker compose file and it will create you know vux environments for you guys noes with that okay
So let’s see what is that so this is is my uh directory I have Docker compose yml file Docker file and then I have this uh read me files and the start. file okay so the First Command that
You need to run is Docker compos build so this command will download all the dependencies uh that we have defined in the docker file and it will install it and it will do all the steps
Right From First to end that we have defined in the dock file so I have already run this command uh just because it takes some time to download and again the network uh band we is included in
That so I just already run it so the next command that I uh that we need to run is simply say Docker compose up so now my images are built so how to check if my images are built or not so there is a
Command you can uh simply say Docker PS all okay so you can see these are all the images that I have built on my machine so uh even you also would come to know what this images are once you know
Build uh so on the final on the top you can see that these are the latest images that I have built so multichain node 2 and multichain node one so these are the two images that are very latest uh
Uh in my machine okay so if you want to see what all images currently running so if you simply say Docker PS it will show you the list of images that are running so currently there is no image
Actively running on my machine but images are built and they are present I can run them anytime okay so uh one more thing about uh Docker compose the docker compose actually works based on your
Directory okay so now this Docker compose file is there in my M chain uh folder up okay so uh the images that I have built are basically specific to my directory okay suppose something goes
Wrong and I just want to scrap this uh images and start a new one so I can just copy the directory just name it to something like multi Chen new and this run again Docker compos it will build
Fresh images for me so that’s how it works uh so it keeps you isolated again with the directories and that’s only for the docker compose because Docker compos are specially designed for uh you know directory specific projects so that you know you can simply copy it and you know rename it to
Some other directory name so that will create another isolated Dage for you so if you see uh so this node one comes from my Docker compos yml file so this node one okay and there is node two again here so you will see two images multichain is my directory
Name and node one is my image name that I have defined so similarly multi chore node 2 okay so my images are built so I just have to Simply uh [Music] say Docker compos so what would what it will do is it will start your nodes or the images that are already created
By the build command and now you will see uh it is giving me output specific to my uh node okay so you can see node 2 hyph 1 again node and this is node one hyph one so what
Happens is that you can Define uh I mean there is an advanced level of Docker again very can Define uh number of workers for the docker image so you can you know internally again create multiple images or the workup processes for the docker image so that is why you are seeing another
Post fix here Note2 dore1 so right now I have only one process inside that so it is saying that simply underscore one for both the notes so these are like Docker related uh things but I’m
Just explaining just uh so that you guys are not you know confused about it so we are having only two noes the images running right now one is you know showing in the yellow color and another one
Is in slightly blue color and this output you are seeing here is because I have written that uh command there that is there in my start.sh so when this is executed it is giving me a is
It is giving me a message saying that Apache to could not be Rel determine the Ser name because I have not changed this is a simple warning from the Apache that fully qualified domain name is
Not so that is fine I can just simply access it from the local domain name and this is because the second command saying that anything is notory because is definitely not so I just kept it just to keep uh the terminal open okay so now now just jump onto another tab here and
Now just say dops now you will be seeing I’m having two images of the containers running so this is my uh multichain node one and this is uh this one uh this is node one and this is
Node 2 and we’ll be seeing all the mappings that I have done so all the mappings in Docker compos yl you can see it again here p T and Port 2750 is mapping here okay so my images are running so I listed all these useful commands here again whatever are necessary for our
Project so my images are running now but how to access those uh nodes now I mean I know that my nodes are running but how to go inside that node and how to you know uh run
Commands and how to check uh the application so for that what you need to do is for node one just copy the container ID from here and simply say Docker excc command which has this format and say I need to start with the bash command The Bash program for the from this
Particular image which is running already so connect me so connect me to the bash okay so now you are inside the uh image with the root user okay and the directory that I’m landed on is OPD / multichain which I had created in the docker setup so now just check what
Is there so here again you can see the same thing my same project has come here and uh I can see all my files here so similarly connect to uh node 2 okay just go to node 2’s container ID and you are inside the note two so now how to
Uh check the IP addresses of this uh nodes so simply say so I can see the IP address for my node one is 17292 and for the second one I can see it is 172903 so that is fine and and again just have a check whether I
Can communicate between these noes because for running multi-chain you need to be on the same network or the reachable uh Network so let us ping that guy from node 2 yeah and you are able to connect so right now you can see I’m into completely isolated environment where my
Host machine is different and I’m into another image which is again a ubu image but isolated one I have different IP address I have all the uh everything is different here I mean there is nothing uh I mean I would like to say a Shar from
Your host machine you have a completely isolated environment like a fresh virtual box virtual machine that’s the same thing but this is from the doct so we are into node one now okay so uh after this what I’ll do is I’ll start with the actual uh uh page which
Is an official page by uh multigen which is very very useful and uh well documented one so so we’ll start with uh the steps that I provided there anyway I have documented
This on my R me file but uh we’ll see why this is very useful okay so right now we are in the node one and uh but there is nothing uh I mean kick started here I mean to just
Fresh node where my multi chain is installed how it is installed because I have done that from the uh Docker file already so if you see I have already moved these commands to my uh bash so let’s see whether it works or not so before that let’s jump on to CLI command so
CLI is multi chains uh command line interface so let’s see whether it is available yes it is available okay so it is installed and ready for use now so let’s follow the steps to uh basically create a chain so or a blockchain I would say so my platform is ready multichain
Is ready uh but I have to kick start a new blockchain okay so I would name my uh new blockchain as say chain one and to create that chain one you have to run this command see it will show you that uh your blockchain has been created successfully and the
Parameters file for the blockchain is located here root sl. multichain chain one chain one is the name of the chain that I’m giving here so if you say chain X then chain X would come here so what
Multichain does is that I mean uh Sunil might have already told you that multi chain can run as name already suggest what it is it can run multiple chains or block chains at the same time on the
Same platform so that’s the beauty of multichain so I can create as many chains as I want and I can simply name it accordingly okay so chain name is unique so I have started chain one right now and
What it says is that uh to generate the blockchain I mean to generate the first uh Genesis block for the blockchain just run this command I would simply run it okay fine so what it says that
Uh okay so this gives me some information about uh the platform that is multichain 104 this is the protocol version and it has now started the Genesis block Genesis block is found and it says that other nodes can connect to this node using this connection so if you see uh
What this connection is all about this says that multi chain D is a command for multi chain and this is chain one and at theate the IP of my node where I started it and the port number
Okay so anyone uh in the network who wants to connect to me uh just have to uh you know run this command on his multi chain uh instance okay so now you would say that uh in so again this is
Become public anyone can join me but no this is not the case it is just a connection string but after that uh the administrator of the node one I mean this Genesis or the root node has to
Approve and give permissions to the uh node who is trying to connect to me we’ll see that how that is done okay so we have run this two commands for now so now uh I was saying that this
Page is very useful because of this so now it says that copy and paste the node address here so let’s copy that so after that it will do some useful things for us so let’s copy this
From here okay so what it does is it creates all the commands which are required for me uh in the future based on my address okay now it says that uh your blockchain is running on node
One and uh so let’s connect this blockchain from somewhere else so I have a note already running yes I can connect from that so it says that from the second server just uh copy this same
Command and this is the same one that already given by like uh this multi okay so I’m on Note two simply say just connect to this guy okay what it says that uh retrieving blockchain parameters from the seed which is the node one okay blockchain successfully initialized
That means now this node is attached to the P top network of the chain one because I had pointed chain one on this IP okay now it says that uh please ask the blockchain admin or the
User having activ activate uh permission uh to let you connect to and uh uh a transact that means uh I have initialized the blockchain I got the parameters from the blockchain where it is located and where is the port is but to actually uh you know participate in that uh
Blockchain or the uh that private Network I would say because this is something that we are doing on a private Network so this is not a public network I uh I have exposed to on the internet
This is this is something that I’m doing on my interet okay or uh some Network which is owned by me because I’m utilizing the network bandwidth on all and I’ll be utilizing that for my custom application Okay so now it says that uh provide this commands to the uh admin of the blockchain
That means the node one okay who has actually kickstarted the chain one okay so it says that this give him this commands to run and you will be seeing there is some common thing here which
Is this particular unique address okay so this is a unique address of node 2 so what it is saying that uh multichain CLI chain one Grant con tax and then again Grant connect and send
Receive access okay so uh now this guy cannot run it because the uh this has to be run on the actual uh root node okay so let’s copy these two things these two things are not clear you multi
One Grant after the testing that is not clear here what does this represent yeah yeah so this unique string uh is basically an address of the uh node two okay you mean the IP versus Port that
Is different not the address but the address on the blockchain if you remember uh when you send some ether to your friend address right this is public key yeah so this is associated with this public key uh and this is his public address on the network on the blockchain network not the TCP
Network clear address of Home admin you mean no no this is the uh no node two yeah because I on the Node two I tried to connect to node one and it says that it is initialize but we
Have to pass these uh things to uh the owner of the uh blockchain so that you will get access to it okay okay fine so I’ll copy this things so that means uh how this will be working uh in a
Real world so you must be knowing a person or an entity or an organization to whom you’re connecting so suppose uh tomorrow uh you are starting a blockchain so I should be knowing you personally or I should be uh uh within your organization so that I can send this thing hey
Sunil just uh you know allow me to you know participate in your blockchain got it so that’s that’s how it is uh you know different from the other blockchain which are public but this one is uh totally private and secure so I’m just running this uh commands on the Node one now so
It says that it is done and it has given me the transaction number as well okay okay the second command fine both of the things are done so now I have access I mean the node two is having access on chain one because it started by node one
Okay so now that’s fine so now uh you should be told uh told that it was uh successfully initialized and you know uh so this is the page that I was uh talking about so if you
Just copy this even if you have already run it but but just uh see how it uh you know create some useful commands for you so this actually replace this address from here this text box and created a command for so this we already run on the uh first server
So that is fine so now try reconnecting again from the second server okay so to connect to the blockchain and become a part or become an active participant uh at the time and start you
Know mining and everything so what you have to do is simply say so the chain one is again now because I have initialized chain one which is located on node one so this chain one is again
Specific let start what says that uh it says that uh the node is started okay the blockchain parameters are retrieved and uh you know the listening for the API request is on C this is
This this this is something that I’ll show you later and it says that no is so my node is now connected to uh node 2 is now uh properly connected with permissions to the node on blockchain all right so now before we uh proceed let’s you know interact uh with
The uh blockchain so uh I know that I have allowed node 2 uh to connect to my blockchain and is part of my network and everything okay so just go to any server uh I mean any node
Let’s run this on the let’s enter into the CLI mode now so CLI mode is something that this is like a python shell if you know what python shell is or what python command does
Is inside I mean python shell you can run all the python commands and you know you can simply write your Python program as well so similarly uh there are some specific commands to uh there are some commands which are specifically from the multi chain so to run those you have the CLI interface
And you are now connect connected to your uh node one because I run this on the uh node one so there are some uh informational commands like get info to check the information about your node
So it will show you things like this like version node version what is a protocol the chain name and you can see uh because I’m connected to chain one it is showing me specifically about the
Chain one so this CLI you can CLI uh command is specifically takes an argument as chain name so if you have a chain X or chain y you can enter it here and you’ll be seeing the information
About the chain that you connected to so this is my chain name okay protocol is again multi chain this is a code number uh and there are uh various parameters about this which are specific to the multi chain so you can see all what are all this on the you uh reference page
So all these are very technical things but we’ll be uh coming to the web interface as well so all these are very technical information but U as in when we enter into the web interface these
Things are not uh you know needed to uh deep dive into right now okay so we can uh check all the permissions uh which are given to the chain one so let’s see this permissions okay so here
I can see what are the permissions given to so you’ll be seeing one address which is repeated in almost all of them but there are some entries for uh second address there so this address you
Seeing is basically the address of this self node I mean this node one itself so the starter of the uh multi chain has all the rights because he is the I mean the father of the node so he has all
The uh uh permissions and uh you know access rights through that so this is the permission type you can see so the mining uh permission is given to me this is admin permission this is activate permission this is connect permission send receive issue and you can see these three
Entries at the bottom are specifically for the address which is you can validate and see this is for the node two okay so when we had actually run these commands so this permissions were given to this guy which is my note to so this way you can always browse what are
The permissions given to guys and definitely I mean by looking at this address you should be able to determine who is this guy because you have added it so you must be knowing it you have you must have written somewhere uh in your you know uh personal email or some you know Excel
Sheet about this address mapping so when I say this address you must be knowing that hey this is some uh machine on my network I know that so like that I mean the real world management is up to you guys because the address on the network does not identify anyone in the real
World okay so then there are multiple uh commands like get new address so this will create another uh address for you so how this is done because yeah I mean uh on on the network I can create multiple addresses because uh I can that just
A public key associated with my account so it is simply like creating another account on my not so that doesn’t matter we’ll be saying this uh uh in the live uh web application so let’s just uh jump to another uh command like we can you know list all the
Addresses okay so this shows me my address so I have only one address right now that’s fine and this ISS that get the blockchain parameters Associated and you know written in this particular file this file is pretty much important file for the blockchain so complete life cycle I
Would like to say or the uh it basically defines the you know the behavior and the the attributes of your complete blockchain so what are I mean we’ll be looking at this file specifically into the editor but there is a command for that which can show you the
Content yeah so yesterday uh if you guys remember uh soil must have told you about the uh few things from this file uh like the difficulty and all then there is something called as diversity level so all these uh Things are Written here for example this
One mining diversity so this comes into picture uh uh for the round robin mining uh and this is a complete different aspect we’ll be looking at the end of this uh session so some uh parameters which are very important from this file uh we’ll be looking at this in the editor again
But yeah I mean this is the file you can access it from the file system and from the command as well okay then uh there is one more command here like get PR info which will show you all the connected nodes to you right now so it says that yeah
Uh this ISS that this is uh the person who is connected to me okay this is my local address this is the local uh address on the blockchain this is Network address I mean the TCP Network address and this is the blockchain address and this is
The guy who connected to me so currently uh in the array you can see this is Json and uh it is an array So currently there is one guy connected to me that is this
Person okay so I mean that’s how it is I mean you can just uh you can anytime jump into the CLI and uh see the information about your the status of your blockchain so let’s jump on to
The actual use case like now this is set up and this is running but what is the use of this okay so here comes the uh another thing uh in the multi chain that is called as asset okay so
Asset is something that uh is represented uh in the data okay so asset means uh a data that is I’m treating as an asset so it can be anything it can be a coin it can be uh a land record it can be
A file anything which is uh you know which I can fit into a size of maximum allowed size is 64 MB so so within 64 MB whatever you can fit uh will be called as your asset so that is my asset so
Let’s say that uh uh I would be creating uh let’s take a simple example of uh again because we’ll start from the coin and we’ll jump to the other type of assets or things from the web interface okay so now it says that to issue uh so so how this asset actually starts
Okay so there is a permission called as issue you might have seen that when I showed you the permissions uh list okay so in this you can see there is one yeah so this is the permission which is called as the issue permission so issue
Permission means that uh you have a permission to issue an asset a new asset okay right so just check the list permissions and in that let’s see the issue permission okay so it says that only one guy is having the issue permission and that is me uh I mean that is
The same node that’s fine so just copy this address and uh paste it here now what it says that now we’ll be creating an asset on this node with some unit okay so for example I’m creating uh say I’m creating a coin again here a currency coin okay so just jump
Here suppose I want to create uh 1 million coins right and the denomination again okay so this is the quantity uh I’ll name it some way so I would say that this is my lcx coin or I
Can name it anything this is a string as I said this can be a 64 MB maximum allowed string you can pass it here uh uh and that can be your you know that that you can treat as as your
Asset for example uh I can say that this is uh so uh coming to sunil’s uh know the Legacy example so I can say that this is uh ABC apartment flat A10 sorry a101 okay so so in your case when you
Say that uh I want to create an application or I want to put the land records on the blockchain so in that case I would be saying that this is the flat number a01 in ABC apartment okay and I
Want to maintain that on the blockchain so just create one quantity of it because obviously the real flat would be one in the world and this CD nomination would be again one so whenever this is uh created that means we are creating or we are issuing this flat or I mean we are
Putting this flat on the blockchain for this guy so this guy means I’m the owner right now of this blockchain so once if I execute this one so this will create one flat with this name and
The owner will be this or the current holder of this asset would be this guy and what about the details where will we pass to BK yeah exactly I can show you that in the web interface so in
The command line we I mean I don’t have the complete Json uh in hand right now to create that okay so I’ll be showing you that in the web interface so let’s simply go with the uh MCX coin again Kaka one question basic question so when this Bitcoin would have been
Started by Satoshi he would have done this thing right exactly so when he kickstarted Bitcoin he would have done this thing so he would have created the coin called as BTC okay here and this would be the first address I mean definitely his
Own address and uh the amount of coins that he initially you know started okay thank okay so let’s create this asset so it says that it is uh put on the network and transaction number is there so my asset is created now all right so now let’s see
Balances so now it shows that here are your assets and uh this is the one asset that that is there on the Chain right now which is cmx and the quantity is this that is
Fine now uh let’s say uh I want to transfer this asset to the uh person on the network or the node on the network okay because that’s uh why the blockchain is present to transact okay so if you notice here this is already an address of the second node okay this is
This was the second node so this page actually uh creates all these interactive commands for you so that it goes very smooth so this is the address of the second guy and it says that send
Asset because since I’m the owner of this asset and I’m running it on Note 2 it will execute say would not be executing on the Node uh I mean the other node because he doesn’t have any quantity
Or any uh any asset Associated right now in his balances okay so send uh just change this asset one because we modified it here only so cmx is my coin and say I’m just sending some 100 coins to
The other guy it says it is on the network this is your transaction IDE fine so now let’s again check the balances and let’s see whether it is executed or not yeah it is executed balance is
Reflected okay so let’s see and check the whether it is actually uh you know uh delivered to this guy is is there um mean can connect through m mask to these nodes uh no metamask is associated with
Etherum platform right so that is Guy Type L Bally from where we get yeah I’ll be showing you that so when I’m talking like web interface in my whole session I’m talking about that complete interface which has all this I’m just showing you these commands because uh if you want to develop
An application in future okay so you yeah so you must be knowing all these commands so which you need to you know code in your application so that you can communicate with the multi yeah correct all these are available in the apis the commands are same uh but just this is command
Line interface and in other cases it will be rest API okay so let’s see on the Node two whether I have received it or not okay so jump on the uh command line interface on the note to and see
Balances yeah so here it says that I have 100 cmx coins in my balance F okay so this is again uh uh permission command so this is saying that uh uh I mean right now I have given the uh permission send and receive to the
Second guys so that is fine this is again say that they granting the permission if it if it gives you some Merit then Grant this permission I mean in future suppose permission is roked and I’m not able to do that so I can just grant it again from
Here okay so you can again uh see what are the transactions on my wallet using this command that is list wallet transactions okay so let’s run it on both the nodes first on the Node two so no to there is only one transaction as of now which is for
The asset the named as cmx and the quantity was 100 so that’s fine says that this was transferred to my address which is same my address and the incoming address for this guy so this is node one who sent me this 100 coins so that’s fine so I’m able to see
Transactions and you can again run the same command on the uh node one to see transaction that I executed okay so here it says here it will show you the same thing but this is minus
Quantity that means it is deducted from uh my own wallet uh asset was cmx and uh this is my address and this was the address to whom I sent it so fine everything is pretty much visible and transparent
To the network and this uh I mean these commands like list wallet transactions are publically these are by default available to all the nodes who are connected even if they don’t have the right access or the right permissions they have this read only permissions with them to see the
Transactions okay now I can again check the metadata associated with uh uh the transaction [Music] send with data command thing so this was the thing I was talking about Sunil so I can send an asset with a Json here okay if you looking at this so this is uh Jon I can form
Like in your case you said that what is the uh wi number what is the address what is the PIN code right so uh we’ll be coming to that part in the web interface because uh in the command line it
Is will not be clearly you know understandable as now okay so now let’s come to uh something called as streams so before jumping onto the streams I think uh it’s time to jump on the
Web interface because it is going too much on the command line all right so we’ll jump on the web interface right now okay so if you remember I had configured uh the web interface that was here so in my Docker file if you see I’m installing this Apache 2 so whenever I install
Apach to the by default configuration is to start on port0 so yeah so in Port 0 it will start my uh apach default website which is located at W HTML so inside that what what I had done is I had installed this multichain web demo application or the web app so this
Is in so whenever I’m saying work directory in the docker that means command after this would be executed on this directory so get clone has executed inside this that means I’ll be having uh a directory inside I mean the web root which is called as webchain web okay so let’s go to host
Machine so this is my host machine so now if I see I’ll open two tabs here just to show you what I’m doing okay so this 8001 is mapped to node one sport dating okay and 8002 is mapped to node
One node 2’s 40 that’s fine so inside that my application is here multi chain web demo that’s fine so I’m now able to see the uh multi chains web interface right but if you notice let’s open
It here again fine so I’m able to connect to both the nodes web interface fine but there is nothing here so why it is that because I have not configured my web application to connect to my uh chain instance okay so let’s do that so there are steps I have already uh written
Here so right now we are running this command on both the nodes and we are at this step now so let’s go to node first let’s fix the web interface or let’s start the web interface on node one first so remember this chain one uh is the
Uh yeah so this chain one is the name that I’ve given to my uh chain so this is a dynamic just remember about it so now let’s go to node one and open the uh parameters file for the blockchain
Chain one okay so I’m on Lo so exit from the C now okay you are back to the BH and now let’s open the parameters file okay so you will be seeing all the information that I showed you in
This CLI command as well so all the information is here again so these are the uh parameters for configuration of your blockchain and some of the important one I’ll be showing you here is you can see this is that anyone can connect false anyone can send false anyone can receive
False that means this is predefined configured as a private blockchain okay because the permissions uh now have to be given uh manually to each and every node that is you know that I want to include in my network so that’s how this is private I mean in case of Bitcoin and ethereum
These are kept open so anyone who is knowing the address simply can join it or anyone who knows network uh connection string can simply join the beer toer Network even if I know the one node in the network I can join them that means I connected to whole network so but
In multichain you have this uh reconfigured thing because this is specifically uh created for private blockchain so that’s why you can see all the permissions are given as false by default Okay so then come down and uh we want to select few things from here I want to note down
Few things so in my step I have written that just copy the RPC Port value for the default RPC Port okay so from this you can see there is something called as default RPC port and
This is the so this is where my uh apis would be hitting so right now my web interface is not able to communicate with the uh blockchain instance because I I mean the web interface does not
Know where it is hosted the code is not known to web interface so let’s uh copy this number 4258 all right now let’s open the uh multi chain.com file here uh but before okay that’s fine F so this was uh the previous file was the parameters file and this is uh configuration file
For the and there are very limited things given in the configuration file we’ll be seeing what is inside that okay and it says that RPC user and RPC password okay so RPC means remote procedure call so if my application wants to communicate with uh the uh multi instance I mean the application
Should be you know knowing these credentials to communicate with so it is very similar to uh like the apis that we uh connect to like Google’s apis or Amazon’s API so we get a access key or uh some credential file to communicate with or some access token so in a simpler way they
Are they have given this username and password so that’s fine so what we have to do here is uh we just have to you know paste or and upend a new entry here which is called as RPC port and uh RPC
Code and the same code that is 4 to 58 here okay and simply save this file and also copy the uh the password in this file because we require it in the next step so let’s close this file
Okay so we have done this we copy the uh RP user uh and the password okay and now go to the web demo project that is present in uh web rout so let’s let’s go to web
Root and you will be seeing I have already checked out the web application here okay so if you see the files of this web application this is plain PHP application uh which we just saw it here okay
So what they have done is they given some uh samp uh sample configuration file so we have to uh the example configuration file to something called as config.txt so let’s do that CP config example to okay and then edit that new file all right so now you’ll be seeing
That what are the entries here so this is the name of the chain that I want to or I can just simply change to what exactly the name that I’ve given that is chain one and this is host my Local Host RPC C is something that I have to replace here
That is 42 58 and this username you will be noticing that this is same this was the same username there but the password that I had copied I have to paste it here okay I pasted the password so I’m done with this configuration simply say save and exit okay
All right so I’m done with configuration at least on node one so now let’s browse the node one’s web demo project yeah and you see that I’m seeing chain one now so let’s open chain one all right so now I able to see uh the web interface for my chain one okay so
You’ll be saying this is node information which says that this is change one version protocol could you go on second tab I mean on the browser itself yeah because it will not show just okay so on the multichain demo you click after the config change and we get all
This those data you show the corresponding PHP file yeah PHP files are here I can just show it all the detail from config file and then curing from yeah I can just quickly show you that okay
So this file that we are seeing here is okay I this is a PHP application you can uh the link is there you can anyway check that but if you say I’ll just quickly open it and close say
This okay so it basically reads that configuration from the uh config.txt file that we created and based on that it communicates with the uh blockchain apis that we saw part that part I want to see after reading the config file what it’s doing calling the rest API or exactly yeah
Okay so I think I uh done on the Node one but let’s do it on the Node two so that we’ll be seeing the interaction on on the web interface so let’s jump on the Noe two exit from the C okay uh let’s repat the same steps okay just
Okay so let’s go to [Music] the port yeah Port is same that is fine sometimes the uh configurations get uh you know created different uh but sometimes you know they fine to have because it’s a machine
Related code we are fine with it noes to have same code there because it is only related to you know web application and the blockchain instance within the same machine so that’s fine okay so let’s create this entry here of this port equals to 4 to f8 and save it and close
It okay I forgot to copy the password password is different yeah so let’s copy it now jump to application and copy the config file so so here again the same [Music] application so let’s [Music] sort let’s place the password save
Close okay I’m done so now let’s open uh we forgot something we just kep the name default so this is again regarding the chain one that I’m connected okay now let’s go to tab two and see you got to change one again here now you can differentiate
These two notes can see the address Network address is different see this is uh 0.2 and this is 0.3 so you get the information uh how many blocks are there how many PS are connected okay so you will see that to this particular node 03 is connected to it and this is his
Handshake address handshake address means again the same address on the blockchain the which is associated with the public key and to node two node one is connected which is 02 and this is his address okay fine so I get some basic information here this says that this is
My address I can you know name it to my address this is simple label nothing to worry about it my address so this is again goes into transaction and uh once it is done we will be seeing it here
So every uh data change or every uh you know piece of data a change on the Node goes on the network and that is again as a uh transactions that means it has to be validated and uh the authenticity of
The change that means uh if I’m modifying it uh using my own private key so here comes the private key in picture so since I’m modifying it my private key will be used for that okay and uh
All the nodes on the network will be validating that transaction using my public key so since my public key is public to everyone they can try to decode that transaction and if it is decode if
It is decoded uh successfully that means uh This was done by me I mean the owner of the account so that is how it is uh done in a very simpler way okay so I can manage these two nodes
Specifically now I mean right now this is on my same machine but uh in the real world this can be you know over the Internet this can be my uh say located in say accounts Department this this
Is something might be there in my HR department whatever you design uh in the actual uh problem or actual uh you know the real world situations so that is how it is I mean right now we are in
The web interface and we are seeing the uh basic information so that is fine so now let us browse this complete web interface and uh see I mean we can call this as an application itself because
I’m connected to my node I got some controls in my hand to control my node I got few things uh which I can you know uh few actions in my hand which I can do and you know I can I would say I
Can solve my problems for example I can create my asset here I would say I would be showing all these things how to do that okay so let’s start with uh some permissions so you’ll be
Seeing that uh it since this is a node one who is the owner of the blockchain uh he has all the permissions because this is his own address and again you can see this is my address that’s
My address means the label that I change here so let us change it to something that uh note two because it is this to everyone so that it should be identifiable not two okay so let us change the table okay so note two is having this address uh the public Key address and
This is these are the permissions we had given to the node to if you remember this uh was done by a command line that we had R previously so is it clear as of guys one quick question where we gener the public
Key and private key in this system this is this is generated automatically when a node is instantiated okay so that is done by the platform itself so platform generates those for us because we cannot Define our own private key because it’s a again a cryptography key
Which has to be uh in particular format and which again has to be with specific length sorry okay guys so yeah uh as I said the uh public and private keys are offered uncreated by platform itself because uh they needs to be in specific format and length because that’s when the uh uh
That’s when the key will be secured if it is uh there in the predefined format otherwise if you define like say uh a key of uh some random length then it would not be fitting in the uh encryption
Algorithms and um it will basically fail on the netor because it should be in a predefined format and the protocol okay so this is permission stab you can uh I this is not just a read mod another
Question here yeah um so um uh this is since we are talking about a private Network private uh world so my question is um uh the admin I should be able to get the complete I should
Be able to store the complete information of the node in my uh system somewhere right for example if node two has asked for a permission I should be able to uh um uh get his identity uh if I am required yeah
So yes I got your point but since this is private so suppose if anyone wants to connect to you so what he’ll be doing is he’ll be sending his address to you or email or some messaging platform and uh based on that you can identify him or
You can create another application basic small application in your internet just to you know submit the addresses and the identity so that’s how it works because in the real world you should be knowing uh the person personally then only you can you know
Exactly exactly so so my point here is uh so we need to have a separate Al together um uh an application I would like to say because see these kind of things like blockchain and all are
Fairly technical okay so someone who is setting up must be definitely a technical guy so if he wants to set up a node um to uh on the network so he’ll be getting the address of that node
And sending you over the email so that’s how it is I mean is no specific need of application as such but I just said that it can be done okay so what you’re saying is that uh uh the information
About the node two uh should be maintained at a different place somewhere else other than the mul chain exactly okay yeah I mean at least the Iden of the note to is uh should it is private again
And if he wants to be a part of network should come to me and uh I should be knowing him in the real world hey I know this is sunil’s address yeah it is fairly fine to add in right that
Way all right so uh on this tab you can again uh do many things you can so uh if you want to change the permissions or assign permissions to someone someone new on the network so what
You have to do is so this will remain same this is your own address admin’s address and uh this will be the for for address for example Suppose there is a new node comes on the network and he
Wants to be a part of it and you want to you know give some permission Str so just paste the address here right now it is showing me one of my previous setups Network address but
That is not a valid on the network so just past the address here and uh just uh change the uh I mean the selections here so what I’ll do is I’ll copy this same guy Noe two so right now you can
See there are only three permissions given to him so what I’ll do is I’ll paste him again here and I’ll say uh I’ll give him new set of permissions which includes previous one and I give him many okay so just H the change permissions yeah and G to the network this transaction and
Can see the updated permission so if you refresh this page you’ll be seeing that his permissions are updated okay you can again copy this address and you can say only connect and S and receive again modify it again so let’s refresh it
Again okay sorry I what I did is I have to revoke uh this permission so when saying it okay revoke mine issue create okay roke mine issue and create and keep this as it is so
That’s fine just send it okay that is done and again back to the previous set of comms with not okay fine so now uh let us come to the asset part okay so you will be seeing that
Uh one asset is already listed here which is issued asset and uh you can see which is cmx okay uh cmx is my uh asset issued on the network which has total quantity of this 1 million and
This are the denominations and issue is again me because I had done this on the command now let’s come to uh send send button is for you know sending the asset so here you can see my available balance in the issue asset tab you’re seeing it as 1 million because this is
The total quantity on the network okay and you can create a fresh asset again here and let’s sorry so now let’s create uh the asset that uh sonil is talking about so so now let’s say create ABC Apartments flat 101 okay and the quantity is
One again units sa one and to whom I have to issue this asset at the time of creation only I can say that hey let’s create for the node two so the whole quantity will be uh
Allocated to node two okay I can do that but let’s say keep it to me for now let’s keep the flat for me okay so then you can see it here I have this option to upload a
File okay so that means I can uh attach some file some physical file like PDF or anything to this asset so that whenever this asset is transacted so the file is presented as a as a data associated with this particular uh asset okay so that file can again be your say
Agreement or whatever U document is associated with your actual real asset okay so and there again you have some custom fields which are like key value storage uh field so I can create uh suppose I can just uh give address to this uh Department I would say City Same by then
State okay and uh sa pin okay so I can asso shate multiple key values to it and this again can be you can put the whole Jon or you can put a complete file to associate it with this uh asset and
Say issue set all right so my flat is put on the Network so this is my flat name and identity so now and I have assured I mean this is the issuer I mean this is the
One person who is who had issued it and these are some of the metad data associated with the set okay so now this is issued a set which are present on the network so if you come to send
Okay so this is just a display issue here but this is flat ABC apartment flat 101 and the quantity is one but this is uh CSS issue or I think my screen is very short for this or
I guess the name that we have given is not fitting in the table I can just show you guys okay you can see this is the asset name and this is the uh quantity so there is one one
Quantity of this flat which is in my position right now okay so what I can do is uh since I’m on the send tab I’ll will be coming here so from address that is me I’ll say
Select the asset that is this flat and send it to this guy that is note two okay and I’m sending the whole flat I mean that is quantity one so send asset you can see the flat is now
Gone to that guy okay so now come to Note 2 and you can see the flat is now sold to note two okay and everything is uh recorded on the blockchain with these transaction numbers so uh there is a I’m an Explorer app which you can see
What these transactions are for example last time we see about Robin so in this example um the centralized Authority is transferring right yeah it is not okay sorry what is the question question is like in this case the example or use case
Which you just did it is some kind of central Authority which is doing this transfer from one person to other person right no no actually what is happening is uh I pushing a transaction okay
Because I was owning that flat okay it was there in my wallet I uh sent it on the network okay so whenever I I’m saying I’m sending an asset that means the transaction is getting pushed on the
Network and you might have seen a transaction ID was given to me okay so what what happens that transaction goes on the network all the network nodes Associated I mean which are present and active on the network mins the transaction they validate the transaction that yeah this is the
Uh uh valid transaction because the cender of the transaction is the actual owner because they know my public key if they are able to decode that using my public key that means I had encoded I mean I had encrypted that my private key so that private key is my something that is my
Identity my ownership so uh on the network it is confirmed that it is only sent uh by the owner got it question is that uh who is going to give that asset key in my wallet is that who who will go and
Create any flat definitely not yeah I mean that is again uh you can control on the network you can I mean this asset creation mechan permission okay so right now so let me answer that uh soil basically when first time taking example of the Karnataka government itself right when Karnataka
Government will start this project full scale first time they will register all the properties that they currently have in their current current register database right currently also they have register database they will register all of it on uh the blockchain that they’re building from then
On whenever someone wants to sell or someone wants to transfer ownership they will do on this blockchain application no okay n got so it means uh database and blockchain two things you mentioned so assuming I have not you have to create a separate database I saying currently
Yeah currently also when you go for registration okay they have a history of who this land belong to okay which is what we call as title leads etc etc right which is what your lawyer does
When you try to buy a flat he will try to find out the ownership and the title ownership for the last 20 30 years whatever to find out that the property is not in dispute when you do the
Registration you have a 50 page 40 page booklet sort of registration document which is scanned and kept at the register okay so this document you have a copy and the regist also has a copy now whenever you want to sell it okay you will produce your version of the document that you
Know I own this property the person who is trying to buy okay he will also have to do validation that you really are owner of it he will hire a lawyer okay the lawyer in turn will go to the
Registar office and try to find out who is the correct owner of this office of that apartment or plat with blockchain this is no longer required because if the asset is once loaded or created for
The first time in your name okay then everyone in the network is able to see that you are the rightful owner okay and from then the transactions can be smooth the lawyer does not need to you know
Find out who the property belongs to if you are the buyer okay second buyer then you can also be sure that you know nages really is the owner for it otherwise what happens currently is you would
Have seen a lot of scams where people claim to have prop you know the property in their name they sell it and then later you have you know the person find out that it did not really belong to
That person people sell government lands who which has been you know unused for long period people say it is in their name and they try to sell it so when the government puts all of this data on
The blockchain uh the first good thing that comes out of it anyone can verify who the asset belongs to second is no one else would be able to sell it in your name okay which is what happens in remote
Villages wherein you know without the correct owner uh you know knowledge uh someone else does the sale they get the money and you know they run away with the money and the poor guys
Is in trouble so with that what the government is trying to solve this these SCS go out and there is an easy way for anyone to find out who who is the real owner of it okay so first time basically we
Have to go to rest office or lawyer or any person who has the authority to create ID for my in this case it would be the government who would be doing it anyway because they have to track all of the
Properties that they have so whatever they would be having in the current regist I’m I’m hoping that is the correct way they’re doing it but uh in other countries use cases that I’ve have seen that is how the government does so government has land Maps area maps for every every that comes in
Their jurisdiction right they will create all of these apartment that exist currently all of the land pieces that exist currently on the blockchain as an asset okay with the rightful owner and from then whenever you do transactions of obviously it would not be like you said yeah
After that it’s clear so one basic question that remains s there are 50 SC Pages first go for the first time creation where will be those 50 pages in The blockchain itself or in some database if
That is in database whe that will be distributed or not if you can see here we had an option to attach a physical file you could store it there itself sometimes you you may not even to store
Even the first I mean the entire 50 pages like for properties you have something called as the index tool which lists the owner and it is just one page so you could be storing that itself now that depends on the specific implementation that you’re are doing and what your business requirement or
What the government thought should be stored but it provides you with an option to store data along with the transaction no no why I’m asking because this is a basic question I have been searching for
A long time I mean no no whether met data will be stored in block or the whole content if the whole content there is a limitation of the block size that comes in picture if whole content is not in
The block then some database if that is a single database that can be easily corrupted so if that is a distributed database where that hyper Leger comes share so if that is the case your database
Outside how I get your point what I’m trying to say is if you see there is a 2 m that we had for file okay now we that limit is also decided when you design the network this is a private Network
You can do anything that you want with it okay if you want to store the 50 pages and the 50 pages comes in less than 2 MB you can store it here or you could just store the index to
And you can maintain the other data at you want to store it in a distributed database you want toore it on the you want private uh database that design is up to you because you are the business
You are the owner of that data right mean this is a basic question which is getting asked if that is a single database then that can be easily corrupted and using the blockchain only we can
Verify that data is correct or not if not then we right data blockchain is that we have to keep it safe all the dataa I mean in this case as you see I have a attachment field here I can attach the
Whole agreement or whole complete document right now it is configured as a 2 m limit but you can increase that from the configuration and suppose you have 100 MB PDF file which is a complete scan
Of your uh agreement or the the document of your property uh so you can just attach it here and it will be uh you know always associated with this particular you know asset for the complete life
Cycle so whenever this uh asset is transacted on a network so that particular file will be always associated with it and it will be secured and uh as you said it will be distributedly stored on the
Network okay everyone uh on the Node when it when new node joins in so he will be downloading all these blogs uh every uh on the first time so right now as as we see that uh there is some
GBS of data which gets downloaded when you join the ethereum network so that is the actual blog data okay so in this case when a node joins so he will be downloading all the blogs on
The network so which is again like having these PDF files in it got it just to add on this this being multi-chain okay and we are controlling who can do Mining and who can be the admin Etc
So it is not the entire network that would be getting all of this information depending upon what permissions we give to what exactly yeah yeah could you repeat last statement I’m saying we can decide who which users can join and which users can play What role here
So depending on what permissions we have given for View and for create transaction that user will be able to do only those operations which we saw in this demo also yeah we not we have not
Covered that part yeah I mean it is it is this permission St so you can we just saw creating granting and roking of permissions yeah okay okay exactly so when this when you issue this mine permission to a node that means he’ll be downloading all the nodes and the data associ
Unless until you don’t give this permission all the data will not be downloaded on his machine right he will be just having this permissions he he won’t be a minor but he would be connected to
A network for for some other purposes right that way you can control it from uh this dashboard and that’s why this multichain is in picture for the private blockchains where you can should be able to control the access rights and the uh the permissions to the notes based on your uh
Knowledge who is uh legitimate uh guy to whom you can you know uh give the access who can download the data who cannot download yeah as as we saw yesterday also in multichain there’s
A handshake process before a new node can join in or a new user can join in and the handshake is to ensure that you know the person who is it right that is why you cannot directly join in you have
To provide your address to the admin so that ensuring that handshake process okay remains of the blockchain wherein that’s some mechanism the user has to provide his address to the admin uh it ensures that the admin at least knows at least the admin knows the person who’s trying
To join the network so I think this is was a question sometime ago by nages also how do you you know uh know the person in real world so the handshake process ensure that you know and when I talked about financial institutions yesterday I said that financial institutions need to have kyc
Of you know people who are doing transactions on their Network now currently they are able to manage it by doing physical kyc but when we are talking about cross uh no uh Banks or cross financial institutions interacting with each other the other guy will not have kyc for this customer
So how would the uh regulator ensure that the kyc is done or we are dealing with the right person that is how multi chain does it that at least the admin who got that guy on the network would
Have done the kyc or registration for that person and he would know who that person is in the real world so uh so uh one quick this thing Kaka and I let to um just summarize my understanding and just let me
Know if my understanding is right or wrong and if you feel that is disturbing the flow you can discuss offline I don’t want to disturb your flow okay so suppose now uh I sunim and um uh our shaji
We are three land owners or flat owners and we are starting this blockchain with these three people so what we are going to do is like as an admin as an Andra Pradesh government admin um uh Kaka will
Create three records three existing record land records so my first question is are these three records three nodes or these can three records can go in one node no no this will be like three
Assets not the nodes so if you come on the assets tab will be asset right now can create multiple assets yeah it could be the government who’s creating the assets and assigning it to you for the first time from there on whenever you try whenever you make a sale it would just be
Transfer of that asset okay so so in this case I will create three assets one for me one for Sunil and one for um our shaj G now uh now then you will as an admin you will create three uh
What do you call three what do you call public keys and assign these public keys to three off us yeah with our assets uh associated with these Keys yes and private key and private key would be something that you are supposed to maintain secretly not to anyone not to show to anyone so
Whenever the even even if the admin wants to transfer the asset he cannot do it himself we saw that yesterday that even miners cannot add transactions by themselves because for now that to be transferred to someone that private key has to be provided that asset has to be signed using
Your private key so that when other miners see the transaction they would be able to find out that it was really you who initiated the transaction that is why in the system you would also have an way to initiate a transaction basically it would be you who would be initiating the transaction
Signing it using your private key right so so I have one more question so now um I want to sell my property to nages who is not part of this network so we initially started with three assets
So assets are still three but stakeholders are now increasing to four he need become he needs to be he needs to join the network he will also have his own public key and private key okay and
Obviously I mean like any other right you want to send money to someone in the bank they are not in the bank can you do it no so you have to be on the same network to be able to transact okay sender
And the receiver be on the same network that’s condition okay so I have Al I have one question so yesterday we asil described multi-chain which I have been understanding means sbsc has one chain I
Another chain or in the same different here what we did we have from the one Genesis block we have created one node then that is the master type we can understand because that’s giving permission second third so what I can think as a single Department chain we are going to create right now
This are you getting me uh so chain is basically your network when I talked about yesterday for example IC would have their own chain okay have their own would have miners right similarly sayc bank would also have their own chain and OWN Network okay which is also on multichain or at
Least on the Bitcoin platform because only these platforms are cross conversation okay it mean I if we are assuming HDFC case then ICI they have also created their own chain based on their on Genesis block exactly exactly got it and uh to I means which node of ICI stfc has to get give
The permission stfc can decide right so both the parties will decide that this will be the only machine and this will be the only address which can send transactions to you so there might be
Other blocks I mean other guys on the on the Node if they try to send the transaction then it will get invalidated because they are not authorized to do that so that is how we will I mean we will
Control it using the gr permission for these modes okay got you by the way Kaka this permission where are we storing and in which format Jon format in the block itself or somewhere else no that’s what I said I mean when you uh uh change the permissions right you saw a transaction number
Coming up there okay so this again goes on onto the network and it is again validated whe the admin has made it or someone else because that is that again has to be validated by Network so if I’m pushing a transaction for a permission change so it will create uh first transaction
On the blockchain itself again okay so that means that on the network people should be voting for me that yeah this is done by the Admin is authentic for it right so permissions are not stored uh at the central stage anywhere it is again distributed on the blockchain there is
No Central concept itself in blockchain that is that we have been discussing so everything that you put in every piece of data that goes on the Block so it is internally some permission block uh uh chain which is a system chain I would like to say and that is managed for the
Permission changes or the permission transfers I would like to say okay because we are creating user and user is also some priv public again you see for the change permissions form I have admin address and the for address that is means this is the sender and this is the receiver okay so yeah
Okay so now C okay fine so now guys I mean since this is multi chain as you see uh we are just on a single chain right now that is chain one okay but you can create many chains uh in a single
Network again for example suppose right now we are having this asset called as a flat some for example I can segregate or categorize my chains saying that uh create a chain for Residential Properties that will be a residential property chain create a chain for commercial properties
Chain or any kind of use case that I have that is up to me how I design it okay so that’s a beauty of again multi- chain you can run multiple chains at the same time and you can work on them so when
You land on this uh page you see J one uh again you can add multiple chains and you can click on that and you can you know log into that chain and see the transactions and everything about
That particular chain so that is multi chain okay so now let’s come to uh next uh concept that is uh streams another question yeah yeah um this is about uh the units so um in this example uh we have an asset and that asset when it is transacted it can be transacted
In in the amount money right yeah so uh one thing which I’m capturing here is the asset how where it is transferring from to whom Bas on public address and so on now what about the money how can I uh uh introduce the other factor which is this amount particular uh you
Know asset for sold to this public address or transferred with this am created this C so you can have custom fields in it so you can Define custom fields in your particular installation I mean this is what the network this is what the platform is offering right if you want to
Add additional data you can add additional custom fields and add it as part of the transaction yeah if you see at the bottom you have custom field key and value and I can make it mandatory I mean I have to specify all you can design it according to your yeah okay okay
Thank you okay so now let’s come to streams as I uh briefly uh talked about streams in the uh presentation so streams are basically time series uh database but again this is not a plain relational database it is not plain no SQL database but it is a database on top of your
Blockchain so what happens is uh in a Time series data uh just uh imagine an example like U when a chart is built for the stock price okay so those stock prices are recorded in the real time okay
So for particular instance particular second and minute what is the price that is recorded on the uh database okay so and that should be immutable because that particular price which is written at that particular instance should not be over or get modified any time in the future so that is
The requirement I mean for such kind of databases and such kind of uh you know data storage where there is a huge number of Records flowing in like stock price data uh like uh location data suppose I’m tracing a location for a person uh suppose I’m building a mobile application in which I
Want to you know record uh record a location uh points for a user who is traveling uh from one location to another location so in these kind of databases you need U some high speeed uh again low
Weight uh data storage solution and again it should be immutable I there should not be any way that data gets tampered or you know change in the future and that’s why the streams are created by the multichain team so they created something called the streams and this is purely like data
Storage in a way of uh I would like to say key value storage so we’ll see how streams actually work okay so I would say that I will be creating a a stream to store a price for suppose I would
Name it as Reliance stock price okay and this is from address that is the cre creator of the Stream you will see this again goes on the network it creates a stream for me okay this is the
Stream okay now let’s come to publish and we will see publish to steam okay so this is just a form but you can use this in a application where you are recording the uh stock prices and you’re
Pushing on to the blockchain database okay so now I would say that I’m recording stock prices for Ariel okay so I would say rate and I would say text I would say it is 120 as of now again
This is very similar to asset but in a different way you can upload or you can attach your document or file to it just as a data associated with that particular block it is asset but it is something
Light we and uh uh created for faster storage and rable purposes okay will publish this first value to this uh stream that is Ariel stock price okay and you can see again I get a transaction number
Now just say view streams and now you can see I have this uh sorry stream Associated uh with my account that is this but I have not subscribed to it subscribing to a stream means you are uh
Become a subscriber for example what happens uh in stock markets NSE and BC records this stock prices and uh all the uh Financial companies uh becomes the subscribers uh for the stock prices so let’s uh subscribe me as well and I would say that I want to become a subscriber to this particular
Stream or this particular database I would like to say okay and now I can see the entries uh against this uh streams that are associated with me so I would like to say just click on this and I can see what are the you know records currently present on this particular stre stream
So right now I just have only one entry that is of 120 and which was recorded So this Tim stamp is very important in case of stems because this is specifically designed to record time stamps in
The real world because this shows me that at this particular time the stock price was 120 okay so now let’s publish another uh value to the same stock and this key is optional okay so you can
Define what you are actually entering it or you can again put some uh location kind of data like longitude and latitude in uh the value so that when you’re passing it when you’re retrieving
It you know that how to you know process that data data but you can associate data in a string and in any manner and in any size which is configurable and uh which is you know up to you how you you
Know Define and design it so I would like to say that from 120 it went to 125 just now okay so just go to streams are you stock price and see this is a chronological order in which the stream is
Getting changed okay so data is getting changed it was 120 at this moment and it is now 125 at this moment okay so uh when you’re developing an applications where these kind of requirements are there where you need very faster storage and AAL uh uh key value database okay for suchar purposes
The streams are created and API are present there you can utilize these apis and I mean behind the scenes you are not storing this value in a particular server there is no Central server where these values are stored these are pushed on the blockchain and these are distributed on
The network people have validated them that this particular uh you know when I’m saying publish so my address is going on the network so again this is validated that whether this guy is uh allowed to or permitted to publish uh on a stream or not based on the permissions you can
See okay so whether I’m able whether I’m to whether I’m uh uh allowed to you know send uh the transactions or not so that is again uh validated on the network so that means your data is uh pretty much uh secure it is authentic
And it is definitely not tempered because it is on the blockchain okay on this stream now you can see uh if I go to node two because he has the right to send the permission of sending uh is given to him
So suppose on the network uh node two said that it is 120 six okay publish it and go to STS then this guy is not subscribed to it he’s just writing to it so let’s subscribe and now
We can retrieve the data and say it so this um you can see who has published it is also recorded who has actually recorded this value is given here okay so in the network so BC or
NC might be having uh multiple servers who are able to record the values so in that sense you can configure it like who can actually write the values and who can actually retrieve the values okay the only important parameter which is associated with the stream uh
Data is a time stamp for uh time stamp is always present with you you don’t have to uh you know uh enter it manually and that’s why it is used for the time series uh databases okay guys so I think uh I’ve covered most of it uh from the today’s session almost
Uh done streams was the last part and uh there are other things which you can try uh from this command line interfaces but most of the concepts are covered here and uh yeah I mean there is one more uh project associated with this uh this was one of the
Uh web interface that I uh showed to you which is fairly I would say a mini application or vanilla application built on blockchain which I can modify as per my requirements and I can you know call it as my own application on the blockchain because it is talking to blockchain
It is uh you know doing transactions on the blockchain and that’s what I wanted uh Kaka you can just show Yu chain and from there you know they can download Yu chain and set up and try their hands at the example applications yeah sure I mean UB chain is again uh doing
This uh and it is again utilizing this multi chain yeah it is built on to of multi chain yeah so this is one more uh uh I would call it as a set of uh I me it’s a composition of two three applications in a uh one package
Which you can explore where again this uh web interface is present there for if you can just go to the previous screen so if you see there are two applications here one is uh multichain Explorer is also there so if you want to you know set up an
Explorer similar to what we saw for Bitcoin or for ethereum uh you have a web application there so you can install this by your hands on multichain development envirment correct I demonstrated this one web demo to you guys so there is one more called as multichain Explorer
So this is very similar to uh the rstream network that I showed you in the last uh uh demo basically so these kind of uh things are present in that Explorer project so you can see you can browse uh all the transactions on the network that are running you can see who
Is uh transferring what and uh what are the status of the transaction in the real world I the real time and uh yeah I mean everything that is there on this uh robin. scan. similarly there
Is this thing multichain Explorer you can uh you know try installing on your VM and uh explore it so any questions guys uh uh Kaka just one question can I see the r call which you are making from your PHP code sorry you mean to say this application yeah the application which we
Are going to node one node two yeah this is this I showed here already I mean this is the web demo project okay no no yeah demo project code I was just yeah here is theode you can browse it okay
Yeah okay so Kaka sometimes could you cover me SW which were hyper leer fabric because these are the ter which are coming frequently and very to this blockchain agree but hyperledger is not part of this course because it is again itself a different platform and Hyper Leger was not
Part of this program Miss as like eum you mean to say correct okay so could you give some time for whisper and swarm because these are a storage and messaging system for ethereum uh you you want to
Understand it theoretically or uh not within two or three lines because one is for messaging one is for storage this is not sufficient but I want to how to use this so definitely it will take 15
20 minutes sometime for us to understand uh we’ll see if we can yeah not today definitely I think so next week we have some time yeah and uh definitely I agree hyper laser those are different totally
Different field but there are many components in uh inside the hyper laser I mean fabric there are two three more so we can get a basic description of that me how they are correlated with ethereum
Because concept is same for these two ethereum and that I’ll try to see if I can put something around by the next but I will not that that will be great so thanks for that all questions from my
Chat okay then I think we can close for the day uh a very basic question here um last uh most so um in the case of a digital signature so how are we going to uh where how does it comes into picture here we have to configure a digital
Um digital signature um in the document you don’t have to configure it uh okay this okay I don’t know whether to take it for everyone so we studied uh C about cryptography I think in week one uh wherein you have your uh how you do authentication
How you do digital signatures maybe I can pass you you know a couple of links which tells you how digital signature uh works and how it will work here because it would be repeating a lot of what we covered earlier that yeah okay for NES right yeah yeah
Okay M yeah all right so we can discuss later that’s sure yeah yeah we can discuss it yeah sure okay guys so I think uh we’re almost done with today’s session okay thanks everyone what was a good s thank you thanks guys thank you