fabric(token-erc-20链码部署)
确保自己已经安装了fabric。没有安装的可以参考我之前的教程fabric中bootstrap.sh到底帮助我们干了什么?(手动执行相关操作安装fabric2.4)_./bootstrap.sh_小小小小关同学的博客-CSDN博客小伙伴们在跟着官方示例来安装fabric的时候都是相当烦恼的,curl -sSL https://bit.ly/2ysbOFE | bash -s 这个命令怎么执行都是失败的,搞来搞去也没搞明白到底在干嘛最后白白浪费掉了一天的时间(实际上由于网络的原因)。这篇文章介绍如何快速稳定安装官方示例fabric-samples文件、拉取二进制文件和下载所需要的镜像来代替官方示例的这行代码。选取自己的版本后就可以看到官方文档我选取的是2.4。https://blog.csdn.net/qq_45875349/article/details/128138469?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128138469%22%2C%22source%22%3A%22qq_45875349%22%7D
1.环境准备
进入test-network目录下,使用which peer 检查一下环境是否有问题
如果有问题就下面指令配置一下(后面的路径根据自己的fabric-sample路径确定)
export PATH=$PATH:/home/ubuntu/go/src/github.com/hyperledger/fabric-samples/bin
使用 echo $FABRIC_CFG_PATH 查看是否输入相关路径,否则输入指令
export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
可以启动两个回话模拟两个组织 org1 和 org2 ,在两个会话中分别输入下面的指令以配置环境
org1
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051
org2
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051
然后使用peer channel list指令查看目前通道情况
报错情况:
ubuntu@VM-16-12-ubuntu:~/go/src/github.com/hyperledger/fabric-samples/test-network$ peer channel list
2022-12-06 21:07:20.412 CST 0001 ERRO [main] InitCmd -> Cannot run peer because cannot init crypto, specified path "/home/ubuntu/go/src/github.com/hyperledger/fabric-samples/config/msp" does not exist or cannot be accessed: stat /home/ubuntu/go/src/github.com/hyperledger/fabric-samples/config/msp: no such file or directory
原因是因为没有配置环境变量来使用org1或者org2来进行交互
2. erc20部署
2.1 打包链码
在打包链码之前先检查一下erc20链码所在的目录中是否包含vendor,如果没有的话依旧是手动拉取
ls ../token-erc-20/chaincode-go/
我这里没有,所以需要执行下面命令手动拉取
cd ../token-erc-20/chaincode-go/
go mod vendor
然后再回到test-network目录下打包链码(org1)
peer lifecycle chaincode package erc20.tar.gz --path ../token-erc-20/chaincode-go/ --lang golang --label erc20_1.0
2.2 安装链码(1&2)
peer lifecycle chaincode install erc20.tar.gz
查看链码安装情况
peer lifecycle chaincode queryinstalled
设置环境变量(org1+org2)
export ERC20_ID=erc20_1.0:7c99f9616d100b2736ad1d03850e24b844e0d5d1af433b8ab673ba934acf8e8c
approve(org1+org2)
peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name erc20 --version 1.0 --package-id $ERC20_ID --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
可以检查一下是否可以commit
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name erc20 --version 1.0 --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
commit(org1/org2)
peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name erc20 --version 1.0 --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
2.3 测试erc20
mint测试(只有org1可以执⾏) mint相当于初始化最初的资源数量 类似于发行货币
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n erc20 --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 –tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"Mint","Args":["900"]}'
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/3ec84d5d3aa8ad1cd621ca05553e64db.png)
fabric(token-erc-20链码部署)
确保自己已经安装了fabric。没有安装的可以参考我之前的教程fabric中bootstrap.sh到底帮助我们干了什么?(手动执行相关操作安装fabric2.4)_./bootstrap.sh_小小小小关同学的博客-CSDN博客小伙伴们在跟着官方示例来安装fabric的时候都是相当烦…...
![](https://img-blog.csdnimg.cn/02689322e950416db1816be432f7b284.png)
C语言基础——流程控制语句
文章目录一、流程控制语句 -- 控制程序的运行过程 9条(一)、条件选择流程控制语句:if语句if……else……语句if……else if……语句switch语句(二)、循环流程控制语句:for语句while语句do while……语句co…...
![](https://img-blog.csdnimg.cn/6df947fa2672441fbeffad7ab236209f.gif)
WinForm | C# 界面弹出消息通知栏 (仿Win10系统通知栏)
ApeForms 弹出消息通知栏功能 文章目录ApeForms 弹出消息通知栏功能前言全局API通知栏起始方向通知排列方向通知栏之间的间隔距离无鼠标悬停时的不透明度消息通知窗体的默认大小示例代码文本消息提示栏文本消息提示栏(带选项)图文消息提示栏图文消息提示…...
![](https://img-blog.csdnimg.cn/f74590063ca84b7a89f85ec2e275e732.png)
刷题之最长公共/上升子序列问题
目录 一、最长公共子序列问题(LCS) 1、题目 2、题目解读 编辑 3、代码 四、多写一题 五、应用 二、最长上升子序列问题(LIS) 1、题目 2、题目解读 3、代码 四、多写一道 Ⅰ、题目解读 Ⅱ、代码 一、最长公共子序列问题&…...
![](https://img-blog.csdnimg.cn/img_convert/964d5c594e4c6ccea737be3c6b6bed4e.gif#pic_center)
【数据结构】千字深入浅出讲解栈(附原码 | 超详解)
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:C语言实现数据结构 💬总结:希望你看完…...
![](https://www.ngui.cc/images/no-images.jpg)
自动驾驶V2X
1 SoC MDM9250 2 设备网络节点 mhi_swip0 rmnet_mhi0 3 网络协议栈log打印控制 include/linux/netdevice.h ethtool -s eth0 msglvl [level] ethtool -s eth0 msglvl 0x6001 4 URLs MHI initial design review https://lore.kernel.org/lkml/001601d52148$bd852840$388f78c0$c…...
![](https://img-blog.csdnimg.cn/cc9765dc19e34393bfec40e2103d80b9.png)
零基础自学网络安全/渗透测试有哪些常见误区?
一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…...
![](https://img-blog.csdnimg.cn/b65225faa2174bf9ba5c6eede6aebe83.png)
ConvMixer:Patches Are All You Need
Patches Are All You Need 发表时间:[Submitted on 24 Jan 2022]; 发表期刊/会议:Computer Vision and Pattern Recognition; 论文地址:https://arxiv.org/abs/2201.09792; 代码地址:https:…...
![](https://www.ngui.cc/images/no-images.jpg)
day10—编程题
文章目录1.第一题1.1题目1.2思路1.3解题2.第二题2.1题目2.2涉及的相关知识2.3思路2.4解题1.第一题 1.1题目 描述: 给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩…...
![](https://img-blog.csdnimg.cn/img_convert/b90dd3f653a84ea9abc3a3dabb17472b.png)
如何测量锂电池的电量
锂电池在放电时我们有时需要知道电池的实时电量,如电池电量低了我们就需要及时给锂电池充电,避免电池过度放电。我手里的这个就是个单节锂电池电量显示模块,只需要将这个模块接到锂电池的正负极即可显示电量。这个模块的电量分为四档…...
![](https://img-blog.csdnimg.cn/d197a9056faf464bb35a2053d486dac2.jpeg)
菜鸟刷题Day6
⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.链表内指定区间反转:链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com) 描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转…...
![](https://img-blog.csdnimg.cn/img_convert/a4b8b0c8431edd1ca6bf6d2a43322cdd.png)
DecimalFormat格式化显示数字
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字,可以实现以最快的速度将数字格式化为你需要的样子。 DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充, # 表示只要有可能就…...
![](https://img-blog.csdnimg.cn/4444158668fe4692995c9e9d1e018737.jpg)
cpu中缓存简介
一级缓存是什么: 一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率。一级缓存越大,CPU的运行效率越高,但受到CPU内部结构的限制,一级缓存的容量都很小。 CPU缓存(Cache Memory…...
![](https://img-blog.csdnimg.cn/cdfcb24ec75f4129bd8fd2f001e35671.jpeg)
【数据结构】二叉树的遍历以及基本操作
目录 1.树形结构 1.概念 2.二叉树 2.1概念 2.2 两种特殊的二叉树 2.3二叉树的存储 2.4二叉树的基本操作 1.手动快速创建一棵简单的二叉树 2.二叉树的遍历 (递归) 3.二叉树的层序遍历 4.获取树中节点的个数 5.获取叶子节点的个数 6.获取第K层节点的个数 7.获取二叉…...
![](https://img-blog.csdnimg.cn/e8f844b2d9a2421cb92f599cf275d26b.png)
若依框架 --- ruoyi 表格的设置
表格 字典值转换 (1) 方式1:使用字典枚举的方式 var isDownload [[${dict.getType(YES_OR_NO)}]];{field : isDownload,title : 是否允许下载,formatter: function(value, row, index) {return $.table.selectDictLabel(isDownload, value);} }, (2) 方式2&…...
![](https://img-blog.csdnimg.cn/img_convert/553c75535df5c4a333e0319079a1c103.jpeg)
“两会”网络安全相关建议提案回顾
作为新一年的政治、经济、社会等发展的“风向标”,今年“两会”在3月13日顺利闭幕。在今年“两会”期间,多位人大代表也纷纷围绕网络安全、数据安全的未来发展做了提案和建议。 01 “两会”网络安全相关建议和提案回顾 建议统筹智能网联汽车数据收集与共…...
![](https://img-blog.csdnimg.cn/a091abb93a584912801511b923925156.jpeg)
一篇文章带你真正了解接口测试(附视频教程+面试真题)
目录 一、什么是接口测试? 二、为什么要做接口测试? 三、如何开展接口测试? 四、接口测试常见面试题 一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据…...
![](https://img-blog.csdnimg.cn/485e23fe171340ac8aa6484295c452bf.png)
C/C++每日一练(20230325)
目录 1. 搜索插入位置 🌟 2. 结合两个字符串 🌟 3. 同构字符串 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 搜索插入位置 给定一个排序数…...
![](https://img-blog.csdnimg.cn/img_convert/27bc94269ed741bf9628da0efdcf8c32.png)
Linux操作系统ARM指令集与汇编语言程序设计
一、实验目的1.了解并掌握ARM汇编指令集2.应用ARM指令集编写一个程序操控开发板上的LED灯二、实验要求应用ARM汇编指令集编写程序,实现正常状态下开发板上的LED灯不亮,按下一个按键之后开发板上的LED灯进入流水灯模式。三、实验原理四个LED灯的电路如下图…...
![](https://img-blog.csdnimg.cn/img_convert/0903649b9c6614de9ecdbcd6d9164036.png)
计网之HTTP协议和Fiddler的使用
文章目录一. HTTP概述和fidder的使用1. 什么是HTTP2. 抓包工具fidder的使用2.1 注意事项2.2 fidder的使用二. HTTP协议格式1. HTTP请求格式1.1 基本格式1.2 认识URL1.3 方法2. 请求报头关键字段3. HTTP响应格式3.1 基本格式3.2 状态码一. HTTP概述和fidder的使用 1. 什么是HTT…...
![](https://img-blog.csdnimg.cn/a67aa28c34254d6a8bbb1319b228b1e3.png)
sql性能优化:MS-SQL(SQL Server)跟踪日志信息结果列字段说明,MSSQL的列字段说明(column)
sql性能优化:MS-SQL(SQL Server)跟踪日志信息结果列字段说明,MSSQL的列字段说明(column) 参考: SQL:BatchCompleted 事件类 | Microsoft Learn SQL 跟踪 | Microsoft Learn sp_trace_setevent (…...
![](https://www.ngui.cc/images/no-images.jpg)
DNS主从复制
#前提准备:关闭SElinux 关闭防火墙 时间同步 #环境说明:Centos7 #ip地址:dns-master:10.0.0.100 dns-slave:10.0.0.103 web:10.0.0.101 主DNS服务配置 1.安装软件包: yum install bind -…...
![](https://www.ngui.cc/images/no-images.jpg)
常见的js加密/js解密方法
常见的js加密/js解密方法 当今互联网世界中,数据安全是至关重要的。为了保护用户的隐私和保密信息,开发人员必须采取适当的安全措施。在前端开发中,加密和解密技术是一种常见的数据安全措施,其中 JavaScript 是最常用的语言之一。…...
![](https://www.ngui.cc/images/no-images.jpg)
6 python函数
函数 在实现某个功能对应的代码的时候,如果将实现功能对应的函数放到函数中,那么下一次再需要这个功能的时候,就可以不用再写这个功能对应的代码,直接调用这个功能对应的函数。 1.什么是函数 函数就是实现某一特点功能的代码的封装…...
![](https://img-blog.csdnimg.cn/c04bb29a3a8e4685a69ad7b0d5911325.png)
7.避免不必要的渲染
目录 1 组件更新机制 2 虚拟DOM配合Diff算法 3 减轻state 4 shouldComponentUpdate() 4.1 基本使用 4.2 使用参数 5 纯组件 5.1 基本使用 5.2 纯组件的比较方法 shallow compere 1 组件更新机制 当父组件重新渲染时,父组件的所有子组件也会重新…...
![](https://img-blog.csdnimg.cn/7f8395b2777f446ab6159e479a147b49.jpeg)
国产化大趋势下学习linux的必要性
由于国际上的一些国家的制裁和威胁。最近几年国产化大趋势慢慢的兴起,我们国产化硬件的需求越来越大。对国产操作系统的需求也越来越多,那么我们一直用的Windows系统为什么不用了呢?众所周知的原因,不管是最新的Windows11还是正值…...
![](https://www.ngui.cc/images/no-images.jpg)
浅谈虚树
问题引入 你是否遇到过下面这种问题: SDOI2011 消耗战 在一场战争中,战场由 nnn 个岛屿和 n−1n-1n−1 个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已…...
![](https://www.ngui.cc/images/no-images.jpg)
裸机条件下写一个基于时间片轮转的多任务并发程序
目录前言A. 使用RTOSB.裸机多任务并发前言 在学习各种MCU的时候,都是用在main函数里写一个while(1){/* 执行代码 */},这种方式只能一个函数运行完以后再运行另一个函数。 假设需求控制多个模块,如显示屏幕信息的同时控制电机,还要…...
![](https://www.ngui.cc/images/no-images.jpg)
RK3588 系统定制开关机动画
平台:ITX-3588J, ROC-RK3588S-PC 系统:Android12.0 作者:jpchen & zzz 一. 功能描述 定制自己的开机动画和关机动画 二. 功能实现 1.开启功能 修改device/rockchip/common/BoardConfig.mk文件 BOOT_SHUTDOWN_ANIMATION_RINGINGtrue2.…...
![](https://www.ngui.cc/images/no-images.jpg)
水文-编程命令快查手册
前言 脑子里面记不住一些命令,每次遇到都得查下。我经常在三个实体电脑,windows/uos/ubuntu不同系统上编程。 所以web版本的笔记查看起来方便点。这里报错下。 二级标题 cmake windows在cmake --build的时候,使用–config,指定…...
![](/images/no-images.jpg)
网站备案截图/成都网站seo排名优化
今天在网上看到这么个chroot工具jailkit,于是就在本地测试了下,感觉是相当的好用,可以对系统用户进行活动范围以及权限的限制,是一个不错的权限限制工具.下载地址:http://olivier.sessink.nl/jailkit/download/1. 安装 jailkit#tar zxvf jailkit-2.10.tar.gz#cd jailkit-2.10#.…...
![](/images/no-images.jpg)
专业手机网站建设哪家好/营销是做什么
随着每天温度的降低,慢慢进入了秋天。虽然这里的秋季雨天比较多,但偶尔晴朗得万里无云的日子会让心情一下变得阳光很多,走在上班的路上都会不自主的哼着歌,呵呵,臭美一下。路边的小桂花树也散发着淡淡的香味࿰…...
![](https://img-blog.csdnimg.cn/img_convert/3eb8918e16aa7d761910773baeb911d7.png)
wordpress调用地图导航/武汉网络关键词排名
在上一篇实现了简单的画板功能, 这篇实现橡皮擦功能,首先分析一下应该如何实现,在andriod有个图像混合(xfermode)概念,利用这个概念我们就可以实现橡皮擦功能。一、xfermodepaint有一个方法setxfermode(xfermode),这个…...
![](https://img-blog.csdnimg.cn/20200908112822442.png?)
深圳 网站 设计/哈尔滨最新信息
题目描述 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]实现思路 这道题目运用到了普通的回溯剪枝以及深度优先遍历。 原本应该是这样的: 我们可以看到&am…...
![](/images/no-images.jpg)
wordpress 新建栏目/关键词优化哪家好
1.论述 1.1.获取计算机系统所有实际可用物理区域信息 计算机系统的物理区域并不是连续的,且有的物理区域映射到特定硬件内部区域以便实现特定功能。 对计算机系统的物理区域进行分页管理,首先,要获取所有离散的物理区域信息。 INT 15h, AXE…...
![](/images/no-images.jpg)
网站建设项目简介/关键词排名优化易下拉技巧
最稳定的几何形状是三角形,不是四边形,也不是五边形。那么是不是最稳定的就是最安全的呢?一旦三角形的一条边受损了,三角形就不复存在了。有没有比三角形更稳定、更安全、更可靠的关系网呢?DNA结构是分叉交错形的、可替…...