hyperledger fabric_鼎诚鬼才|超级账本入门(四):HYPERLEDGER 权限管理

82d0b1e2b0464c1587e86d18a62e885f.png

权限管理

权限管理机制是 hyperledger fabric 项目的一大特色。下面给出使用权限管理的一个应用案例。

启动集群

首先现在相关镜像。

$ docker pull yeasy/hyperledger:latest
$ docker tag yeasy/hyperledger:latest hyperledger/fabric-baseimage:latest
$ docker pull yeasy/hyperledger-peer:latest
$ docker pull yeasy/hyperledger-membersrvc:latest

进入 hyperledger 项目,启动带成员管理的 PBFT 集群。

$ git clone https://github.com/yeasy/docker-compose-files
$ cd docker-compose-files/hyperledger
$ docker-compose -f docker-compose-with-membersrvc.yml up

用户登陆

当启用了权限管理后,首先需要登录,例如以内置账户 jim 账户登录。

登录 vp0,并执行登录命令。

$ docker exec -it pbft_vp0_1 bash# peer network login jim08:23:13.604 [networkCmd] networkLogin -> INFO 001 CLI client login...08:23:13.604 [networkCmd] networkLogin -> INFO 002 Local data store for client loginToken: /var/hyperledger/production/client/Enter password for user 'jim': 6avZQLwcUe9b

也可以用 REST 方式:

POST  HOST:7050/registrar

Request:

{"enrollId": "jim","enrollSecret": "6avZQLwcUe9b"}

Response:

{"OK": "User jim is already logged in."}

CHAINCODE 部署

登录之后,chaincode 的部署、调用等操作与之前类似,只是需要通过 -u 选项来指定用户名。

在 vp0 上执行命令:

#  peer chaincode deploy -u jim -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

也可以通过 REST 方式进行:

POST  HOST:7050/chaincode

Request:

{"jsonrpc": "2.0","method": "deploy","params": {"type": 1,"chaincodeID":{"path":"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"},"ctorMsg": {"function":"init","args":["a", "1000", "b", "2000"]},"secureContext": "jim"},"id": 1}

Response:

{"jsonrpc": "2.0","result": {"status": "OK","message": "980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d"},"id": 1}

CHAINCODE 调用

在账户 a、b 之间进行转账 10 元的操作。

$ peer chaincode invoke -u jim -n 980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

也可以通过 REST 方式进行:

POST  HOST:7050/chaincode

Request:

{"jsonrpc": "2.0","method": "invoke","params": {"type": 1,"chaincodeID":{"name":"980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d"},"ctorMsg": {"function":"invoke","args":["a", "b", "100"]},"secureContext": "jim"},"id": 3}

Response:

{"jsonrpc": "2.0","result": {"status": "OK","message": "66308740-a2c5-4a60-81f1-778dbed49cc3"},"id": 3}

CHAINCODE 查询

查询 a 账户的余额。

也可以通过 REST 方式进行:

POST  HOST:7050/chaincode

Request:

{"jsonrpc": "2.0","method": "query","params": {"type": 1,"chaincodeID":{"name":"980d4bb7f69578592e5775a6da86d81a221887817d7164d3e9d4d4df1c981440abf9a61417eaf8ad6f7fc79893da36de2cf4709131e9af39bca6ebc2e5a1cd9d"},"ctorMsg": {"function":"query","args":["a"]},"secureContext": "jim"},"id": 5}

Response:

{"jsonrpc": "2.0","result": {"status": "OK","message": "900"},"id": 5}

区块信息查询

URL:

GET  HOST:7050/chain/blocks/2

Response:

