{"id":13156,"date":"2021-10-05T08:16:20","date_gmt":"2021-10-05T12:16:20","guid":{"rendered":"https:\/\/101blockchains.com\/?p=13156"},"modified":"2024-07-03T01:02:50","modified_gmt":"2024-07-03T05:02:50","slug":"hyperledger-fabric-tutorial","status":"publish","type":"post","link":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/","title":{"rendered":"Hyperledger Fabric Tutorial: Getting Started Guide"},"content":{"rendered":"<p style=\"text-align: justify;\">In this Hyperledger Fabric tutorial, we will learn how to create your first <a href=\"https:\/\/101blockchains.com\/hyperledger-fabric-applications\/\" target=\"_blank\" rel=\"noopener\">Hyperledger application<\/a> and other important things if you are one of the developers who are invested deeply in the <a href=\"https:\/\/101blockchains.com\/ultimate-blockchain-technology-guide\/\" target=\"_blank\" rel=\"noopener\">blockchain<\/a> and want to get started with Hyperledger Fabric.<\/p>\n<p style=\"text-align: justify;\">Any enterprise-grade framework requires expertise to work. If you are a novice, you will find yourself struggling a lot to fix small things. That\u2019s why it is important to start early and practice in your own way. But, why Hyperledger Fabric and not any other enterprise <a href=\"https:\/\/101blockchains.com\/hyperledger-blockchain\/\" target=\"_blank\" rel=\"noopener\">Hyperledger blockchain<\/a> framework?<\/p>\n<p style=\"text-align: justify;\">The reason is that Hyperledger Fabric is a top-notch <a href=\"https:\/\/101blockchains.com\/enterprise-blockchain-framework\/\" target=\"_blank\" rel=\"noopener\">enterprise blockchain framework<\/a> that offers great permissioned <a href=\"https:\/\/101blockchains.com\/distributed-ledger-technology\/\" target=\"_blank\" rel=\"noopener\">distributed ledger technology<\/a> (DLT). It has some great features which make it an ideal choice for an enterprise.\u00a0Thus, the Hyperledger Fabric tutorial guide can actually help you realize how you can develop an application. So, let\u2019s start the tutorial on Hyperledger Fabric.<\/p>\n<blockquote><p><strong>Enroll Now: <\/strong><a href=\"https:\/\/academy.101blockchains.com\/courses\/getting-started-with-hyperledger-fabric\" target=\"_blank\" rel=\"noopener\">Getting Started with Hyperledger Fabric Course<\/a><\/p><\/blockquote>\n<h2><strong>What is Hyperledger Fabric?<\/strong><\/h2>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/101blockchains.com\/hyperledger-fabric\/\" target=\"_blank\" rel=\"noopener\">Hyperledger Fabric<\/a> is an open-source enterprise-grade framework. It relies on permissioned distributed ledger technology to provide much-needed applications and solutions. Linux Foundation is working on a diverse number of projects, and Hyperledger Fabric is one of them.<\/p>\n<p style=\"text-align: justify;\">As it is open-source, anyone can join the project and contribute to it. At the core, Hyperledger Fabric is configurable and modular. This means that enterprises can work seamlessly using the framework. All of these desirable features make Hyperledger Fabric a great choice! At the time of writing, you can try out the <a href=\"https:\/\/101blockchains.com\/hyperledger-fabric-2-0\/\" target=\"_blank\" rel=\"noopener\">Hyperledger Fabric 2.0<\/a>, which comes with new features and functionalities.<\/p>\n<h3><strong>Hyperledger Fabric Functionalities<\/strong><\/h3>\n<p style=\"text-align: justify;\">Hyperledger Fabric comes with five main features. They are as follows<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>Identity Management: <\/strong>Identity management is crucial to any permissioned network. That\u2019s why <a href=\"https:\/\/101blockchains.com\/digital-identity\/\" target=\"_blank\" rel=\"noopener\">digital identity<\/a> management is one of the crucial features in the Hyperledger Fabric. By giving the administrator to set proper identity management, enterprises can make sure that they employ multiple layers of permission.<\/li>\n<li><strong>Efficient processing:<\/strong> Hyperledger Fabric is efficient. This is because network roles are assigned as <a href=\"https:\/\/101blockchains.com\/blockchain-nodes\/\" target=\"_blank\" rel=\"noopener\">node<\/a> types. The efficiency is also provided by letting transaction execution separately from commitment and ordering.<\/li>\n<\/ul>\n<ul style=\"text-align: justify;\">\n<li><strong>Modular Design:<\/strong> Hyperledger Fabric utilizes modular design, which means that it is easy to integrate services or other systems into it. This also means that you can specify the <a href=\"https:\/\/101blockchains.com\/consensus-algorithms-blockchain\/\" target=\"_blank\" rel=\"noopener\">consensus algorithm<\/a>, identity, and so on.<\/li>\n<\/ul>\n<ul style=\"text-align: justify;\">\n<li><strong>Privacy and confidentiality:<\/strong> Hyperledger Fabric also offers proper confidentiality and privacy, which is very important for enterprises. They offer proper data channels so that information doesn\u2019t leak and confidentiality can be maintained at any cost.<\/li>\n<li><strong>Chaincode functionality:<\/strong> Hyperledger Fabric offers chaincode functionality, which enables logic to be invoked only when a specific type of transaction is called.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Introduction to Hyperledger Fabric will also include features like quality code, open-source, great scalability and efficiency, and industry-wide usage.<\/p>\n<h3><strong>Hyperledger Fabric Application Tutorial<\/strong><\/h3>\n<p style=\"text-align: justify;\">Before starting to develop an application, it\u2019s better to understand the system architecture of Hyperledger Fabric. By doing so, we can understand how it operates internally. This knowledge then can be used to develop your first Hyperledger Fabric application.<\/p>\n<h4><strong>System Architecture<\/strong><\/h4>\n<p style=\"text-align: justify;\">At the core, we have nodes. The nodes communicate with each other and make a network. However, there are programs that are run by the <a href=\"https:\/\/101blockchains.com\/blockchain-technology-explained\/\" target=\"_blank\" rel=\"noopener\">blockchain<\/a> itself. They are chaincode. The chaincode is responsible for holding ledger and state data and also takes care of transaction execution.<\/p>\n<p style=\"text-align: justify;\">In Hyperledger Fabric, chaincode takes the most emphasis as transactions are carried out on it as operations. Transactions, on the other hand, need to be validated by endorsement. Only endorsed transactions can be committed.<\/p>\n<blockquote><p>Build your identity as a certified blockchain expert with 101 Blockchains\u2019 <a href=\"https:\/\/101blockchains.com\/certifications\/\" target=\"_blank\" rel=\"noopener\">Blockchain Certifications<\/a> designed to provide enhanced career prospects.<\/p><\/blockquote>\n<h4><strong>Transactions<\/strong><\/h4>\n<p style=\"text-align: justify;\">The transactions on Hyperledger Fabric can be of two types:<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>Deploy transactions:<\/strong> This type of transaction is responsible for creating a new chaincode with a parameter as a program. Once done, the chaincode is said to be \u201cinstalled\u201d on the blockchain.<\/li>\n<li><strong>Invoke transactions: <\/strong>The invoke transactions are transactions that are executed in the context of previous chaincode or <a href=\"https:\/\/101blockchains.com\/smart-contracts\/\" target=\"_blank\" rel=\"noopener\">smart contracts<\/a> deployment.<\/li>\n<\/ul>\n<h4><strong>Blockchain Data Structures<\/strong><\/h4>\n<p style=\"text-align: justify;\">According to Hyperledger Fabric documentation, the basic data structure used in the blockchain is the key-value store (KVS). The keys are mostly names, and the value is blobs. Chaincodes can manipulate the data structure with the help of two following KVS-operation.<\/p>\n<ul style=\"text-align: justify;\">\n<li>put<\/li>\n<li>get<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The whole data structure is seen as a state.<\/p>\n<h4><strong>Ledger<\/strong><\/h4>\n<p style=\"text-align: justify;\">Ledger is the sequence of successful state changes and unsuccessful attempts, as well. They are ordered so that they can be referenced later on. Also, they are ordered hashchain blocks of transactions. The ledger contains blocks in order, which in return contain an ordered transaction array. Here, the <a href=\"https:\/\/101blockchains.com\/blockchain-records-transactions\/\" target=\"_blank\" rel=\"noopener\">blockchain records transactions<\/a> within the ledger.<\/p>\n<h4><strong>Nodes<\/strong><\/h4>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/101blockchains.com\/blockchain-nodes\/\" target=\"_blank\" rel=\"noopener\">Nodes<\/a> can be any communication entity within the network.<\/p>\n<h4><strong>Client<\/strong><\/h4>\n<p style=\"text-align: justify;\">A client is someone who can act on the end-users behalf.<\/p>\n<h4><strong>Peer<\/strong><\/h4>\n<p style=\"text-align: justify;\">Peer handles the state of the ledger and ensures that the network works optimally. The peers can be endorsing peers, which helps endorse a transaction. The <a href=\"https:\/\/101blockchains.com\/peer-to-peer-network\/\" target=\"_blank\" rel=\"noopener\">peer-to-peer network<\/a> in Hyperledger Fabric is an important factor when it comes to transactions.<\/p>\n<p><a href=\"https:\/\/101blockchains.com\/certification\/blockchain-expert-certification\/\" target=\"_blank\" rel=\"noopener\"><picture><source srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional.webp 1200w,https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional-300x23.webp 300w,https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional-1024x77.webp 1024w, https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional-768x58.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" type=\"image\/webp\"><img src=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional.png\" height=\"90\" width=\"1200\" srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional.png 1200w, https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional-300x23.png 300w, https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional-1024x77.png 1024w, https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/08\/Certified-Enterprise-Blockchain-Professional-768x58.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" class=\"aligncenter wp-image-43381 size-full sp-no-webp\" alt=\"certified enterprise blockchain professional\" loading=\"lazy\" decoding=\"async\"  > <\/picture><\/a><\/p>\n<h3><strong>Writing Your First Hyperledger Fabric Application <\/strong><\/h3>\n<p style=\"text-align: justify;\">Now that you had the Introduction to Hyperledger Fabric and architectural structure, it is now time to create your first application. By going through the application, you will be able to understand how Fabric applications work. In this Hyperledger Fabric application tutorial, you will learn <a href=\"https:\/\/101blockchains.com\/how-to-build-a-blockchain-app\/\" target=\"_blank\" rel=\"noopener\">how to build a blockchain app<\/a> using <a href=\"https:\/\/101blockchains.com\/what-is-a-smart-contract\/\" target=\"_blank\" rel=\"noopener\">smart contracts<\/a> and other applications within the framework.<\/p>\n<p style=\"text-align: justify;\">According to Hyperledger Fabric documentation, to make our development easier, we will be using the application SDK for easy reference to key\u00a0functions, including invoking smart contracts and other queries.<\/p>\n<p style=\"text-align: justify;\">The three principal steps that you need to follow while developing your Hyperledger fabric app include the following:<\/p>\n<ol style=\"text-align: justify;\">\n<li>Setup the development environment. The development environment gives your application the necessary network to work with. It will give you the ability to make your smart contract work as well.<\/li>\n<li>Learning about sample smart contracts. Here, you have to go through the smart contract and understand its transactions. We will run queries as simulated by applications and also update the ledger using it.<\/li>\n<li>Developing a sample application: In the last step, you will create a sample application using the smart contract.<\/li>\n<\/ol>\n<blockquote><p>Curious to understand the complete smart contract development lifecycle? Join the <a href=\"https:\/\/101blockchains.com\/pricing\/\" target=\"_blank\" rel=\"noopener\">Standard &amp; Premium Plans<\/a>\u00a0and get free access to the <a href=\"https:\/\/101blockchains.com\/course\/smart-contracts-development\/\" target=\"_blank\" rel=\"noopener\">Smart Contracts Development<\/a>\u00a0Course\u00a0Now!<\/p><\/blockquote>\n<h3><strong>Building First Network<\/strong><\/h3>\n<p style=\"text-align: justify;\">Before we start with the application, let\u2019s build our first network. To get started, we need to install some prerequisites. These prerequisites will ensure that everything runs as intended.<\/p>\n<p style=\"text-align: justify;\">You may want to install binaries, samples, and docker images. Once you install the samples, you will find the fabric samples included within them. It should be included within the \u201cfabric samples\u201d repository. In the repository, there is the first-network sample.<\/p>\n<p style=\"text-align: justify;\">To move to that directory, move to the folder with the cd command as below.<\/p>\n<blockquote>\n<p style=\"text-align: justify;\"><em>cd fabric-samples\/first-network<\/em><\/p>\n<\/blockquote>\n<p style=\"text-align: justify;\">To run the first-network sample, you need to make use of the byfn.sh script. The script is designed to start the project with four peers quickly. The four peers are representing two different organizations. It will also launch a container, a chaincode, and transactions. The container will enable more peers to join the network.<\/p>\n<blockquote><p><strong>Also Check:<\/strong> <a href=\"https:\/\/101blockchains.com\/hyperledger-development-tools\/\" target=\"_blank\" rel=\"noopener\">Top 10 Hyperledger Development Tools 2021<\/a><\/p><\/blockquote>\n<h3><strong>Generating Network Artifacts<\/strong><\/h3>\n<p style=\"text-align: justify;\">You can now generate the certificates, <a href=\"https:\/\/101blockchains.com\/private-key-vs-public-key\/\" target=\"_blank\" rel=\"noopener\">private key and public key<\/a> for the network entities. To do so, you need to run the following command.<\/p>\n<blockquote><p><em>.byfn.sh generate<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">You will be asked for confirmation before the process starts. Press Y to fill the network with the necessary information, including powering the ordering services, configuration, etc.<\/p>\n<h4><strong>Powering the Network<\/strong><\/h4>\n<p style=\"text-align: justify;\">According to Hyperledger Fabric documentation, next, we need to power the network. Powering the network can be done with the simple command below.<\/p>\n<blockquote><p><em>.\/byfn.sh up<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">Once you run the command, the <a href=\"https:\/\/101blockchains.com\/enterprise-blockchain-framework\/\" target=\"_blank\" rel=\"noopener\">enterprise blockchain framework<\/a> will compile the Golang chaincode images. In addition, the associated containers will also fire up to provide new peers with a way to join the network.<\/p>\n<p style=\"text-align: justify;\">By default, you will see Go in action. That\u2019s because Go is the chaincode default language. But that doesn\u2019t mean you cannot use other programming languages. Chaincode also supports Node.js and Java. To change to a node, you can use the following command.<\/p>\n<blockquote><p><em>.byfn.sh up -l node<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">Similarly, you can change to Java if you need to.<\/p>\n<blockquote><p><em>.byfn.sh up -l java<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">If you wish to use multiple chaincode languages, then you need to use an ordering service, including Raft or Kafka.<\/p>\n<blockquote><p><em>.\/byfn.sh up -o etcdraft<\/em><\/p>\n<p><em>.\/byfn.sh up -o kafka<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">Each time you use the command, you will ask to confirm once again before the command is executed.<\/p>\n<h3><strong>Hyperledger Fabric Tutorial: Launching the Network<\/strong><\/h3>\n<p style=\"text-align: justify;\">Now that you have installed samples and have gone through the prerequisite page, it is now time for us to launch the network.<\/p>\n<p style=\"text-align: justify;\">For the sake of simplicity, we are not going to use JavaScript. Also, you need the fabcar subdirectory. Make a fabric-sample repo local clone as well.<\/p>\n<p style=\"text-align: justify;\">To start the network, you need to use the startFabric.sh shell script. Once launched, you will get a blockchain network that has certificate authorities, orderers, peers, and so on. As fabcar subdirectory is being used, the FabCar smart contract will automatically be installed and initiated.<\/p>\n<p style=\"text-align: justify;\">The command to start the network is as below:<\/p>\n<blockquote><p><em>.\/startFabric.sh javascript<\/em><\/p><\/blockquote>\n<h4><strong>Installing the application<\/strong><\/h4>\n<p style=\"text-align: justify;\">Now, it is time to install the <a href=\"https:\/\/101blockchains.com\/blockchain-applications\/\" target=\"_blank\" rel=\"noopener\">blockchain application<\/a>. But, before we do that, we need to install the dependencies.<\/p>\n<blockquote><p><em>npm install<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">The above command will start installing the important dependencies that are defined in the <em>package.json<\/em><\/p>\n<p style=\"text-align: justify;\">In the package, the important classes that will be initiated include<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>fabric-network class:<\/strong> enables transactions, identities, wallets<\/li>\n<li><strong>fabric-ca-client:<\/strong> register users to their respective certificate authorities<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Once done, we will move to the fabcar\/javascript directory. Let\u2019s look at the directory files below:<\/p>\n<ul style=\"text-align: justify;\">\n<li>encrollAdmin.js<\/li>\n<li>node_modules<\/li>\n<li>package.json<\/li>\n<li>registerUser.js<\/li>\n<li>invoke.js<\/li>\n<li>package-lock.json<\/li>\n<li>query.js<\/li>\n<li>wallet<\/li>\n<\/ul>\n<blockquote><p>Start your blockchain journey Now with the <a href=\"https:\/\/101blockchains.com\/free-blockchain-course\/\" target=\"_blank\" rel=\"noopener\">Enterprise Blockchains Fundamentals &#8211; Free Course<\/a>!<\/p><\/blockquote>\n<h3><strong>Communicating with the Certificate Authority<\/strong><\/h3>\n<p style=\"text-align: justify;\">Now that we have a running network, let\u2019s learn how to communicate with a certificate authority.<\/p>\n<h4><strong>Certificate Signing Request (CSR)<\/strong><\/h4>\n<p style=\"text-align: justify;\">Our first task is to go through a process of CSR. In this process, the admin contacts the certificate authority to generate the public, private and X.509 certificates. The program used to do is enroll.js<\/p>\n<p style=\"text-align: justify;\">To enroll the admin, use the following command.<\/p>\n<blockquote><p><em>node enrollAdmin.js<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">All the information is now stored in the wallet directory.<\/p>\n<p style=\"text-align: justify;\">The same process needs to be followed if you want to register another user. Let\u2019s try to register another user \u2014 <em>usernew<\/em><\/p>\n<blockquote><p><em>node reisterUser.js\u00a0<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">This will register the new user and store its credentials in the wallet alongside the admin.<\/p>\n<blockquote><p>Start learning Blockchain with World\u2019s first <a href=\"https:\/\/101blockchains.com\/skill\/\" target=\"_blank\" rel=\"noopener\">Blockchain Skill Paths<\/a> with quality resources tailored by industry experts Now!<\/p><\/blockquote>\n<h4><strong>Querying Ledger<\/strong><\/h4>\n<p style=\"text-align: justify;\">As the blockchain network has a copy of the ledger, you can query it to find information. Ledgers are read-only, and that\u2019s why only read queries can be executed. To get a better understanding, let\u2019s check out the image below.<\/p>\n<p style=\"text-align: justify;\"><picture><source srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger.png.webp 689w,https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger-300x160.png.webp 300w,https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger-600x320.png.webp 600w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" type=\"image\/webp\"><img src=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger.png\" height=\"368\" width=\"689\" srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger.png 689w, https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger-300x160.png 300w, https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/quering-ledger-600x320.png 600w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" class=\"alignnone size-full wp-image-13157 sp-no-webp\" alt=\"Hyplerledger Fabric Tutorial\" loading=\"lazy\" decoding=\"async\"  > <\/picture><\/p>\n<p><b>Source: Hyperledger Fabric Docs<\/b><\/p>\n<p style=\"text-align: justify;\">The values on the ledger also stay in their world state. This is the key-pair value that is discussed earlier in the Hyperledger Fabric tutorial guide. So, a query can reveal data from keys. The good news is that you can utilize databases such as CouchDB. The world states can be configured to use relational databases.<\/p>\n<blockquote><p>Blockchain technology and relational database are not the same things. Here\u2019s a comparison guide to <a href=\"https:\/\/101blockchains.com\/blockchain-vs-relational-database\/\" target=\"_blank\" rel=\"noopener\">blockchain vs relational database<\/a> that will help you understand their differences.<\/p><\/blockquote>\n<p style=\"text-align: justify;\">To get the list of all cars on the ledger, run the following command,<\/p>\n<blockquote><p><em>node query.js<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">To better understand how querying works, you may want to open up query.js file and go through it. Let\u2019s go through it below.<\/p>\n<blockquote><p><em>const { FileSystemWallet, Gateway } = require(\u2018fabric-network\u2019);<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">In the above line, a network connection is made<\/p>\n<p style=\"text-align: justify;\">Then, a gateway is created for the application to connect. It is done using the lines below.<\/p>\n<blockquote><p><em>const gateway = new Gateway();<\/em><\/p>\n<p><em>await gateway.connect(ccp, { wallet, identity: \u2018user1\u2019 });<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">The ccp is used to identify the user identity and related wallet information.<\/p>\n<p style=\"text-align: justify;\">As the Hyperledger Fabric network runs multiple channels, it is important to connect to the particular channel for the application.<\/p>\n<blockquote><p><em>const contract = network.getContract(\u2018fabcar\u2019);<\/em><\/p><\/blockquote>\n<h3><strong>Understanding the Smart Contract<\/strong><\/h3>\n<p style=\"text-align: justify;\">There are many <a href=\"https:\/\/101blockchains.com\/smart-contract-use-cases\/\" target=\"_blank\" rel=\"noopener\">smart contract use cases<\/a> that you can implement in your application. But for that, you need to learn how to use it. To get a better understanding of the smart contract, let\u2019s go through it. It will also showcase the transactions made through it.<\/p>\n<p style=\"text-align: justify;\">To access it, you need to go to the subdirectory chaincode\/fabcar\/javascript\/lib<strong>. <\/strong>Once there, open up the fabcar.js in an editor.<\/p>\n<p style=\"text-align: justify;\">There you will see the use of the Contract class to define the <a href=\"https:\/\/101blockchains.com\/what-is-a-smart-contract\/\" target=\"_blank\" rel=\"noopener\">smart contract<\/a>. Moreover, there would be clear transactions defined within the smart contract, including queryCar, queryAllCars, initLedger, changeCarOwner, and createCar.<\/p>\n<p style=\"text-align: justify;\">The transactions would look like below:<\/p>\n<blockquote><p><em>async queryCar(ctx, carNumber) {\u2026}<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">Let\u2019s look at queryCar transaction.<\/p>\n<blockquote><p><em>async queryAllCars(ctx) {<\/em><\/p>\n<p><em>\u00a0\u00a0const startKey = \u2018CAR0\u2019;<\/em><\/p>\n<p><em>\u00a0\u00a0const endKey = \u2018CAR999\u2019;<\/em><\/p>\n<p><em>\u00a0\u00a0const iterator = await ctx.stub.getStateByRange(startKey, endKey);<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\"><picture><source srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts.png.webp 733w,https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts-300x94.png.webp 300w,https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts-600x188.png.webp 600w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" type=\"image\/webp\"><img src=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts.png\" height=\"230\" width=\"733\" srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts.png 733w, https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts-300x94.png 300w, https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/smart-contracts-600x188.png 600w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" class=\"alignnone size-full wp-image-13158 sp-no-webp\" alt=\"hyperledger fabric node js tutorial\" loading=\"lazy\" decoding=\"async\"  > <\/picture><\/p>\n<p><strong>Source: Hyperledger Fabric Docs<\/strong><\/p>\n<h3><strong>Updating Ledger: Buying A New Car<\/strong><\/h3>\n<p style=\"text-align: justify;\">The last step is to update the ledger with new information. In this case, let\u2019s create a new car by using the invoke.js. You need to open the file and add the following command to it.<\/p>\n<blockquote><p><em>await contract.submitTransaction(\u2018createCar\u2019, \u2018CAR12\u2019, \u2018CarBrand\u2019,\u2019Model\u2019, \u2018Color\u2019, \u2018Owner\u2019);<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">In the above code, the app calls createCar smart contract transactions. It will, in return, create the car with its attributes, including CarBrand, Color, Model, and Owner.<\/p>\n<p style=\"text-align: justify;\">Now, run the following code to push it to the ledger<\/p>\n<blockquote><p><em>node invoke.js<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">This will result in a ledger update, and you will get a successful output.<\/p>\n<blockquote><p>Start learning Smart Contracts and its development tools with World\u2019s first <a href=\"https:\/\/101blockchains.com\/skill\/smart-contracts\/\" target=\"_blank\" rel=\"noopener\">Smart Contracts\u00a0Skill Path<\/a> with quality resources tailored by industry experts Now!<\/p><\/blockquote>\n<h3 style=\"text-align: justify;\"><strong>Conclusion<\/strong><\/h3>\n<p style=\"text-align: justify;\">This leads us to the end of our Hyperledger Fabric tutorial guide. In the Hyperledger Fabric application tutorial, our aim was to cover only the surface. If you want to dive deep, you can check out their official Hyperledger Fabric documentation, which discusses everything in detail.\u00a0You can also enroll in our <a href=\"https:\/\/academy.101blockchains.com\/courses\/getting-started-with-hyperledger-fabric\" target=\"_blank\" rel=\"noopener\">get started with Hyperledger Fabric course<\/a>, which will also cover a lot of aspects of Hyperledger development.<\/p>\n<p><a href=\"https:\/\/101blockchains.com\/pricing\/\" target=\"_blank\" rel=\"noopener\"><picture><source srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2.webp 1200w,https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2-300x25.webp 300w,https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2-1024x85.webp 1024w, https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2-768x64.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" type=\"image\/webp\"><img src=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2.png\" height=\"100\" width=\"1200\" srcset=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2.png 1200w, https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2-300x25.png 300w, https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2-1024x85.png 1024w, https:\/\/101blockchains.com\/wp-content\/uploads\/2022\/11\/Unlock-your-career-with-101-Blockchains-Learning-Programs-2-768x64.png 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" class=\"aligncenter wp-image-43561 size-full sp-no-webp\" alt=\"Unlock your career with 101 Blockchains&#039; Learning Programs\" loading=\"lazy\" decoding=\"async\"  > <\/picture><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this Hyperledger Fabric tutorial, we will learn how to create your first Hyperledger application and other important things if you are one of the developers who are invested deeply in the blockchain and want to get started with Hyperledger Fabric. Any enterprise-grade framework requires expertise to work. If you are a novice, you will<\/p>\n<div class=\"read-more\"><a href=\"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/\" title=\"Read More\">Read More<\/a><\/div>\n","protected":false},"author":57,"featured_media":30589,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":{"0":"post-13156","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-guides"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Hyperledger Fabric Tutorial: Getting Started Guide - 101 Blockchains<\/title>\n<meta name=\"description\" content=\"Check out the Hyperledger Fabric Tutorial where we cover how to develop your very first fabric application with smart contracts and more!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hyperledger Fabric Tutorial: Getting Started Guide\" \/>\n<meta property=\"og:description\" content=\"In this Hyperledger Fabric tutorial, we will learn how to create your first Hyperledger application and other important things if you are one of the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"101 Blockchains\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/101Blockchains\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-05T12:16:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-03T05:02:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/hyperledger-fabric-tutorial-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"580\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"101 Blockchains\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@101Blockchains\" \/>\n<meta name=\"twitter:site\" content=\"@101Blockchains\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"101 Blockchains\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/\"},\"author\":{\"name\":\"101 Blockchains\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#\\\/schema\\\/person\\\/a358796f59a63df2e672a4907be2d80a\"},\"headline\":\"Hyperledger Fabric Tutorial: Getting Started Guide\",\"datePublished\":\"2021-10-05T12:16:20+00:00\",\"dateModified\":\"2024-07-03T05:02:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/\"},\"wordCount\":2428,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/101blockchains.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/hyperledger-fabric-tutorial-1.jpg\",\"articleSection\":[\"Guides\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/\",\"url\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/\",\"name\":\"Hyperledger Fabric Tutorial: Getting Started Guide - 101 Blockchains\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/101blockchains.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/hyperledger-fabric-tutorial-1.jpg\",\"datePublished\":\"2021-10-05T12:16:20+00:00\",\"dateModified\":\"2024-07-03T05:02:50+00:00\",\"description\":\"Check out the Hyperledger Fabric Tutorial where we cover how to develop your very first fabric application with smart contracts and more!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#primaryimage\",\"url\":\"https:\\\/\\\/101blockchains.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/hyperledger-fabric-tutorial-1.jpg\",\"contentUrl\":\"https:\\\/\\\/101blockchains.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/hyperledger-fabric-tutorial-1.jpg\",\"width\":1200,\"height\":580,\"caption\":\"hyperledger fabric tutorial\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/hyperledger-fabric-tutorial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/101blockchains.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hyperledger Fabric Tutorial: Getting Started Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#website\",\"url\":\"https:\\\/\\\/101blockchains.com\\\/\",\"name\":\"101 Blockchains\",\"description\":\"Your guide to the Blockchain World\",\"publisher\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/101blockchains.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#organization\",\"name\":\"101 Blockchains\",\"url\":\"https:\\\/\\\/101blockchains.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/101blockchains.com\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/image_2021_02_25T10_04_45_211Z.png\",\"contentUrl\":\"https:\\\/\\\/101blockchains.com\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/image_2021_02_25T10_04_45_211Z.png\",\"width\":183,\"height\":175,\"caption\":\"101 Blockchains\"},\"image\":{\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/101Blockchains\",\"https:\\\/\\\/x.com\\\/101Blockchains\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/101blockchains\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/101blockchains.com\\\/#\\\/schema\\\/person\\\/a358796f59a63df2e672a4907be2d80a\",\"name\":\"101 Blockchains\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/efbdb7dd09f99737887d8f8b030566510ec270efeb0c70fc60d6df8f52906615?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/efbdb7dd09f99737887d8f8b030566510ec270efeb0c70fc60d6df8f52906615?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/efbdb7dd09f99737887d8f8b030566510ec270efeb0c70fc60d6df8f52906615?s=96&d=mm&r=g\",\"caption\":\"101 Blockchains\"},\"description\":\"101 Blockchains is the world\u2019s leading online independent research-based network for Blockchain and Web3 Practitioners. We are a professional and trusted provider of accredited certifications, and online training.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/101blockchains\\\/\"],\"url\":\"https:\\\/\\\/101blockchains.com\\\/author\\\/101blockchains\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Hyperledger Fabric Tutorial: Getting Started Guide - 101 Blockchains","description":"Check out the Hyperledger Fabric Tutorial where we cover how to develop your very first fabric application with smart contracts and more!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Hyperledger Fabric Tutorial: Getting Started Guide","og_description":"In this Hyperledger Fabric tutorial, we will learn how to create your first Hyperledger application and other important things if you are one of the","og_url":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/","og_site_name":"101 Blockchains","article_publisher":"https:\/\/www.facebook.com\/101Blockchains","article_published_time":"2021-10-05T12:16:20+00:00","article_modified_time":"2024-07-03T05:02:50+00:00","og_image":[{"width":1200,"height":580,"url":"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/hyperledger-fabric-tutorial-1.jpg","type":"image\/jpeg"}],"author":"101 Blockchains","twitter_card":"summary_large_image","twitter_creator":"@101Blockchains","twitter_site":"@101Blockchains","twitter_misc":{"Written by":"101 Blockchains","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#article","isPartOf":{"@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/"},"author":{"name":"101 Blockchains","@id":"https:\/\/101blockchains.com\/#\/schema\/person\/a358796f59a63df2e672a4907be2d80a"},"headline":"Hyperledger Fabric Tutorial: Getting Started Guide","datePublished":"2021-10-05T12:16:20+00:00","dateModified":"2024-07-03T05:02:50+00:00","mainEntityOfPage":{"@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/"},"wordCount":2428,"commentCount":0,"publisher":{"@id":"https:\/\/101blockchains.com\/#organization"},"image":{"@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/hyperledger-fabric-tutorial-1.jpg","articleSection":["Guides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/","url":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/","name":"Hyperledger Fabric Tutorial: Getting Started Guide - 101 Blockchains","isPartOf":{"@id":"https:\/\/101blockchains.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/hyperledger-fabric-tutorial-1.jpg","datePublished":"2021-10-05T12:16:20+00:00","dateModified":"2024-07-03T05:02:50+00:00","description":"Check out the Hyperledger Fabric Tutorial where we cover how to develop your very first fabric application with smart contracts and more!","breadcrumb":{"@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#primaryimage","url":"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/hyperledger-fabric-tutorial-1.jpg","contentUrl":"https:\/\/101blockchains.com\/wp-content\/uploads\/2019\/10\/hyperledger-fabric-tutorial-1.jpg","width":1200,"height":580,"caption":"hyperledger fabric tutorial"},{"@type":"BreadcrumbList","@id":"https:\/\/101blockchains.com\/hyperledger-fabric-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/101blockchains.com\/"},{"@type":"ListItem","position":2,"name":"Hyperledger Fabric Tutorial: Getting Started Guide"}]},{"@type":"WebSite","@id":"https:\/\/101blockchains.com\/#website","url":"https:\/\/101blockchains.com\/","name":"101 Blockchains","description":"Your guide to the Blockchain World","publisher":{"@id":"https:\/\/101blockchains.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/101blockchains.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/101blockchains.com\/#organization","name":"101 Blockchains","url":"https:\/\/101blockchains.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/101blockchains.com\/#\/schema\/logo\/image\/","url":"https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/03\/image_2021_02_25T10_04_45_211Z.png","contentUrl":"https:\/\/101blockchains.com\/wp-content\/uploads\/2021\/03\/image_2021_02_25T10_04_45_211Z.png","width":183,"height":175,"caption":"101 Blockchains"},"image":{"@id":"https:\/\/101blockchains.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/101Blockchains","https:\/\/x.com\/101Blockchains","https:\/\/www.linkedin.com\/company\/101blockchains\/"]},{"@type":"Person","@id":"https:\/\/101blockchains.com\/#\/schema\/person\/a358796f59a63df2e672a4907be2d80a","name":"101 Blockchains","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/efbdb7dd09f99737887d8f8b030566510ec270efeb0c70fc60d6df8f52906615?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/efbdb7dd09f99737887d8f8b030566510ec270efeb0c70fc60d6df8f52906615?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/efbdb7dd09f99737887d8f8b030566510ec270efeb0c70fc60d6df8f52906615?s=96&d=mm&r=g","caption":"101 Blockchains"},"description":"101 Blockchains is the world\u2019s leading online independent research-based network for Blockchain and Web3 Practitioners. We are a professional and trusted provider of accredited certifications, and online training.","sameAs":["https:\/\/www.linkedin.com\/company\/101blockchains\/"],"url":"https:\/\/101blockchains.com\/author\/101blockchains\/"}]}},"_links":{"self":[{"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/posts\/13156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/comments?post=13156"}],"version-history":[{"count":6,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/posts\/13156\/revisions"}],"predecessor-version":[{"id":53330,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/posts\/13156\/revisions\/53330"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/media\/30589"}],"wp:attachment":[{"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/media?parent=13156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/categories?post=13156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/101blockchains.com\/wp-json\/wp\/v2\/tags?post=13156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}