容器中运行Fabric区块链网络
2019独角兽企业重金招聘Python工程师标准>>>
容器中运行Fabric区块链网络
Fabric是区块链项目Hyperleger的主要工程,可以在容器中运行,快速建立实验区块链网络。
- 参考:http://hyperledger-fabric.readthedocs.io/en/latest/samples.html
1、安装虚拟机
- 安装ubuntu虚拟客户机,环境为ubuntu16.04.4 LTS。
- 安装go环境,环境变量配置好后重启 参考:http://www.cnblogs.com/auh2010006/p/6343231.html
- 更新ubuntu的源,
- sudo apt update && sudo apt upgrade -y
- 安装curl
- sudo apt install curl
2、安装Docker
- 安装docker curl -sSL https://get.docker.com/ | sh
- 将用户加入docker组并重启,运行 usermod -aG docker <username>。
- docker run hello-world,启动hello-world测试docker是否安装成功。
- 安装docker-compose,要求最好1.8以上,运行 sudo apt install docker-compose
- 安装nodejs,运行 apt install nodejs
- 安装npm,运行 apt install npm
- 为了启动docker后,就可以远程访问,需要修改docker服务配置,文件位于/etc/default/docker(Ubuntu 16.04.04位于/lib/systemd/system/docker.service中):
- # Use DOCKER_OPTS to modify the daemon startup options.
- # DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
- DOCKER_OPTS="-H=unix:///var/run/docker.sock -H=0.0.0.0:2375"
- 然后重启docker服务,
- sudo systemctl daemon-reload
- sudo systemctl restart docker。
3、安装Fabric
- 下载fabric的一些工具和脚本并且自动下载镜像和修改tag。
- curl -sSL https://goo.gl/iX9dek | bash
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.0-rc1.sh | bash这个链接不需要翻墙
- 配置fabric环境变量并重启。
- #可以不配置环境变量但是bin目录要放在第15步的第一层文件夹内,因为byfn.sh脚本有设置变量。
- git clone https://github.com/hyperledger/fabric-samples.git下载一个fabric例子和脚本用于搭建fabric网络
- 执行fabric中bin文件的get-docker-images.sh获取镜像,会很慢,然后设置别名 命令:docker tag 镜像名:tag 新的镜像名:新的tag即latest
- 进入byfn.sh脚本目录,执行./byfn.sh -m generate( This first step generates all of the certificates and keys for all our various network entities, the genesis block used to bootstrap the ordering service, and a collection of configuration transactions required to configure a Channel. ),
- 然后,执行./byfn.sh -m up up命令其实连带执行了generate命令了,会先判断是否已经生成证书,如果没有就会先执行generate
注:./byfn.sh -m down 这个命令是将network摧毁,会删除up过程生成的container、image和证书文件等产生物
- 网络搭建成功,用docker ps测试是否有容器运行(docker ps -a可以看到不在运行中的容器)
4、运行测试
开始运行测试。
- 安装部署chaincode:
peer chaincode install -n mycc -v 1.0 -p \
github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
- 初始化chaincode:
peer chaincode instantiate -o orderer.example.com:7050 \
--tls true \
--cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem \
-C mychannel -n mycc -v 1.0 \
-c '{"Args":["init","a", "100", "b","200"]}' \
-P "OR ('Org1MSP.member','Org2MSP.member')"
- 进入cli容器:
docker exec -it cli bash
- 产生一笔交易:
peer chaincode invoke -o orderer.example.com:7050 \
--tls true \
--cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem \
-C <channer_name> \
-n mycc \
-c '{"Args":["invoke","b","a","50"]}'
- 查询:
peer chaincode query -C <channer_name> -n mycc -c '{"Args":["query","b"]}'
- 打印cli日志:
docker logs -f cli
- 打印某个容器的日志:
docker logs dev-peer0.org2.example.com-mycc-1.0
转载于:https://my.oschina.net/u/2306127/blog/1647179
容器中运行Fabric区块链网络相关推荐
- Fabric区块链网络
翻译自fabric官方文档: https://hyperledger-fabric.readthedocs.io/en/release-1.3/network/network.html Fabric区 ...
- 财路网每日原创推送: 物联网区块链网络在制造供应链中还存在着很多挑战
财路网(www.cailuw.com) 物联网区块链网络在制造供应链中还存在着很多挑战 区块链的应用远远超出了加密货币.物联网(IoT)驱动的电子传感器网络是部署下一代区块链技术中尚未开发的平台,该技 ...
- 在IBM Cloud中运行Fabric
文章目录 打包智能合约 创建IBM Cloud services 创建fabric网络 创建org和相应的节点 创建order org和相应节点 创建和加入channel 导入智能合约 上篇文章我们讲 ...
- IBM推出跨境支付区块链网络,企业级区块链技术进一步升级
周一,IBM公布了一个应用于跨境支付的区块链网络,这也是首个同类型的国际支付网络. "这标志着企业区块链应用实践进化到了一个新的阶段."IBM全球区块链市场开发副总裁Jesse L ...
- 002开发、部署一个共享自行车区块链网络
前言 在本系列第 1 部分文章的中,我们一起学习了 Fabric.Composer 基础知识,利用 Hyperledger Compose 搭建了 Fabric 本地开发环境,运行了一个示例区块链网络 ...
- Hyperledger Fabric区块链工具configtxgen配置configtx.yaml
configtx.yaml是Hyperledger Fabric区块链网络运维工具configtxgen用于生成通道创世块或通道交易的配置文件,configtx.yaml的内容直接决定了所生成的创世区 ...
- sdk版本过低怎么办_区块链中的“块”是什么?区块链网络拥堵怎么办?-Gemini双子新约...
区块链中的"块"是什么? 比特币是基于区块链的,这一点大家都知道.但是这个区块链是什么呢?更准确地说,区块链的各个组成部分是什么呢? 区块链是一个数据块.每个块可以看作是分类帐中的 ...
- (Fabric 超级账本学习【5】)Fabric2.4网络环境下——搭建Hyperledger Fabric区块链浏览器
博主最近在搭建Hyperledger Fabric区块链浏览器过程中也学习了很多博主的搭建流程,踩了很多雷,踩 了很多坑,现将成功搭建好的Hyperledger Fabric区块链浏览器详细流程分享如 ...
- java与fabric区块链--fabric-java-jdk部署搭建--(1)
作为一名java开发者,目前比较火的区块链多少应该了解一些 fabric-java-jdk 是区块链提供的java开发者的jdk 下载 下载地址:https://github.com/hyperled ...
最新文章
- zbb20180827 java获取字符串中所有汉字
- yii 全选 php,yii2中gridview使用技巧小结(四)——全选等批量操作
- CNCF宣布Envoy项目正式毕业
- ccd相机好修吗_「CCD购买指南 」CCD废片大公开
- I.MX6 Linux Qt 启动流程跟踪
- C++ primer第六章6.6函数匹配
- 【动态规划】魔法石矿
- php数组出栈,php array_pop()数组函数将数组最后一个单元弹出(出栈)
- linux缓存机制buffer/cache/swap
- 我关注的那些程序员大佬
- c语言 标准正态分布表,标准正态分布表
- RAID技术及应用总结
- IDEA报错:Lombok Requires Annotation Processing, Annotation processing seems to be disabled
- sql 纵向求和_SQL求和
- 分体式降噪耳机有哪些?高配置分体式降噪耳机排行榜
- 性能服务器主板开机进bios,台式机华硕主板开机就进入bios?
- 华为ensp NAT技术地址转换
- 统计各个年份出生的人数.如1996多少人,1997多少人
- oppo 手机侧滑快捷菜单_OPPO又搞什么鬼?离奇上弹、侧滑第二屏!
- 抓取淘宝商品信息的C#代码
热门文章
- 加密芯片——3DES算法特点与应用注意事项
- 用RtlAdjustPrivilege来调整进程权限(VB6.0代码)
- 后台程序全局钩子获取鼠标滚轮滚动方向(VB6.0)
- Redis百万级别数据迁移
- 用AI实现隔墙“透视”,准确率达97%,这家中国公司研究入选CVPR
- 逆天的GPT-2居然还能写代码(但OpenAI却被无情吐槽)
- 迁移学习比赛:OpenAI喊你重温「音速小子索尼克」
- 一场谷歌与苹果的合作:TensorFlow Lite开始支持Core ML
- 高通说要抢占AI生态入口,投资商汤摩拜,明年推NPU芯片
- 英特尔将推Nervana神经网络处理器,要让DL训练提速100倍