{"transactions": [{"type": 2,"chaincodeID": "EoABMjhiYjJiMjMxNjE3MWE3MDZiYjI4MTBlYzM1ZDA5NWY0MzA4NzdiZjQ0M2YxMDYxZWYwZjYwYmJlNzUzZWQ0NDA3MDBhNTMxMmMxNjM5MGQzYjMwMTk5ZmU5NDY1YzNiNzVkNTk0NDM1OGNhYWUwMWNhODFlZjI4MTI4YTFiZmI=","payload": "Cp0BCAESgwESgAEyOGJiMmIyMzE2MTcxYTcwNmJiMjgxMGVjMzVkMDk1ZjQzMDg3N2JmNDQzZjEwNjFlZjBmNjBiYmU3NTNlZDQ0MDcwMGE1MzEyYzE2MzkwZDNiMzAxOTlmZTk0NjVjM2I3NWQ1OTQ0MzU4Y2FhZTAxY2E4MWVmMjgxMjhhMWJmYhoTCgZpbnZva2USAWESAWISAzEwMA==","uuid": "2b3b6cf3-9887-4dd5-8f2e-3634ec9c719a","timestamp": {"seconds": 1466577447,"nanos": 399637431},"nonce": "5AeA6S1odhPIDiGjFTFG8ttcihOoNNsh","cert": "MIICPzCCAeSgAwIBAgIRAMndnS+Me0G6gs4J9/fb8HcwCgYIKoZIzj0EAwMwMTELMAkGA1UEBhMCVVMxFDASBgNVBAoTC0h5cGVybGVkZ2VyMQwwCgYDVQQDEwN0Y2EwHhcNMTYwNjIyMDYzMzE4WhcNMTYwOTIwMDYzMzE4WjAxMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLSHlwZXJsZWRnZXIxDDAKBgNVBAMTA2ppbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDLd2W8PxzgB4A85Re2x44BApbOGqP05tnkygbXSctLiqi5HVfwRAACS6znVA9+toni59Yy+XAH3w2offdjFW3mjgdwwgdkwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwDQYDVR0OBAYEBAECAwQwDwYDVR0jBAgwBoAEAQIDBDBNBgYqAwQFBgcBAf8EQAfASTE6bZ0P5mrEzTa5r1UyKFv+dKezBiGU0V3l2iWzk9evlGMvaC2pwhEKfKDdKxs7YSMYe/7cLq/oF++GBVowSgYGKgMEBQYIBEBEO3TKXuORl5Geuco8Gnn5TkoIl4+b96aPGDGvKbmDjMXR9vEBuUXTnsbDL53j7kC8/XQs1kZboC1ojLeUSN03MAoGCCqGSM49BAMDA0kAMEYCIQCZqyANMFcu1WiMe2So0pC7eRU95F0+qUXLAKZsPWv/YQIhALmNaglP7CoMOe2qxehucmffDlu0BRLSYDHyV9xcxmkH","signature": "MEYCIQDob3NqdrfwlSGhi+zz+Ypl7S9QQ07RIFr8nV92e8KDNgIhANIljz4tRS8vwQk01hTemNQFJX2zMI6DhSUFZivbbtoR"}],"stateHash": "7YUoVvYnMLHbLf47uTixLtkjF6xM9DuvgSWC92MbOUzk09xhcRBBLZqe5FvJElgZemELBOcuIFnubL0LiGH0yw==","previousBlockHash": "On4BlpqCYNpugUKluqvOcbvkr3TAQxmlISLdd6qrONtIgmQ4iUDeWxAA9lUCceZfF8tke8A0Wy7m9tksNpKodw==","consensusMetadata": "CAI=","nonHashData": {"localLedgerCommitTimestamp": {"seconds": 1466577447,"nanos": 653618964},"transactionResults": [{"uuid": "2b3b6cf3-9887-4dd5-8f2e-3634ec9c719a"}]}}

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

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

相关文章

用计算机表白的数字,用数字表白

用数字表白2018-09-11组句:83848520920910851314——怕生怕死怕我爱你,就爱你,就要你怕我一生一世 584,5682177778,12234,1798,76868,587129955,829475,5201314. —— 我发誓,我想陪你一起去吹吹风,要让爱相随&#xf…

Python基础检测:20171105

第一周的预习结束了 效果并不理想,最后的检测也是有个别同学表现还可以.最后一次检测,除了依旧不是放在一个文件里,文件也没有标注作者从而导致我没办法一一回复外,有些问题写的不好意外.基本没什么毛病,摔! 本次问题是以小故事的形式展开并串联的,并没有什么特殊的意思.本人不…

python爬音乐网站_用 Python 爬取 QQ 音乐全部歌曲

前景介绍 最近小伙伴们听歌的兴趣大涨,网抑云综合症已经遍布各地。 咱们再来抬高一波QQ音乐的热度吧。 土豪充绿钻 和 刷永久绿钻的除外(me) 爬它 目标:https://y.qq.com/portal/singer_list.html 任务:将A到Z的歌手以及全部页数的歌存到本地…

计算机基础职教云答案,计算机基础课程答案

【单选题】在Windows中,【AltTab】组合键的作用是( )【单选题】在Windows中,选择多个连续的文件或文件夹,应首先选择第一个文件或文件夹,然后按住( )键,单击最后一个文件或文件夹【单选题】在Windows 资源管理器中&…

8.String、StringBuffer、enum枚举

1.字符串相关类 1)string类代表不可变的字符系列。 2)stringBuffer,Buffer就是缓冲区,代表的是可变的字符系列。 这可变和不可变的是怎么理解呢? 如图,不是a的字符系列改变了,只是 开辟了一份新的内存,然后重新把a指向…

nacos启动_nacos微服务注册中心

nacos主要可作为微服务架构中 动态服务发现、服务配置、服务元数据及流量管理快速使用方法:(k8s集群内)1.下载包,并解压放到服务器,准备用dockerfile打包镜像FROM 192.168.0.200:5000/hifm-nacos:2.0.0 ADD startup.sh…

