Hyperledger Fabric如何通过虚拟机部署以太坊智能合约

TDS:区块链智能合约开发技术选型攻略 区块链智能合约开发技术选型需综合考虑平台特性、项目需求和团队能力。主流选择包括:1)以太坊L2(Solidity)适合DeFi/NFT,生态成熟;2)Solana(Rust)适合高性能应用;3)Hyperledger Fabric(Go)适合企业级联盟链。关键考量因素包括去中心化程度、性能需求、开发资源等。建议新手从以太坊L2+Solidity入手,企业应用可选Fabric,追求性能可考虑Solana。技术选型直接影响项目成败,需根据具体场景权衡利弊。 阅读详情

EVM作为用户链代码安装到Fabric中,然后可以通过它部署智能合约。单个EVM链代码足以在通道上运行多个以太坊智能合约。链码不采用以太坊的共识方法。所有事务仍将遵循Fabric事务流中的执行,订单,验证步骤。确保在不同组织中的足够对等方安装链代码,并设置一个确保一定程度的分散的认可政策。为了与已部署的智能合约进行交互,有一个fab3,它从以太坊JSON RPC API实现一组有限的API,因此可以用作web3提供者

EVM作为用户链代码安装到Fabric中,然后可以通过它部署智能合约。 单个EVM链代码足以在通道上运行多个以太坊智能合约。 链码不采用以太坊的共识方法。 所有事务仍将遵循Fabric事务流中的执行,订单,验证步骤。 确保在不同组织中的足够对等方安装链代码,并设置一个确保一定程度的分散的认可政策。 为了与已部署的智能合约进行交互,有一个“fab3”,它从以太坊JSON RPC API实现一组有限的API,因此可以用作web3提供者。

安装 EVM 链代码

EVM链代码位于evmcc下的repo fabric-chaincode-evm。要安装链码,请按照常规步骤安装链码。以下说明基于fabric-samples中first-network教程的1.3版。

挂载EVM Chaincode

用volumes更新docker-compose-cli.yaml以包含fabric-chaincode-evm。

  cli:
    volumes:
      - ./../../fabric-chaincode-evm:/opt/gopath/src/github.com/hyperledger/fabric-chaincode-evm

通过运行启动网络:

  ./byfn up

构建并启动EVM

  docker exec -it cli bash

如果成功,你应该看到以下提示:

  root@0d78bb69300d:/opt/gopath/src/github.com/hyperledger/fabric/peer#

要更改目标对等方,请更改以下环境变量:

  # Environment variables for PEER0
  export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
  export CORE_PEER_ADDRESS=peer0.org1.example.com:7051
  export CORE_PEER_LOCALMSPID="Org1MSP"
  export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

接下来在所有对等设备上安装EVM链代码:

    peer chaincode install -n evmcc -l golang -v 0 -p github.com/hyperledger/fabric-chaincode-evm/evmcc

实例化evmcc并用频道名称替换<channel-name><

超级账本HyperLedger Fabric实战技术50问(珍藏版) 1.在fabric中,如何实现组织ORG1与组织ORG2之间的PEER互相交互?{“Args”:[“init”,“a”,“100”,“b”,“200”]}’,如何把a定义为属于ORG1,b定义为属于ORG2? 答:一个channel一本账。channel里的所以org共享账本数据,org1与org2如果在一个channel就可以共享账本数据了。 2.fabric中每台peer上的ca不合根ca联网... 阅读详情

相关推荐

Hyperledger Fabric(一)- 基本概念与名词解释

Hyperledger超级账本为Linux基金会主办的开源合作项目 , 旨在推进跨行业区块链技术。它是一个全球的合作项目, 领导者来自包括金融、银行、物联网、供应链、制造和技术领域。

MyIgnorance的博客 4202

超级账本hyperledger fabric第一集:概念

一.hyperledger fabric 概念: 1. 什么是 hyperledger? 超级账本是 Linux 基金会在 2015 年发起的“开放式账本”开源项目,“开放式账 本”是为推进区块链技术应用于金融领域及交易验证方向的发展而发起的,“开放 式账本”随后被更名为“超级账本” 其加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同 利益体,...

super_lixiang的博客 1391

智能合约框架 VS. 其他智能合约框架

作者:禅与计算机程序设计艺术 1.简介 “智能合约”(Smart Contract)是一种在区块链上运行的计算机程序,它由一组规则定义,并自动执行。这些规则指定了当特定事件发生时,合约将如何操作或执行事务。智能合约有助于降低交易成本,增加网络效率,促进去中心化自治组织之间的协作和数据流动,以及保护价值和

AI天才研究院 973

fabric-chaincode-evm

