.jpg)
一、Hyperledger2.0 链码安装
以Hyperldger2.0为例,链码的安装主要分为以下几部分:
上述的 CORE_CHAINCODE_ID_NAME不设置不影响链码部署和执行。
上述参数定义为(下面的参数与此相同):
在完成打包后执行安装命令(安装到示例网络的两个组织的节点上)如下:
上述安装成功的话会输出链码的package_id如下:
此 package identifier: mycc_1:cb23fa9b0bace2c353cd7767df34500f3d72faf7efd9774fbd72da4be0696b37我们下文需要使用.
在完成安装命令之后需要组织进行同意命令如下:
上述参数$4就是上文中生成的package identifier。
在完成组织审批之后,需要执行链码向orderer节点进行提交执行如下命令:
上述命令成功执行完输出如下表明链码安装成功。
以上就是fabric2.0中安装一个链码的正常步骤。
下面是我封装的安装链码的两个sh文件,可以简化终端输入
linux执行命令为如下: sh文件名.sh$1$2$3需要注意将输出的package identifier使用变量记录下来,文件2需要使用此参数
linux执行命令为如下 sh文件名.sh参数1参数2参数3参数4参数1为上文输出的package identifier。
Hyperledger中文文档
二、Hyperledger Fabric如何通过虚拟机部署以太坊智能合约
EVM作为用户链代码安装到Fabric中,通过它部署智能合约。单个EVM链代码能在通道上运行多个以太坊智能合约。链码不采用以太坊的共识方法。所有事务遵循Fabric事务流中的执行、订单、验证步骤。在不同组织中确保足够的对等方安装链代码,并设置一个确保一定程度分散的认可政策。与已部署的智能合约交互需要fab3,它通过以太坊JSON RPC API实现一组有限的API,用作web3提供者。
为了安装EVM链代码,链代码位于evmcc下的repo fabric-chaincode-evm。安装链码通常遵循常规步骤,基于fabric-samples中first-network教程的1.3版。
挂载EVM链代码需要更新docker-compose-cli.yaml,包含fabric-chaincode-evm。
通过运行启动网络,执行docker exec-it cli bash命令。如果成功,应显示提示信息。
更改目标对等方,使用环境变量如CORE_PEER_MSPCONFIGPATH、CORE_PEER_ADDRESS、CORE_PEER_LOCALMSPID和CORE_PEER_TLS_ROOTCERT_FILE。
在所有对等设备上安装EVM链代码,执行peer chaincode install和peer chaincode instantiate命令。
与EVM Chaincode交互,有通用方法:通常的Fabric工具和Web3。
使用Peer CLI,部署合约时,to字段设为零地址,input包含合约编译后的evm字节码。与合约交互,设置值,如使用set(x)函数,将值设置为10,然后使用get()函数验证值是否正确。
使用Web3.js库可以改善部署和管理EVM智能合约的用户体验。它期望实现以太坊JSON RPC API的接口。通过设置Fab代理,实现与Fabric网络的交互。
部署合约时,需要evm字节码和合约的ABI。使用web3部署合约后,设置web3.eth.defaultAccount,与合约进行交互,如设置值或验证值。
综上所述,Hyperledger Fabric通过虚拟机部署以太坊智能合约的方法涉及链代码安装、交互和与合约的部署。在部署和管理过程中,利用Fabric工具和Web3.js库可以有效实现智能合约的管理与交互。
本文来自用户投稿,不代表币大牛资讯立场,如若转载,请注明出处:https://www.98xmw.com/zhis/26378.html


发表回复
评论列表(0条)