用hyperledger cello H3C分支创建单机模式区块链系统

本文介绍用hyperledger cello的0.9.0-h3c分支创建一套区块链系统的完整流程,希望对读者有所帮助。

环境准备工作:需要准备一台装有ubuntu 16.04的主机,内存需要大一些,建议8G以上。安装docker-ce和docker-compose。

接下来,获取代码,git clone https://github.com/hyperledger/cello -b release-0.9.0-h3c。

编译版本镜像,直接进入代码目录,执行make docker。执行成功后效果如下。

版本编译完成后的查看结果,如下:

执行make start,即可启动cello,效果如下图:

这时候可以通过docker ps命令查看启动的docker

之后,可以通过浏览器访问cello的operator-dashboard管理界面了。

在此之前,需要打开本机的2375端口,供创建主机使用,脚本如下:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 0.0.0.0:2375:2375 bobrik/socat TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock

执行成功后,效果如下:

然后在主机中安装执行apt-get install nfs-common,进入到script/worker_node目录执行./setup.sh

此时cello已经安装完毕,在浏览器中输入:http://服务器ip:8071,界面如下:

默认用户名和密码是admin/pass

登陆后的界面如下:

这个时候,可以通过界面搭建区块链网络了。

点击主机管理--〉添加,出现如下界面

在“名称”中输入需要创建的主机名,在“服务地址”中输入本机的ip:2375,其他选项默认,然后点击“提交”,成功后,效果如下

点击“组织管理”-〉“添加”,分别创建一个peer组织和一个orderer组织,如下

创建成功后的效果如下:

点击网络管理->新建网络,创建一个区块链网络

点击提交后效果如下:

等片刻后,在主机上通过docker ps命令可以看到peer orderer ca节点都已经启动

此时可以登陆user-dashboard,在浏览器导航栏输入http://主机ip:8081,如下

回到operator-dashboard,在用户管理中找到创建组织的时候自动生成的组织用户,默认密码是666666,登陆user-dashboard后的效果如下

点击通道管理->创建通道,创建一个通道如下:

点击“提交”后,生成通道,效果如下:

点击“添加节点”,在组织中选择想要的节点添加到通道中,如下

点击“提交”,节点添加成功后的效果如下

点击“链码管理”->"上传链码",选择一个链码压缩包上传,需要注意,链码压缩包需要连同所在目录一块压缩成zip格式上传,同时需要计算压缩包的md5值

上传成功后,点击“安装”,把链码安装到通道的节点中,如下

回到主机串口下,执行docker pull hyperledger/fabric-ccenv:1.4.2,然后把镜像的tag修改成latest,docker tag fc0f502399a6 hyperledger/fabric-ccenv:latest

点击“实例化链码”,配置通道,实例化参数,以及背书策略

链码实例化成功后,整个区块链系统的搭建已经完成,此时可以验证链码的执行效果

点击"通道管理"->“通道详情”->"实例化链码列表",选择对应的链码,然后输入invoke或者query参数,即可验证效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio 2010快捷键大全

为什么80%的码农都做不了架构师?>>> 【窗口快捷键】 CtrlW,W: 浏览器窗口 CtrlW,S: 解决方案管理器 CtrlW,C: 类视图 CtrlW,E: 错误列表 CtrlW,O: 输出视图 trlW,P: 属性窗口 CtrlW,T: 任务列表 CtrlW,X: 工具箱 CtrlW,B: 书签窗口 CtrlW,U: 文档大纲 C…

c# 查询本机日志

代码 StringBuilder sb newStringBuilder();EventLog mylog newEventLog();mylog.Log "Application"; //System[系统日志] | Application[应用日志] | Security[安全日志]EventLogEntryCollection myCollection mylog.Entries;for(inti 0; i <myCollection.Count…

Python安装FrankMocap实现3D人体姿态估计

FrankMocap 是港中文联合 Facebook AI 研究院提出的3D 人体姿态和形状估计算法。 不仅仅是估计人体的运动姿态&#xff0c;甚至连身体的形状&#xff0c;手部的动作都可以一起计算出来。 算法很强大&#xff0c;能够从单目视频同时估计出 3D 人体和手部运动&#xff0c;在一块 …