html 怎么显示在投影下面,投影仅底部css3

更新4与更新3相同,但具有现代的CSS(较少的规则),因此不需要在伪元素上进行特殊定位。#box {background-color: #3D6AA2;width: 160px;height: 90px;position: absolute;top: calc(10% - 10px);left: calc(50% - 80px);}.box-shadow:after {content:"…

esp8266原理图_ESP32/ESP8266使用MicroPython控制DHT11/DHT22

背景知识视频教程高级ESP32 - 国外课栈​viadean.com使用NodeMCU(由ESP8266支持),MicroPython和PyCharm进行物联网 - 国外课栈​viadean.com适用于使用ESP32/ESP8266的所有人的MicroPython(入门) - 国外课栈​viadean.…

如何将word中的对象怎么显示到工具栏_职场必备!Word实用技巧最全总结(五)...

1、 用目录快速定位目录通常是长文档不可缺少的部分,有了目录,阅读者就能很容易地知道文档中有什么内容,如何查找这些内容。下面介绍使用内部标题样式创建目录的方法:1、单击要建立目录的地方,通常是文档的最前面&…

个人网站备案之如何取网站名称那点事儿?

前段时间做了一个网站,想着试试上传至网上,然后就买了个空间,买了个域名,备案过程中网站名称有点难取,我被拒了两次,第三次成功了,分享下个人取网站名称的经历: 第一次,我…

2013计算机一级考试综合试题答案,2013全国计算机等级考试试题题库及答案.doc

2013全国计算机等级考试试题题库及答案《大学计算机基础》试题题库及答案一、单选题练习1.完整的计算机系统由( C )组成。A.运算器、控制器、存储器、输入设备和输出设备B.主机和外部设备C.硬件系统和软件系统D.主机…

html博客源码_5分钟搭建私人Java博客系统——Tale

本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目。示例均在 Windows 操作系统下演示本文作者:HelloGitHub-秦人HelloGitHub 推出的《讲解开源项目》[1]系列,今天给大家带来一款基于 Java 语言的轻量级博客开源项目——…

17秋 软件工程 团队第五次作业 Alpha Scrum2

17秋 软件工程 团队第五次作业 Alpha Scrum2 今日完成的任务 杰麟:Java后端的学习;世强:登录和注册接口编写;港晨:完成数据库表的设计;树民、陈翔:完成超级管理员后端框架。其余成员外出比赛。 …

计算机工勤考试试题,(河南省事业单位工勤技能考试试题_计算机信息处理.doc

(河南省事业单位工勤技能考试试题_计算机信息处理第7章 制作演示文稿 (PowerPoint 2003)7.1 单选题1.PowerPoint的运行环境是( B )。A.DOS B.Windows C.UCDOS D.高级语言2.PowerPoint属于( )。A…

运行返回签名不正确_如果调用约定不匹配,会发生什么?

蝎子信不信由你,调用约定不匹配是程序经常出问题的原因之一。当你的程序代码中出现不相匹配的调动约定的时候,编译器会”大吼大叫”,但是懒惰的程序员只会在其中进行强制转换,以使编译器”尽快闭嘴”。结果是:Windows不…

mac svn 使用

上传文件$ svn import file.xls svn://ip/sursen/05I\&V周报 -m "te"备注: -m "冒号里面一定填写文件 "下载文件svn checkout svn://ip/sursen/05I\&V周报查看文件:svn list svn://ip/sursen/05I\&V周报MacBook-Pro:05I…

计算机硬件教学设计高中信息,重大版信息技术七上《计算机硬件系统》教学设计.doc...

重大版信息技术七上《计算机硬件系统》教学设计.doc文档编号:745134文档页数:3上传时间: 2019-09-19文档级别:文档类型:doc文档大小:33.00KB计算机硬件系统教学设计 知识目标 1、学生了解计算机组成各部分的…

感谢Thunder团队

在这次alpha版本开发的过程中,我想感谢团队中的每一个成员。 第一次合作完成一个完整的项目,让我深刻的感受到了合作的重要性。在一个优秀的团队中,能不断地学习到很多东西。 感谢组长王航,对项目认真,对成员负责。合理…

html 循环_一个不被程序员认为是编程语言的语言——HTML,你怎么看?

HTML究竟算不算是一门编程语言,这是争执已久的话题。其实,从本质来讲,HTML确实算不上是一门编程语言。HTML全称,HyperText Markup Language。字面理解,HTML就是一种超文本语言,何谓超文本,就是其…

第一学期计算机网络作业,2010-2011学年第一学期计算机网络(33973)试卷

江西财经大学2010-2011第一学期期末考试试卷试卷代码:33973 授课课时:48 考试时间:150分钟 课程名称:计算机网络 适用对象:本科选课班 试卷命题人 凌传繁 试卷审核人 万 征一、单项选择题(从下列各题四个备…