如何在区块链上部署链码 | 区块链研究实验室

原创 链三丰 区块链研究实验室 今天

介绍

在本文中,我们将部署JAVA,GO,JAVASCRIPT的链代码以运行Hyperledger Fabric区块链网络。

网络设置

  • 具有一个应用程序通道的Hyperledger Fabric v2.3设置。
  • JAVA链码部署。
  • GO链码部署。
  • JAVASCRIPT链码部署。

资料夹结构

  • 克隆包含源代码的仓库。

  • chaincodes:包含用JAVA,GO,JavaScript编写的链代码的源代码。

  • deployChaincode:包含链码部署脚本。

    git clone https://github.com/cmjagtap/Hyperledger-Fabric

    如何在区块链上部署链码 | 区块链研究实验室

    文件夹结构

      织物区块链设置

      如果光纤网络已经在运行,则可以跳过此步骤。让我们创建一个结构网络,执行以下命令:
        export PATH=${PWD}/bin:$PATHsudo service docker start cd org1./1_enrollOrg1AdminAndUsers.sh./2_generateMSPOrg1.sh cd ../org2./1_enrollOrg2AdminAndUsers.sh./2_generateMSPOrg2.sh   cd ../orderer./1_enrollAdminAndMSP.sh./2_artifact.sh  cd ../org1./3_createChannel.sh  cd ../org2./3_joinChannel.sh
        超级账本2.3 blockchain已准备就绪。

        链码生命周期

        • 打包链码:在这里,我们需要创建一个压缩的链码打包器tar.gz文件。由一个组织或每个组织来完成,可将chaincode打包在单个组织上,然后将其复制到其他组织或打包在所有其他组织上。
        • 安装:它是二进制自动触发的事件。每个将使用链码认可交易或查询分类帐的组织都需要完成此步骤,所有背书的对等方都需要执行此操作。
        • 批准:每个将使用链码的组织都需要完成此步骤。链码定义需要得到足够多的组织的批准,才能满足该频道的LifecycleEndorsment策略(大多数是默认值),才能在该频道上启动链码。
        • 提交链代码:一旦批准了通道上所需数量的组织,提交事务就必须由一个组织提交,提交者首先从已经批准链码的组织的足够的同龄人那里收集背书,然后提交交易以提交链码定义。

        JAVA链码部署

        让我们导航到deployChaincode目录。在这里,我们可以看到各种部署脚本。
        在目录结构中,我们有deployOrg1_JAVA.sh脚本,其中包含部署链码所需的生命周期命令。在当前的Fabric网络中,我们有两个组织。
        首先,在组织1上部署链码,如下所示:
          cd deployChaincodes./deployOrg1_JAVA.sh

          如何在区块链上部署链码 | 区块链研究实验室

          链码部署
          上图显示成功的部署了链码,我们成功地将汽车记录推入了区块链并且成功查询了推车记录,这里要确保您的互联网已连接到以解决链码依赖性。
          在组织2上部署链码,如下所示:
            ./deployOrg2_JAVA.sh

            如何在区块链上部署链码 | 区块链研究实验室

            Chaindoe部署
            上图显示了链码的成功部署,我们可以查询了汽车数据。
            在第二家公司中,则不需要执行所有生命周期命令,链码的提交和初始化由单个组织完成。

            JAVAScript链码部署

            在目录结构中,我们有deployOrg1_JavaScript.sh和deployOrg2_JavaScript.sh执行它们。
            ./deployOrg1_JavaScript.sh ./deployOrg2_JavaScript.sh
            成功部署chaincode后,将看到与上图相同的输出。

            GO链码部署

            在目录结构中,我们有deployOrg1_GO.sh和deployOrg2_GO.sh执行它们。
            ./deployOrg1_GO.sh ./deployOrg2_GO.sh
            成功部署chaincode后,将看到与上图相同的输出。

            如何升级链码 ?

            假设我们已经在结构网络上部署了链码。现在,我们想为现有的链码添加一个新功能。
            1. 实施后,必须遵循相同的链码生命周期过程来部署链码,但这里必须升级链码版本,链码序列和链码标签。

            2. 在部署,脚本将不得不改变CC_VERSION从1版本2和CC_SEQUENCE从1到2。

            3. 我们不需要更改标签,因为我们已经通过更改CC_VERSION和CC_SEQUENCE进行了更改。

            清理

            执行以下脚本以清理所有docker容器和加密材料。
            ./clean.sh
            目前为止,我们已经在Hyperledger Fabric区块链上成功部署了JAVA,GO,JavaScript链代码。
            2021-05-14

            如何在区块链上部署链码 | 区块链研究实验室的相关文章

            如何在TRON区块链上查询交易 | 区块链研究实验室

            原创 链三丰 区块链研究实验室 今天 乙锁链交易是两个或多个地址之间交互的记录. 在TRON区块链上,通常有两个交互地址,并且它们之间的交互可以采用许多不同的形式(例如,创建新帐户或资产,触发智能合约 ...

            如何使用Truffle部署智能合约 | 区块链研究实验室

            原创 链三丰 区块链研究实验室 今天 Ťruffle是一个开发环境(提供用于编译,部署,测试和构建的命令行工具),框架(提供各种程序包以使其易于编写测试,部署代码,构建客户端等)和资产管道(发布软件包 ...

            如何在Polkadot构建和部署智能合约 | 区块链研究实验室

            原创 链三丰 区块链研究实验室 今天 收录于话题 #区块链技术31 #智能合约18 #区块链应用28 #区块链开发30 #区块链43 Polkadot是下一代区块链协议,它将多个专用区块链连接到一个统 ...

            “链上市北” 区块链系列活动第三期:数据治理和区块链研讨会顺利举行

            百舸争流,奋楫者先 区块链技术助力城市数字化转型,为经济生活赋能.5月22日,由上海市市北高新技术服务业园区.DAMA.上海市静安区国际数据管理协会.万向区块链实验室和清华大学出版社联合主办的第三期链 ...

            区块链研究实验室 | 如何使用Python部署智能合约

            今天 在本文中,我们将使用Python部署智能合约. 我喜欢Python,它具备着开发人员出色的经验.能够写作print("hi")而又不会过于冗长System.out.print ...

            创建NFT所需的知识 | 区块链研究实验室

            链三丰 区块链研究实验室 今天 与DeFi代币和初始代币发行(ICO)一样,不可替代的代币或NFT是新的加密热潮.尽管短期内大肆宣传,但一些艺术家和评论家认为NFT确实具有长期可行性. 实际上,NFT ...

            应用程序Python的日志记录模板 | 区块链研究实验室

            原创 链三丰 区块链研究实验室 4天前 通过定义明确,信息量大且结构方便的日志,调试和跟踪应用程序执行的理想方式. 它们是任何编程语言(不仅仅是Python)中任何大型,中型或大型项目必不可少的组成部 ...

            全球区块链新资讯:区块链将改变全世界,无论你接不接受,它来了

            全球区块链新资讯:区块链将改变全世界,无论你接不接受,它来了

            分散式应用程序的简单解释| 区块链研究实验室

            原创 链三丰 区块链研究实验室 今天 在本文中,我们将向大家解释什么是分散式应用程序(DApp)以及它的工作原理. 什么是DApp? 分散式应用程序(DApp的缩写)在前端可视化并在对等网络上执行的智 ...