fabric学习笔记8

20201303张奕博 2023.1.19

具体结构:



Wallet中的X.509数字证书将组织和持有者联系起来,使得持有者能够有权限连接到网络,不同的持有者身份拥有不同的权限,并且智能合约可以在执行期间通过transaction context获得这个身份。wallet中不存放任何现金或代币,只存放身份。

应用程序使用FileSystemWallet和Gateway类连接到区块链网络,在issue.js的最上面可以看到包括了这两个类。

const { FileSystemWallet, Gateway } = require('fabric-network');

应用程序使用Wallet类:

const wallet = new FileSystemWallet('../identity/user/isabella/wallet');

Gateway

issue.js连接到它的的网关:

await gateway.connect(connectionProfile, connectionOptions);

gateway.connect()有两个重要参数:

connectionProfile:标识了一系列对等节点网关的connection profile文件的系统位置。为了方便读使用了YAML,通过下面的代码加载转换为JSON对象。

let connectionProfile = yaml.safeLoad(file.readFileSync('./gateway/connectionProfile.yaml', 'utf8'));

connectionOptions:一系列用来控制issue.js(应用程序代码)如何连接到区块链网络的设置。它指定了连接到网关需要的了身份,userName和wallet,还可以通过SDK实现一些智能的行为。

let connectionOptions = {

identity: userName,

wallet: wallet,

eventHandlerOptions: {

commitTimeout: 100,

strategy: EventStrategies.MSPID_SCOPE_ANYFORTX

},

}

网关负责使用connect profile和connection options将transaction提议发送到正确的对等节点上。

最新文章

  1. AngularJS 输入验证
  2. mysql 主从单库单表同步 binlog-do-db replicate-do-db
  3. jquery.datatables中文使用说明
  4. 影响google PageRank的因素
  5. C# 深拷贝通用方法
  6. 【Tsinghua OJ】祖玛(Zuma)问题
  7. Swift使用Alamofire实现网络请求
  8. ActiveMQ (三) 讯息传送机制以及ACK机制
  9. esp-12e折腾
  10. idea设置调用方法时提示方法注释
  11. Git服务器Gogs简易安装-Windows环境
  12. C#学习-子类的初始化顺序
  13. Java中的transient关键字
  14. 设计模式之享元模式(Flyweight)
  15. bypy 用法
  16. 无线DOS攻击
  17. Math 对象
  18. 使用PHPExcel实现数据批量导入到数据库
  19. python表单验证封装
  20. Node.js学习笔记(七) --- Node.js的静态文件托管、路 由、EJS 模板引擎、GET 、POST

热门文章

  1. C语言读写txt文件
  2. git remote update origin --prune命令失败
  3. Hello 2023 A-D
  4. Flink 创始人团队二次收购案!阿里恐成冤大头!
  5. 【问题解决】Tomcat启动服务时提示Filter初始化或销毁出现java.lang.AbstractMethodError错误
  6. 03初识MapReduce
  7. 保姆级教程-分分钟掌握常用TS语法
  8. ArrayList使用步骤-常用方法和遍历
  9. 数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python
  10. socket模块实现网络编程及struct模块解决黏包问题