Hyperledger Fabric学习笔记——3.测试网络的启动分析

2023-11-10

1. 启动网络

执行以下指令均要以管理员身份运行,请首先执行su root命令

  1. 查看目录
    cd /home/gopath/src/github.com/hyperledger/fabric-samples/first-network
    .env:存储一些环境变量
    base:存储docker-compose的一些公共服务
    byfn.sh:执行脚本
    configtx.yaml和crypto-config.yaml:根据之前生成的2个工具,生成相应的配置文件,用来启动网络,放到当前目录的channel-artifacts和crypto-config里面
    docker-compose:用来启动网络
    scripts:存放测试脚本,做的事:创建通道、加入通道、安装链码、实例化链码、链码交互
  2. 生成配置 ./byfn.sh -m generate -i 1.0.0

注意!!!!
一定要记得把gopath中的bin目录添加到环境变量中,否则可能无法调用刚才编译好的configtxgen和cryptogen工具
可以通过 export PATH=$PATH:/home/gopath/bin 来临时添加或者使用vim ~/.bash_profile修改PATH 一行,之后使用source ~/.bash_profile生效。

  1. 启动网络 ./byfn.sh -m up -i 1.0.0
  2. 关闭网络,自动清除配置和docker进程 ./byfn.sh -m down -i 1.0.0

2.分析网络

  1. 查看crypto-config配置
    peer与order分离
    在这里插入图片描述
    peer又按照组织或主体分离
    在这里插入图片描述
    每个组织生成ca(存储证书和私钥),msp(存储管理员证书和中间证书),peers(存储每一个peer相关的证书),users(存储每一个用户的证书)
    在这里插入图片描述
    users的内容,最少包含两个用户——你创建的用户和admin用户
    在这里插入图片描述
    peers的内容,组织1中存储的peer0和peer1
    在这里插入图片描述

  2. 查看channel-artifacts配置
    genesis.block:整个网络的创世区块
    channel.tx:创建的通道的配置
    Org1MSPanchors.tx和Org2MSPanchors.tx:两个主体的锚节点的配置
    在这里插入图片描述

  3. 启动网络,分析日志
    ./byfn.sh -m up -i 1.0.0

  4. 启动网络
    在这里插入图片描述

  5. 指定通道名称和一些变量,通道创建完成
    在这里插入图片描述

  6. 4个peer加入通道
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  7. 组织中的锚节点在通道update成功
    在这里插入图片描述在这里插入图片描述

  8. 链码安装到peer
    在这里插入图片描述在这里插入图片描述

  9. 链码实例化
    在这里插入图片描述

  10. 在peer0进行查询操作,成功,查询结果为100
    在这里插入图片描述

  11. 进行修改操作,返回200,修改成功
    在这里插入图片描述

  12. 再次查询结果为90
    在这里插入图片描述

  13. 查看docker容器,3个dev开头的就是链码,4个peer开头的就是每一个peer
    在这里插入图片描述
    3个链码会生成3个image
    在这里插入图片描述

  14. 查看脚本
    在这里插入图片描述在这里插入图片描述
    找到脚本对应位置的链码
    在这里插入图片描述

  15. 查看go的代码
    实现了Init和Invoke接口,就代表是一个fabric智能合约
    Init:首先获取参数,不为4就报错,然后把参数存入数据库中
    Invoke:设置了3个方法(invoke,delete,query)
    invoke:转账操作
    delete:从数据库删除
    query:查询操作,以JSON形式返回

  16. 查看脚本
    a初始有100元,b初始有200元
    在这里插入图片描述
    查询a有多少钱,所以打印了100
    在这里插入图片描述
    a给b转10元
    在这里插入图片描述

  17. 总结
    根据下面配置运行一个网络
    在这里插入图片描述
    网络执行了一个链码,实现了初始化、查询、删除、转账等操作
    在这里插入图片描述按照下面的脚本执行,首先进行初始化,然后查询a账户余额,然后a给b转账10元,然后再执行一个查询a账户余额的操作
    在这里插入图片描述

  18. 关闭网络,清除image和容器
    在这里插入图片描述

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

Hyperledger Fabric学习笔记——3.测试网络的启动分析 的相关文章

