在Fabric的Peer节点添加定制的系统链码
Peer节点的默认系统链码
Fabric的Peer节点的启动命令一般是peer node start,见下图所示。
这个命令启动Peer节点时,日志信息显示默认系统链码主要有如下几个。
cscc:用于配置的系统链码
lscc:用于生命周期管理的系统链码
escc:背书系统链码
vscc:用于验证的系统链码
qscc:用于查询的系统链码
调用默认的系统链码
以qscc为例,调用该系统链的其中一个接口GetBlockByNumber,获取指定编号的区块,可以采用如下命令。
添加定制的系统链码
创建自定义系统链码的目录及源代码
在Fabric目录树的合适位置创建目录,并建立链码框架源代码
其中evaluate.go的源代码如下所示,可以根据需要加以定制。
在Peer节点的源码中添加对上述系统链的引用
添加引用的文件位置是:fabric/internal/peer/node/start.go。
修改core.yaml
修改core.yaml以便启动Peer节点时许可加载定制的系统链码。添加evcc:enable,在启动Peer时许可加载定制的系统链码。
编译Peer节点并测试
编译Peer节点源码
单独编译Fabric的Peer组件,得到新的peer可执行文件。
测试
启动新编译的peer启动节点,观察日志输出信息。可以看到,日志出现了预期的调试语句。
用命令行调用定制的链码,如下图所示。