Hyperledger Fabric EVM链码 这是Hyperledger Fabric链码的项目,集成了Burrow EVM。 从本质上讲,该项目使人们能够使用Hyperledger Fabric许可的区块链平台与以EVM兼容语言(例如Solidity或Vyper)编写的以太坊智能合约进行交互。 集成是通过EVM链代码(EVMCC)和Fab3实现的。 EVMCC将Hyperledger Burrow EVM程序包包装在Go链码填充程序中,并在对等方和EVM本身之间映射各种方法。 EVMCC充当智能合约运行时,并将部署的合约代码存储在evmcc命名空间下的分类帐中。 第二部分是Fab3,这是一个web3提供程序,它是实现以太坊兼容JSON RPC接口的子集的代理,以便用户可以使用Web3.js之类的工具与Fabric EVM中运行的智能合约进行交互。 使用Fabric GO SDK,

Simulink与C/C++的无缝对接:自定义结构体变量导入实战指南

本文详细介绍了如何将C/C++自定义结构体导入Simulink环境,实现无缝数据对接。通过编写标准C头文件、配置MEX编译环境(如MinGW),并利用`Simulink.importExternalCTypes`函数,可将结构体转换为Simulink Bus对象,从而提升复杂系统模型的可读性、可维护性及仿真与代码生成效率。

weixin_29093017的博客 481

无人机通信安全渗透测试:从信号拦截到GPS欺骗的完整攻防框架

在物联网和智能设备普及的背景下,无线通信安全成为关键基础设施防护的核心环节。其原理在于,通过软件定义无线电等设备对空中的射频信号进行捕获、分析与模拟,从而评估通信协议在加密、认证和防重放等方面的脆弱性。这项技术的价值在于,它能主动发现并修复系统设计缺陷,避免因信号被拦截或欺骗导致设备被劫持、数据泄露等重大安全事件。其应用场景广泛,涵盖消费电子、工业控制及关键基础设施等领域。本文聚焦于无人机这一典型移动物联网终端,深入探讨如何构建一套针对其通信链路的渗透测试方法论,其中涉及信号拦截、协议逆向等关键技术,旨在为

weixin_34128237的博客 389

步进电机驱动算法——梯形加减速算法

目录步进电机梯形加减速梯形加减速算法原理分析算法实现 步进电机梯形加减速 电机的控制方式一般分为开环控制与闭环控制两种控制方式,其中开环控制原理框图如下: 这种种控制方式的特点是:控制简单、实现容易、价格较低,这种开环控制方式,负载位置对控制电路没有反馈。 对于步进电机,控制脉冲的输入并不依赖于转子的位置,而是按一固定的规律发出控制脉冲,如果励磁变化太快,电机不能移动到新的位置,那么实际负载位置与理想位置就会产生一个偏差,就有可能出现失步或者过冲现象,所以需要使用加减速算法。 梯形加减速算法,S加减速算法等

aaa376070331的博客 3万+

百度智能云训练图像分割模型+python调用模型并分割图像

目录 训练模型阶段 发布图像分割API 调用图像分割API 创建应用后显示以下两个代码 在pycharm中可以调用API mask解码 依赖库pycocotools安装步骤: 依赖库urllib2的安装 源码下载: 最近上课听老师介绍了一个训练图像分割模型的网站,把数据集上传之后做图像标注,然后进行训练就能得到准确率等指标。 训练模型阶段 图像分割:https://ai.baidu.com/easydl/vision/ 图像分割-->创建模型-->上传数据--&gt

icecreamdinner的博客 1388

手把手教你用Verilog实现MDIO控制器(附完整VHDL代码对比)

本文详细介绍了如何使用Verilog实现MDIO控制器,并提供了与VHDL实现的深度对比。通过解析MDIO协议核心要点,展示Verilog状态机架构设计和关键时序控制逻辑,同时对比VHDL在信号声明、状态机实现和双向端口处理上的差异。适用于以太网硬件设计开发者,帮助掌握MDIO控制器自主实现能力。

weixin_30682415的博客 422

modbus

从机地址 功能码 起始地址高位 起始地址低位 数量高位 数量低位 字节数 0001H高位 0001H低位 0002H高位 0002H低位 CRC高位 CRC低位。每个输入寄存器的长度为2个字节。其中,CDH对应线圈0013H到001AH的内容,01H对应线圈001B到001CH的内容,未使用位用0填充。从机地址 功能码 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRC高位 CRC低位。从机地址 功能码 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRC高位 CRC低位。

lunhuicnm的博客 9744

数学建模--十大经典常用算法

数学建模十大算法:灰色预测,蒙特卡洛,遗传算法,模拟退火法,组合算法,神经网络,动态规划,聚类算法,类比法,概率算法,Floyd算法

qq_51533426的博客 5646

刚体转动欧拉方程:从理论到卫星姿态控制的实践

刚体转动欧拉方程是描述刚体旋转运动的基本动力学方程,在卫星姿态控制、机器人学、航空航天等领域有着广泛应用。本文将详细讲解欧拉方程的物理概念、数学推导、数值计算方法,并重点分析其在卫星姿态控制系统中的具体应用。

ScilogyHunter的博客 641

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 在一台Ubuntu计算机上构建Hyperledger Fabric网络
下一篇: 以太坊开发者工具的最新清单
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值