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

2023-11-12

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-samplesfirst-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>

    peer chaincode instantiate -n
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hyperledger Fabric如何通过虚拟机部署以太坊智能合约 的相关文章

  • mysql提高数据插入效率

    1 同时插入多行记录时 宜采用一条Insert语句 2 批量插入记录时 建立采用Load Date Infile语句 3 插入延迟 提高插入操作对系统的不利影响 4 在插入大量数据之前 可以先将表锁定 5 插入数据之前先对数据进行排序
  • Java BufferedImage设置透明背景

    方式一 从网上搜索出来的方案 BufferedImage bufferedImage new BufferedImage width height BufferedImage TYPE INT RGB Graphics2D graphics
  • 《c/c++ 获取时间戳》——精确到毫秒

    timeb h和time h 这两个是C 的标准头文件 在Microsoft Visual Studio VC98 Include中 表示了C 对时间的支持能力 time h中申明了tm结构体 来对时间年月日 时分秒的支持 值得注意的是 它

随机推荐

  • 小程序运营成功的秘诀

    随着移动互联网的快速发展 小程序已经成为许多企业提升用户体验 增强市场竞争力的重要工具 然而 在竞争激烈的市场环境下 要想让小程序真正成功 吸引用户并保持用户的活跃度 需要一系列有效的运营策略 本文将深入探讨小程序运营成功的关键要素 帮助企
  • [Oracle]解决dbms_output.put_line输出长度限制

    解决dbms output put line输出长度限制 设置dbms output enable n n为一个比较大的数值 即长度大于即将输出的内容 如下函数是将输出的长段内容逐行输出的存储过程 可替代dbms output put li
  • WSL2实现桥接网卡(简单版)局域网内互ping不成问题~

    Windows操作 同时选中wsl网卡与以太网网卡 然后选择桥接 就会出现桥接网卡 设置网桥的静态ip和dns WSL2操作 执行以下脚本 实际IP地址 网关啥的根据实际情况设置 bin bash new ip 168 168 4 169
  • VGGNet实现CIFAR-100图像识别-2(图像增强/ImageDataGenerator)

    图像增强 ImageDataGenerator 官方文档直达 代码 注意 使用图像增强的原因 测试ImageDataGenerator对象的flow方法中batch size参数 具体分析ImageDataGenerator对象的flow方
  • Android博客周刊专题之#插件化开发#

    转自 http www androidblog cn index php Index detail id 16 本期专栏目讨论插件化开发 插件化涉及的东西很多 所以我们需要多个维度去学习 大概分为5个部分 预备知识 入门 进阶 系列 类库
  • 【H.264/AVC视频编解码技术详解】十九、熵编码(5):CABAC语法元素的二值化

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • 更改bat文件图标_如何优雅地设置文件夹图标?收下我的小工具吧

    作者 富妈 在 Windows 系统 可以通过修改图标使文件夹更容易区分 可是如果需要美化的文件夹太多 一个个设置就显得很费力 而且移动文件夹或者重装系统后 图标也容易失效 这是一个很常见的问题 但网上相关的资料却比较少 很多小伙伴可能在搜
  • 关于电脑D盘(C盘等)出现管理员权限(影响删除,重命名),需要解除具体操作。

    管理员权限 影响新建文件 修改文件类型 内容 当安装软件时也带来诸多不便 对于某些语言输入器 编译器更是不友好 因为我们需要经常新建文件 修改文件 我就是在用VScode时发现的 D盘文件全都开启了管理员权限 研究一上午找到两种解决方案 第
  • Unity Camera 的跟踪,转动,缩放,代码教程 适合做角色的第一,第三人称视角

    Unity Camera 的跟踪 转动 缩放 代码教程 适合做角色的第一 第三人称视角 1 代码挂载到摄像机 camera上 Player是你要跟踪物体的位置 把你要跟踪的物体放上就行 2 源代码 using UnityEngine usi
  • python 3.6安装cPickle

    1 在python2 X中 需要安装cPickle 2 在python3 X中 这个包已被别的包替换 使用以下语句即可 import pickle as cPickle
  • string.IsNullOrEmpty()

    string IsNullOrEmpty 是一个判断字符串是否为空引用或者值为空的方法 string IsNullOrEmpty 返回值是boolen型 也就是true或者false
  • Bcrypt 加密算法研究与对比

    Bcrypt 加密算法研究与对比 一 什么是Bcrypt 二 Bcrypt如何加密与验证 一 encode方法加密 二 matches方法验证 三 如果使用彩虹表进行hash碰撞攻击会如何 四 比较 MD5加密算法的缺陷 相对于MD5 Bc
  • 循环语句和字符串拼接

    1 循环语句 循环语句就是让一部分代码重复执行 JavaScript中常用的循环语句有 for while do while 1 for循环 2 while循环 3 do while循环 2 字符串拼接 字符串之间使用 运算符 说明 数字和
  • 基于BERT Adapter的词汇增强型中文序列标注模型

    原创作者 疯狂的Max 论文Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter 解读 01 背景与动机 近年来 多项研究致力于将词汇信息融入中文预训练模型中以提升命名
  • lstm代码_ARIMA时间序列与LSTM神经网络的PK

    作者 李应硕 人大在读 授权转载 收藏順便 点个 赞 创作不易 前言 时间序列算是我接触的第一个统计学实践项目 也是它把我带进了机器学习的大门 当时的我的工作是根据过往投资和赎回量 每天预估一个需要留的钱 有点类似银行准备金 我本想自己写个
  • Vijava 学习笔记之CustomizationPassword

    CustomizationPassword类介绍 包含密码字符串和一个标志 指定字符串是否为纯文本或加密 Properties NAME TYPE DESCRIPTION plainText xsd boolean Flag to spec
  • c语言中ln,lg,log的表示

    c标准头文件math h中有两个与log有关的函数声明 double cdecl log double X double cdecl log10 double X 1 2 其中log代表ln 即loge log10顾名思义就是lg loge
  • Arduino 初识+项目

    目录 Arduino初识 电路的基本知识 基于此就可以做一些有趣的小玩意 第一个大坑 串口通信 项目 基于Arduino板控制小车 几大问题 1 控制电机转动 2 麦轮的安装 3 电路连接 4 使用PWM调速 5 优化小车行驶的平稳性 PI
  • aarch64交叉编译libturbojpeg

    0 目的 因项目上有使用jpeg turbo的需求 用的aarch64的平台 需要使用交叉编译工具来获取libturbojpeg so 1 libturbojpeg下载 libturbojpeg源码git地址 GitHub libjpeg
  • Hyperledger Fabric如何通过虚拟机部署以太坊智能合约

    EVM作为用户链代码安装到Fabric中 然后可以通过它部署智能合约 单个EVM链代码足以在通道上运行多个以太坊智能合约 链码不采用以太坊的共识方法 所有事务仍将遵循Fabric事务流中的执行 订单 验证步骤 确保在不同组织中的足够对等方安