{"id":22374,"date":"2017-04-03T21:22:25","date_gmt":"2017-04-03T18:22:25","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=22374"},"modified":"2019-07-03T16:52:39","modified_gmt":"2019-07-03T13:52:39","slug":"hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/","title":{"rendered":"Hyperledger Composer: Simplifying Business Networks on Blockchain"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#What_is_Hyperledger_Composer\" >What is Hyperledger Composer?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Why_use_Hyperledger_Composer\" >Why use Hyperledger Composer?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#How_does_it_work\" >How does it work?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Defining_participants_assets_transactions\" >Defining participants \/ assets \/ transactions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Transaction_processors\" >Transaction processors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Access_Control_Lists\" >Access Control Lists<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Using_CLI\" >Using CLI<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#How_does_it_all_come_together\" >How does it all come together?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Whats_next\" >What&#8217;s next?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Want_details_Watch_the_videos\" >Want details? Watch the videos!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#Further_reading\" >Further reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#About_the_expert\" >About the expert<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"What_is_Hyperledger_Composer\"><\/span>What is Hyperledger Composer?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The blockchain technology was one of the highlighted trends during <a href=\"https:\/\/www.altoros.com\/blog\/tag\/ibm-interconnect\/\">IBM InterConnect 2017<\/a>. There were several sessions about blockchain during the conference and among them was an introduction to Fabric Composer presented by IBM&#8217;s <a href=\"https:\/\/uk.linkedin.com\/in\/anthony-o-dowd-847a5069\" target=\"_blank\" rel=\"noopener noreferrer\">Anthony O&#8217;Dowd<\/a>.<\/p>\n<p><a href=\"https:\/\/fabric-composer.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hyperledger Composer<\/a> is a new open-source application development framework, which simplifies the creation of <a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-chaincode-practical-byzantine-fault-tolerance-and-v1-0\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hyperledger Fabric<\/a> blockchain applications. The tool aims at helping users to create blockchain applications based on Hyperledger Fabric without needing to know the low-level details involved in blockchain networks.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/ibm-interconnect-2017-anthony-o-dowd-hyperledger-fabric-composer-v12.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/ibm-interconnect-2017-anthony-o-dowd-hyperledger-fabric-composer-v12.jpg\" alt=\"ibm-interconnect-2017-anthony-o-dowd-hyperledger-fabric-composer-v12\" width=\"640\" class=\"aligncenter size-full wp-image-22505\" \/><\/a><\/p>\n<blockquote><p><em>&#8220;(Hyperledger) Composer really is the middleware that sits between business applications, which require Hyperledger Fabric, and makes it easy to build them.&#8221; \u2014Anthony O&#8217;Dowd, IBM<\/em><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_use_Hyperledger_Composer\"><\/span>Why use Hyperledger Composer?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>It takes time, effort, and other investments to place any business network on a blockchain. Fabric Composer helps users to easily define and model business networks on a blockchain:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Experiment and get hands-on experience with blockchain.<\/li>\n<li style=\"margin-bottom: 6px;\">Learn syntax, how to model data, build assets, and submit transactions.<\/li>\n<li style=\"margin-bottom: 6px;\">Run applications with pre-built best practices in a public or privately managed environment.<\/li>\n<li>Integrate existing systems of record using <a href=\"https:\/\/fabric-composer.github.io\/integrating\/integrating-index.html\" target=\"_blank\" rel=\"noopener noreferrer\">LoopBack and REST<\/a>.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Playground.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Playground.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Playground\" width=\"640\" class=\"aligncenter size-full wp-image-22377\" \/><\/a><\/p>\n<p>In addition, Hyperledger Composer is designed with underlying technology stack familiar to open-source developers:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Business logic is implemented in JavaScript.<\/li>\n<li style=\"margin-bottom: 6px;\">There are client libraries for Node.js (npm) and editor plugins for <a href=\"https:\/\/atom.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Atom<\/a> and <a href=\"https:\/\/visualstudio.microsoft.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio<\/a>.<\/li>\n<li style=\"margin-bottom: 6px;\">It has a CLI to deploy and manage business networks and perform other operations from the API.<\/li>\n<li style=\"margin-bottom: 6px;\">It has code generation and there are tools built using <a href=\"https:\/\/yeoman.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Yeoman<\/a> that enable users to generate an application using a deployed business network definition.<\/li>\n<li>It has integration support for such standards as <a href=\"https:\/\/loopback.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">LoopBack<\/a> and <a href=\"https:\/\/swagger.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Swagger<\/a> for defining REST APIs.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Open-Source-Toolset.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Open-Source-Toolset.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Open Source Toolset\" width=\"640\" class=\"aligncenter size-full wp-image-22445\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_does_it_work\"><\/span>How does it work?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Hyperledger Composer is used to simplify the process of defining a <strong>business network<\/strong>, creating and tracking assets, and performing transactions.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Business-Network.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Business-Network.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Business Network\" width=\"640\" class=\"aligncenter size-full wp-image-22373\" \/><\/a><\/p>\n<p>A business network models <strong>participants<\/strong>, <strong>assets<\/strong>, <strong>registries<\/strong>, and <strong>transactions<\/strong>. <strong>Transaction processors<\/strong> implement business logic on these elements. <strong>Access Control Lists (ACL)<\/strong> define privacy and sharing settings.<\/p>\n<p>One can make use of the <a href=\"http:\/\/composer-playground.mybluemix.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer Playground<\/a>, which is an interactive web tool for testing and deploying business networks. Alternatively, users can opt to <a href=\"https:\/\/fabric-composer.github.io\/installing\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\">install it on Docker<\/a>.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Playground-Car-Auction-Model-File.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Playground-Car-Auction-Model-File.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Playground Car Auction Model File\" width=\"640\" class=\"aligncenter size-full wp-image-22413\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Defining_participants_assets_transactions\"><\/span>Defining participants \/ assets \/ transactions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The <strong>model file<\/strong> includes the definitions for <em>participants<\/em>, <em>assets<\/em>, and <em>transactions<\/em>, which are serialized as JavaScript Object Notations and are validated by Fabric Composer runtime. The key elements are broken down as follows.<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\"><em>Assets<\/em> represent the resources being exchanged in the business network.<\/li>\n<ol>\n<li style=\"margin-bottom: 6px;\">These are defined using the asset keyword.<\/li>\n<li style=\"margin-bottom: 6px;\">Assets have domain-relevant class names.<\/li>\n<li style=\"margin-bottom: 6px;\"><code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">o<\/code> is used to denote properties, while <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">--><\/code> is responsible for establishing relationship to other resources. Optional elements are allowed and field validators can be provided.<\/li>\n<li>Stored in an asset registry. Registries are first-class abstraction.<\/li>\n<\/ol>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Asset.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Asset.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Asset\" width=\"500\" height=\"500\" class=\"aligncenter size-full wp-image-22464\" \/><\/a><\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\"><em>Participants<\/em> represent the counterparties in the business network and are defined in the same fashion as assets. The difference is that at step #1 a user provides the participant keyword and data is stored in a participant registry.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Participant.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Participant.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Participant\" width=\"500\" height=\"500\" class=\"aligncenter size-full wp-image-22465\" \/><\/a><\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\"><em>Transactions<\/em> represent the steps that govern resource life cycle, typically assets, which are defined using the transaction keyword. Steps #2 and #3 are the same as for participants\/assets.\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Transaction.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Transaction.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Transaction\" width=\"500\" height=\"500\" class=\"aligncenter size-full wp-image-22467\" \/><\/a>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Transaction_processors\"><\/span>Transaction processors<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The <strong>script file<\/strong> includes sets of <em>transaction processors<\/em> written in JavaScript and executed on the Fabric network by the Fabric Composer runtime.<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Provides transaction implementation logic.<\/li>\n<li style=\"margin-bottom: 6px;\">Written in JavaScript but could be in any programming language in principle.<\/li>\n<li style=\"margin-bottom: 6px;\">Has @param and @transaction annotators.<\/li>\n<li style=\"margin-bottom: 6px;\">Performs state changes on domain specific resources using model defined syntax.<\/li>\n<li style=\"margin-bottom: 6px;\">Provided in a seperate .js file. Uses model definitions from the CTO file.<\/li>\n<li>Will result in REST APIs for applications.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Transaction-processor-v2.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Transaction-processor-v2.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Transaction processor v2\" width=\"640\" class=\"aligncenter size-full wp-image-22472\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Access_Control_Lists\"><\/span>Access Control Lists<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><em>Access Control Lists (ACL)<\/em> are the settings for sharing and privacy, which are automatically enforced by the Fabric Composer runtime.<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Separate ACL from application logic.<\/li>\n<li style=\"margin-bottom: 6px;\">Defined in a permissions.acl file in the business network definition.<\/li>\n<li style=\"margin-bottom: 6px;\">Flexible model grants both type and instance access (e.g., &#8220;create cars&#8221; and &#8220;scrap my car&#8221;).<\/li>\n<li style=\"margin-bottom: 6px;\">Includes optional condition for more sophisticated ACL checking.<\/li>\n<li>Executed in order until first rule is hit. DENY has precedence over ALLOW.<\/li>\n<\/ul>\n<p><\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-ACL.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-ACL.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer ACL\" width=\"640\" class=\"aligncenter size-full wp-image-22469\" \/><\/a><\/p>\n<p>Once participants and assets are available, transactions can start being used.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Playground-Car-Auction-elements-v2.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Playground-Car-Auction-elements-v2.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Playground Car Auction elements v2\" width=\"640\" class=\"aligncenter size-full wp-image-22415\" \/><\/a><\/p>\n<p>Users can create their own business network from scratch or link their GitHub profiles within the tool to import existing samples.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Using_CLI\"><\/span>Using CLI<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Outside of the Composer Playground, users can opt to <a href=\"https:\/\/fabric-composer.github.io\/tutorials\/getting-started-cmd-line.html\" target=\"_blank\" rel=\"noopener noreferrer\">use the CLI<\/a> to manage an existing business network.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-CLI-commands.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-CLI-commands.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer CLI commands\" width=\"640\" class=\"aligncenter size-full wp-image-22475\" \/><\/a><\/p>\n<p>The CLI includes a suite of commands to interact with an operational business network.<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">The intended usage is for scripting and interactive operations.<\/li>\n<li style=\"margin-bottom: 6px;\">Packaged as composer <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">--cli<\/code> in npm.<\/li>\n<li style=\"margin-bottom: 6px;\">Generates full list of commands with <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">--help<\/code>. Individual commands also support <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">--help<\/code>.<\/li>\n<li>Uses public APIs.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-API.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-API.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer API\" width=\"617\" height=\"403\" class=\"aligncenter size-full wp-image-22479\" \/><\/a><\/p>\n<p>Fabric Composer currently has JavaScript and REST APIs available.<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Node.js is initially provided but the programming language is not tied to it.<\/li>\n<li style=\"margin-bottom: 6px;\">Composer-client and composer-admin npm modules for app developers and admins respectively.<\/li>\n<li style=\"margin-bottom: 6px;\">Programming model uses <a href=\"https:\/\/fabric-composer.github.io\/jsdoc\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">JSDOC<\/a>.<\/li>\n<li>Domain specific REST APIs are also available.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_does_it_all_come_together\"><\/span>How does it all come together?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As mentioned in the beginning, Hyperledger Composer is intended to speed up the creation of Fabric blockchain applications. Using all the tools, a simple application development life cycle would follow these steps:<\/p>\n<ol>\n<li style=\"margin-bottom: 6px;\">Install Hyperledger Composer tools.<\/li>\n<li style=\"margin-bottom: 6px;\">Define business network, assets, participants, and transactions.<\/li>\n<li style=\"margin-bottom: 6px;\">Implement any transaction processors.<\/li>\n<li style=\"margin-bottom: 6px;\">Test business network withing Composer Playground.<\/li>\n<li style=\"margin-bottom: 6px;\">Deploy business network to live Hyperledger Fabric.<\/li>\n<li style=\"margin-bottom: 6px;\">Generate a sample application.<\/li>\n<li>Test the sample application.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/03\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd.png\" alt=\"IBM Blockchain Hyperledger Fabric Composer Anthony O Dowd\" width=\"640\" class=\"aligncenter size-full wp-image-22376\" \/><\/a><\/p>\n<p>Following these steps, users should be able to experience how a business network on Hyperledger Fabric operates.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Whats_next\"><\/span>What&#8217;s next?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>On March 29, the Hyperledger Project <a href=\"https:\/\/www.hyperledger.org\/blog\/2017\/03\/30\/hyperledgers-monthly-technical-update-2\" target=\"_blank\" rel=\"noopener noreferrer\">announced<\/a> an active proposal to incubate Composer. Currently, the project is still undergoing the review process by the technical steering committee.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/ibm-interconnect-2017-anthony-o-down-fabric-composer-v11.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/ibm-interconnect-2017-anthony-o-down-fabric-composer-v11.jpg\" alt=\"ibm-interconnect-2017-anthony-o-down-fabric-composer-v11\" width=\"640\" class=\"aligncenter size-full wp-image-22487\" \/><\/a><\/p>\n<p>The Hyperledger Composer community intends to develop more sample applications to help with demonstrations. Additionally, there are plans to add first class abstractions:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Extensive <strong>query<\/strong> to support reporting and analytics.<\/li>\n<li style=\"margin-bottom: 6px;\"><strong>Events<\/strong> for notification and loose coupling of transaction processors.<\/li>\n<li><strong>Links<\/strong> for business network linkage.<\/li>\n<\/ul>\n<p>More detailed <a href=\"https:\/\/hyperledger.github.io\/composer\/latest\/introduction\/introduction.html\" target=\"_blank\" rel=\"noopener noreferrer\">documentation<\/a> is available for those interested and further development can be tracked in <a href=\"https:\/\/github.com\/hyperledger\/composer\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>. You can also check out Anthony&#8217;s presentation on Hyperledger Composer <a href=\"https:\/\/www-304.ibm.com\/events\/tools\/ic\/2017ems\/REST\/presentations\/PDF\/IC2017_1523.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Want_details_Watch_the_videos\"><\/span>Want details? Watch the videos!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/fdFUsrsv5iw\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/pEHBIfb_iqc\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/ibm-interconnect-blockchain-to-transform-iot-supply-chains-and-the-world-around-us\/\">IBM InterConnect: Blockchain to Transform IoT, Supply Chains, and the World Around Us<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-chaincode-practical-byzantine-fault-tolerance-and-v1-0\/\">Hyperledger Fabric\u2019s Chaincode, Practical Byzantine Fault Tolerance, and v1.0<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-fabric-v1-0-to-bring-improved-transactions-and-a-pluggable-data-store\/\">Hyperledger Fabric v1.0 to Bring Improved Transactions and a Pluggable Data Store<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/hyperledger-approaches-version-1-0-with-better-scalability-and-security\/\">Hyperledger Fabric Approaches v1.0 with Better Scalability and Security<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_expert\"><\/span>About the expert<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/uk.linkedin.com\/in\/anthony-o-dowd-847a5069\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/07\/Anthony-ODowd-Solution-Architect-Blockchain-Technologies-IBM-bio.png\" alt=\"Anthony O&#039;Dowd, Solution Architect, Blockchain Technologies, IBM bio\" width=\"150\" height=\"150\" class=\"aligncenter size-full wp-image-15014\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><a href=\"https:\/\/uk.linkedin.com\/in\/anthony-o-dowd-847a5069\">Anthony O&#8217;Dowd<\/a> is a Solution Architect, Blockchain Technologies, at IBM. He is helping clients with solution architecture and application design for decentralized ledger systems. Anthony has hands-on design experience with the Linux Foundation Open Ledger project and other open-source blockchain technologies. He has a strong background in middle and back-office technologies, playing key roles in the development of IBM MQ and Integration Bus software offerings on mainframe and distributed platforms.<\/small><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<hr\/>\n<p><center><small>The post was written by Carlo Gutierrez with assistance from Sophia Turol and <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex\/\">Alex Khizhniak<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Hyperledger Composer?<\/p>\n<p>The blockchain technology was one of the highlighted trends during IBM InterConnect 2017. There were several sessions about blockchain during the conference and among them was an introduction to Fabric Composer presented by IBM&#8217;s Anthony O&#8217;Dowd.<\/p>\n<p>Hyperledger Composer is a new open-source application development framework, which simplifies the [&#8230;]<\/p>\n","protected":false},"author":32,"featured_media":22510,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[672,753,187,761],"class_list":["post-22374","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-blockchain","tag-hyperledger","tag-ibm-bluemix","tag-ibm-interconnect"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hyperledger Composer: Simplifying Business Networks on Blockchain | Altoros<\/title>\n<meta name=\"description\" content=\"Learn what Hyperledger Composer is, how it defines a business network, manages assets\/participants, and performs transactions on Fabric&#039;s blockchain.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hyperledger Composer: Simplifying Business Networks on Blockchain | Altoros\" \/>\n<meta property=\"og:description\" content=\"What is Hyperledger Composer? The blockchain technology was one of the highlighted trends during IBM InterConnect 2017. There were several sessions about blockchain during the conference and among them was an introduction to Fabric Composer presented by IBM&#8217;s Anthony O&#8217;Dowd. Hyperledger Composer is a new open-source application development framework, which simplifies the [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-03T18:22:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-07-03T13:52:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Carlo Gutierrez\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Gutierrez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/\",\"name\":\"Hyperledger Composer: Simplifying Business Networks on Blockchain | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif\",\"datePublished\":\"2017-04-03T18:22:25+00:00\",\"dateModified\":\"2019-07-03T13:52:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hyperledger Composer: Simplifying Business Networks on Blockchain\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442\",\"name\":\"Carlo Gutierrez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg\",\"caption\":\"Carlo Gutierrez\"},\"description\":\"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hyperledger Composer: Simplifying Business Networks on Blockchain | Altoros","description":"Learn what Hyperledger Composer is, how it defines a business network, manages assets\/participants, and performs transactions on Fabric's blockchain.","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:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/","og_locale":"en_US","og_type":"article","og_title":"Hyperledger Composer: Simplifying Business Networks on Blockchain | Altoros","og_description":"What is Hyperledger Composer? The blockchain technology was one of the highlighted trends during IBM InterConnect 2017. There were several sessions about blockchain during the conference and among them was an introduction to Fabric Composer presented by IBM&#8217;s Anthony O&#8217;Dowd. Hyperledger Composer is a new open-source application development framework, which simplifies the [...]","og_url":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/","og_site_name":"Altoros","article_published_time":"2017-04-03T18:22:25+00:00","article_modified_time":"2019-07-03T13:52:39+00:00","og_image":[{"width":640,"height":360,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif","type":"image\/gif"}],"author":"Carlo Gutierrez","twitter_misc":{"Written by":"Carlo Gutierrez","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/","url":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/","name":"Hyperledger Composer: Simplifying Business Networks on Blockchain | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif","datePublished":"2017-04-03T18:22:25+00:00","dateModified":"2019-07-03T13:52:39+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/04\/IBM-Blockchain-Hyperledger-Fabric-Composer-Anthony-O-Dowd-v7.gif","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/hyperledgers-fabric-composer-simplifies-business-network-modeling-on-blockchain\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hyperledger Composer: Simplifying Business Networks on Blockchain"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442","name":"Carlo Gutierrez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","caption":"Carlo Gutierrez"},"description":"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.","url":"https:\/\/www.altoros.com\/blog\/author\/carlo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/22374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=22374"}],"version-history":[{"count":83,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/22374\/revisions"}],"predecessor-version":[{"id":44877,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/22374\/revisions\/44877"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/22510"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=22374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=22374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=22374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}