随机推荐

  • python+selenium+PhantomJS爬取唯品会

    由于唯品会是利用js动态生成html作为反爬机制 所以不能用以前的爬取html的方法进行爬取 本程序是用selenium PhantomJS对唯品会进行爬取 可以根据需要输入要爬取的商品 还有爬取的起始页和结束页 程序代码以及注释的内容如下
  • vue[el-table]表格内附件上传、elementui 的http-request 上传附件,并且还可以传参数

    解决 通过http request
  • cmd 窗口 make clean process_begin: CreateProcess(NULL, rm Dynamics.o test.o, …) failed.

    CMD执行make clean报错 make clean rm Dynamics o test o process begin CreateProcess NULL rm Dynamics o test o failed make e 2
  • layui 弹出iframe选择数据并获取数据

    var layer layui layer layer open type 2 2表示弹出的是iframe 1表示弹出的是层 offset auto title 选择题目 font size 18px area 500px 300px sc
  • 华为HCIE云计算之IPsan存储裸设备映射给Linux主机

    华为HCIE云计算之IPsan存储裸设备映射给Linux主机 一 环境简介 1 Linux系统版本 2 各服务器IP地址 二 配置数据存储 1 登录华为V3数据存储 2 创建LUN 3 创建Lun组 4 创建主机 5 创建主机组 6 创建主
  • 行业轮动策略(思想+源码)

    一 行业轮动策略简介 行业轮动是利用市场趋势获利的一种主动量化投资交易策略 其本质是利用不同投资品种强势时间的错位对行业品种进行切换以达到投资收益最大化的目的 通俗点讲就是根据不同行业的区间表现差异 性进行轮动配置 力求能够抓住区间内表现较
  • yarn add报错error: Missing list of packages to add to your project.

    问题描述 运行yarn add命令安装全部依赖项报错 原因 yarn安装全部依赖是 yarn 或者 yarn install 不是yarn add这个命令 yarn add 后面需要跟具体的包名安装某个包 解决 更换成 yarn 或者 ya
  • DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)之一

    1 结构框图 2 管脚功能描述 管脚符号 类型 描述 A0 A9 A10 AP A11 A12 BC A13 Input 地址输入 为ACTIVATE命令提供行地址 和为READ WRITE命令的列地址和自动预充电位 A10 以便从某个ba
  • 基于Selenium模块实现无界面模式 & 执行JS脚本

    此篇文章主要介绍如何使用 Selenium 模块实现 无界面模式 执行JS脚本 把滚动条拉到底部 并以具体的示例进行展示 1 Selenium 设置无界面模式 创建浏览器对象之前 创建 options 功能对象 options webdri
  • Qt 自动单元测试Auto Test Project详解

    Qt 自动单元测试Auto Test Project详解 有时 残缺也是一种美 测试 则意味着需要投入 有些项目的迭代周期很短 如果也搞一个 test 则可能性价比很低 Qt 自动单元测试Auto Test Project详解 官方 htt
  • Eigen矩阵运算库快速上手

    目录 1 配置 2 初始化 2 1 Array类 2 2 Vector类 2 3 Matrix类 2 4 Vector赋值 2 5 高级初始化 3 矩阵计算 3 1 矩阵基本计算 3 2 线性求解 3 3 特征值计算 3 4 奇异值分解 总
  • spring的自动装配三种模式

    第一种装配模式是我们非常熟悉的xml配置 这种装配需要写id class 还有这个类具体的属性值等等 较为麻烦 第二种byName和byType的自动装配模式 如何设置呢 我们有三个类 cat dog people 并且people种有ca
  • MATLAB进阶教程第一节(图形绘制)

    本节是matlab进阶教程的第一节 头一次看的小白请先看完我的matlab入门基础 方便消化 对那些急需图形绘制的朋友将会有很大帮助 一 二维图形的绘制 1 1plot函数 形式 plot X Y S X Y是向量 分别表示点集的横坐标和纵
  • c++基础十四(冒泡排序)

    冒泡排序 基本思路 对于一组要排序的元素列 依次比较相邻的两个数 将比较小的数放在前面 比较大的数放在后面 如此继续 直到比较到最后的两个数 将小数放在前面 大数放在后面 重复步骤 直至全部排序完成 例子 数组Num 5 9 6 7 3 1
  • 常用的MySQL 优化方法

    数据库优化一方面是找出系统的瓶颈 提高MySQL数据库的整体性能 而另一方面需要合理的结构设计和参数调整 以提高用户的相应速度 同时还要尽可能的节约系统资源 以便让系统提供更大的负荷 本文我们来谈谈项目中常用的MySQL优化方法 共19条
  • Bluetooth 蓝牙介绍(三):低功耗蓝牙BLE空口协议Ⅱ

    文章目录 前言 4 5 CONNECTION STATE 4 5 1 Connection events 4 5 2 Supervision timeout 4 5 3 Connection event transmit window 4
  • BurpSuite实现图形验证码识别

    Burp Suite 图形验证码识别 工具 百度ocr识别的使用 打码平台 导入Burp中 工具 Burp Suite Captcha killer burp 验证码识别插件 百度ocr识别 打码平台识别 百度ocr识别的使用 注册百度账号
  • Ajax实现同步

    1 问题 2 解决 1 问题 今天在写分页查询时 因为前端使用的jQuery分页组件 div div
  • how to free up more space in boot partition with Ubuntu16.04

    Your boot partition is full Since this is a kernel update these files will be copied to the boot partition so you need t
  • Hyperledger Fabric学习笔记——3.测试网络的启动分析

    1 启动网络 执行以下指令均要以管理员身份运行 请首先执行su root命令 查看目录 cd home gopath src github com hyperledger fabric samples first network env 存