在Fabric的Peer节点添加定制的系统链码

在Fabric的Peer节点添加定制的系统链码

  • Peer节点的默认系统链码
  • 调用默认的系统链码
  • 添加定制的系统链码
    • 创建自定义系统链码的目录及源代码
    • 在Peer节点的源码中添加对上述系统链的引用
    • 修改core.yaml
    • 编译Peer节点并测试
      • 编译Peer节点源码
      • 测试

Peer节点的默认系统链码

Fabric的Peer节点的启动命令一般是peer node start,见下图所示。
在这里插入图片描述
这个命令启动Peer节点时,日志信息显示默认系统链码主要有如下几个。
在Fabric的Peer节点添加定制的系统链码_第1张图片
cscc:用于配置的系统链码
lscc:用于生命周期管理的系统链码
escc:背书系统链码
vscc:用于验证的系统链码
qscc:用于查询的系统链码

调用默认的系统链码

以qscc为例,调用该系统链的其中一个接口GetBlockByNumber,获取指定编号的区块,可以采用如下命令。
在这里插入图片描述

添加定制的系统链码

创建自定义系统链码的目录及源代码

在Fabric目录树的合适位置创建目录,并建立链码框架源代码
在Fabric的Peer节点添加定制的系统链码_第2张图片
其中evaluate.go的源代码如下所示,可以根据需要加以定制。
在Fabric的Peer节点添加定制的系统链码_第3张图片
在Fabric的Peer节点添加定制的系统链码_第4张图片

在Peer节点的源码中添加对上述系统链的引用

添加引用的文件位置是:fabric/internal/peer/node/start.go。
在Fabric的Peer节点添加定制的系统链码_第5张图片
在这里插入图片描述
在Fabric的Peer节点添加定制的系统链码_第6张图片

修改core.yaml

修改core.yaml以便启动Peer节点时许可加载定制的系统链码。添加evcc:enable,在启动Peer时许可加载定制的系统链码。
在Fabric的Peer节点添加定制的系统链码_第7张图片

编译Peer节点并测试

编译Peer节点源码

单独编译Fabric的Peer组件,得到新的peer可执行文件。
在Fabric的Peer节点添加定制的系统链码_第8张图片
在这里插入图片描述

测试

启动新编译的peer启动节点,观察日志输出信息。可以看到,日志出现了预期的调试语句。
在Fabric的Peer节点添加定制的系统链码_第9张图片
用命令行调用定制的链码,如下图所示。
在Fabric的Peer节点添加定制的系统链码_第10张图片

你可能感兴趣的:(Fabric,ubuntu,区块链)