Windows任务管理 连接用户登录信息 通用类[C#版]

通用类名[ComputerLoginUserInfo.cs] 代码如下&#xff1a; 代码 usingSystem;//---引用usingSystem.Runtime.InteropServices;usingSystem.Text;///<summary>///Windows 任务管理器登录用户信息///author:Stone_W///date:2011.1.14///</summary>publicclassComput…

Hanoi(汉诺)塔问题

问题描述&#xff1a; Hanoi(汉诺)塔问题。古代有一个梵塔&#xff0c;塔内有3个座A,B,C&#xff0c;开始时A座有n个盘子&#xff0c;盘子大小不等&#xff0c;大的在下&#xff0c;小的在上。有一个老和尚想把这n个盘子&#xff0c;从A座移动到C座&#xff0c;但是每次只允许移…

实现Windows直接远程访问Ubuntu桌面和解决VNC连接Ubuntu桌面灰色的问题解决

Accept clipboard from viewersSend clipboard to viewersSend primary selection to viewers 本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04(因为本文已经有点年头了&#xff0c;之前以16.04版本为例讲解&#xff0c;最新版18.04笔主也测试过是没有问题的)&#…

python自己做个定时器_python 创建一个自己的类计时器

前言&#xff1a;学习了python的类之后收获颇多&#xff0c;于是想利用类创建一个简单的计时器第一代版本首先要明确自己的timer想要实现的功能…先列一些简单的吧比如&#xff1a;开始计时的功能&#xff0c;停止计时的功能&#xff0c;有一些简单的提示语…还有一个问题&…

HttpWebRequest模拟POST提交防止中文乱码

测试通过&#xff0c;请求的为自己写的一般处理程序&#xff0c;代码如下&#xff1a; 代码 Encoding myEncoding Encoding.GetEncoding("gb2312");stringparam HttpUtility.UrlEncode("aa", myEncoding) ""HttpUtility.UrlEncode("值A&quo…

手把手带你玩转Tensorflow 物体检测 API (1)——运行实例

本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;1&#xff09;——环境搭建与测试》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79081499&#xff0c;感谢此博客作者。 0.前言…

html5 java 图片上传_java实现图片上传至服务器并显示,如何做?希望要具体的代码实现...

展开全部有两种方法一是用上传的组建jspSmartUpload的Request&#xff0c;还有一种不用组建&#xff0c;但在e69da5e6ba9062616964757a686964616f31333238653233form表单中不能加入ENCTYPE "multipart/form-data "我给你的案例吧建立后台数据库if exists (select * f…

CISCO的GLBP(网关负载均衡协议)

名词定义&#xff1a;活动虚拟网关AVG: 它的优先级最高&#xff0c;应答所有ARP请求&#xff0c;反回哪个MAC地址&#xff0c;取决于采用的负载均衡方式AVG还给GLBP组中的每台路由器分配虚拟MAC地址&#xff0c;最多每个组可以分到4个&#xff0c;组里的每台路由器都被称为活动…

net发布的dll方法和类显示注释信息(字段说明信息)[图解]

自己发布的dll添加的另一个项目中突然没有字段说明信息了&#xff0c;给使用带来了很多的不便&#xff0c;原因是为了跨项目引用&#xff0c;所以导致不显示注释信息的&#xff0c;一下是解决这个问题的方法。 在要发布&#xff08;被引用&#xff09;的项目上右键 > 属性 &…

手把手带你玩转Tensorflow 物体检测 API (2)——数据准备

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

手把手带你玩转Tensorflow 物体检测 API (3)——训练模型

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

动态类型var和dynamic和传统确定类型区别和效率

伴随着vs2010的出现&#xff0c;c#4.0的诞生&#xff0c;与之而来的动态类型dynamic更是给net程序员们锦上添花&#xff0c;为自己的程序书写上带来了给大的便利。可到底怎么用&#xff0c;好不好用&#xff0c;效率这么样&#xff0c;也许是大家最迫切关注的&#xff0c;msdn虽…

手把手带你玩转Tensorflow 物体检测 API (4)—— 模型验证

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

mysql tomcat列表增删改查_Tomcat-Database

Tomcat-Database介绍根据Tomcat9源码二次开发&#xff0c;增加数据库功能&#xff0c;可一行代码实现CURD安装教程需要先配置Ant&#xff0c;然后在根目录下执行ant命令&#xff0c;即可编译&#xff0c;编译后的目录在Tomcat-Database/output/build下&#xff0c;其中在bin下可…

Kafka集群部署CentOS 7

一、前言 1、Kafka简介 Kafka是一个开源的分布式消息引擎/消息中间件&#xff0c;同时Kafka也是一个流处理平台。Kakfa支持以发布/订阅的方式在应用间传递消息&#xff0c;同时并基于消息功能添加了Kafka Connect、Kafka Streams以支持连接其他系统的数据(Elasticsearch、Had…

mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据

首先:在extend里面引入PHPexcel文件,直接根目录导入进去html创建上传按钮上传excel上传文件立即提交重置layui.use([form,upload],function(){var formlayui.form;var uploadlayui.upload;upload.render({ //允许上传的文件后缀elem: #myfile,url: "{:url(sale/do_uploa…

SQL Server 2008 FILESTREAM特性管理文件

在SQL Server 2008中&#xff0c;新的FILESTREAM&#xff08;文件流&#xff09;特性和varbinary列配合&#xff0c;你可以在服务器的文件系统上存储真实的数据&#xff0c;但可以在数据库上下文内管理和访问&#xff0c;这个特性让SQL Server不仅可以维护好数据库内记录的完整…