Fabric1.4.1

Fabcar 案例部署

本教程基于 Fabric-1.4.1 进行部署,部署环境是Centos7

<font size=5>官方文档:</font>点击这里

准备好一个环境初始化好的虚拟机(教程地址

原理

利用fabric-node-sdk程序来与Fabric网络进行交互

准备工作

移除以往运行过的链码镜像和所有的容器:

1# 查看镜像 2docker images 3 4# 查看容器 5docker ps -a 6 7# 停止并移除所有容器 8docker stop $(docker ps -aq) && docker rm $(docker ps -aq) 9 10# 移除指定的镜像 11docker rmi 镜像ID

安装node和npm

1# 创建目录并进入目录 2mkdir -p /home/scripts && cd /home/scripts 3 4# 下载node 5wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz 6 7# 解压node 8tar -zxvf node-v8.9.4-linux-x64.tar.gz 9 10# 复制到/opt目录 11mv node-v8.9.4-linux-x64 /opt 12 13# 建立软连接 14ln -s /opt/node-v8.9.4-linux-x64/bin/node /usr/local/bin/node 15ln -s /opt/node-v8.9.4-linux-x64/bin/npm /usr/local/bin/npm 16 17# 查看版本 18node -v 19npm -v

设置淘宝镜像

1npm config set registry http://registry.npm.taobao.org/ 2 3npm install -g cnpm --registry=https://registry.npm.taobao.org

升级node和npm

Note:<font color=orange> 可选操作 </font>

1# npm升级到最新版本,-g全局安装 2cnpm install npm -g 3 4# 已经升级了 5npm -v 6 7# 安装nodejs的版本管理模块n 8cnpm install -g n 9 10# 查看版本 11n -V 12 13# nodejs版本升级到最新,参数可换:latest/stable/lts/vx.x.x 14n latest 15 16# 安装稳定版 17n stable 18 19# 安装指定版本 20n v7.10.0 21 22# 查看已安装版本 23n 24 25# 删除指定版本 26n rm 6.4.0

克隆Fabric-sample库

工具下载

1# 创建工作目录并进入该目录 2mkdir -p /home/scripts && cd /home/scripts 3 4# 下载脚本 5curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./bootstrap.sh 6 7# 赋予脚本执行权限 8chmod +x ./bootstrap.sh 9 10# 执行脚本来克隆fabric-samples库 11# 镜像我们在前面的课程拉取过,这里跳过特定平台二进制文件的下载(很慢,自行通过浏览器下载,再上传到虚拟机) 12./bootstrap.sh 1.4.1 1.4.1 0.4.15 -d -b 13 14# 如果没有拉取fabric镜像的执行下面这条命令 15./bootstrap.sh 1.4.1 1.4.1 0.4.15 -b 16 17# 将工具解压到fabric-tools目录(自行上传,使用rz命令或者Filezilla工具均可以上传) 18tar -zxvf hyperledger-fabric-linux-amd64-1.4.1.tar.gz -C ./fabric-tools 19 20# 将fabric-tools目录下的bin文件夹复制到fabric-samples目录下 21cp -r ./fabric-tools/bin ./fabric-samples/bin

启动网络

1# 进入fabcar目录 2cd /home/scripts/fabric-samples/fabcar 3 4# 启动网络、创建通道、部署合约 5./startFabric.sh javascript

安装依赖

1# 进入javascript目录 2cd /home/scripts/fabric-samples/fabcar/javascript 3 4# 安装依赖 5npm install

<font color=red>注意:如果出现以下错误</font>

1npm WARN deprecated mkdirp@0.5.3: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) 2npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) 3 4> pkcs11js@1.0.20 install /home/scripts/fabric-samples/fabcar/javascript/node_modules/pkcs11js 5> node-gyp rebuild 6 7make: 进入目录“/home/scripts/fabric-samples/fabcar/javascript/node_modules/pkcs11js/build” 8 CXX(target) Release/obj.target/pkcs11/src/main.o 9make: g++:命令未找到 10make: *** [Release/obj.target/pkcs11/src/main.o] 错误 127 11make: 离开目录“/home/scripts/fabric-samples/fabcar/javascript/node_modules/pkcs11js/build” 12gyp ERR! build error 13gyp ERR! stack Error: `make` failed with exit code: 2 14gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) 15gyp ERR! stack at ChildProcess.emit (events.js:311:20) 16gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) 17gyp ERR! System Linux 3.10.0-862.el7.x86_64 18gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 19gyp ERR! cwd /home/scripts/fabric-samples/fabcar/javascript/node_modules/pkcs11js 20gyp ERR! node -v v12.16.1 21gyp ERR! node-gyp -v v5.0.5 22gyp ERR! not ok 23 24> grpc@1.24.2 install /home/scripts/fabric-samples/fabcar/javascript/node_modules/grpc 25> node-pre-gyp install --fallback-to-build --library=static_library 26 27node-pre-gyp WARN Using request for node-pre-gyp https download 28[grpc] Success: "/home/scripts/fabric-samples/fabcar/javascript/node_modules/grpc/src/node/extension_binary/node-v72-linux-x64-glibc/grpc_node.node" is installed via remote 29npm notice created a lockfile as package-lock.json. You should commit this file. 30npm WARN fabcar@1.0.0 No repository field. 31npm WARN optional SKIPPING OPTIONAL DEPENDENCY: pkcs11js@1.0.20 (node_modules/pkcs11js): 32npm WARN optional SKIPPING OPTIONAL DEPENDENCY: pkcs11js@1.0.20 install: `node-gyp rebuild` 33npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 34 35added 507 packages from 1082 contributors in 25.868s 36 371 package is looking for funding 38 run `npm fund` for details 39 40

安装gcc

1# 说明没有安装gcc的环境 2yum install -y gcc-c++

操作fabcar

1# 登记管理员 2node enrollAdmin.js 3 4# 注册用户 5node registerUser.js 6 7# 执行查询 8node query.js 9 10# 执行交易 11node invoke.js 12 13# 再次执行查询 14node query.js
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )