其他分享
首页 > 其他分享> > fabric链码

fabric链码

作者:互联网

链码

Fabric的智能合约称为链码(chaincode),分为系统链码和用户链码。系统链码用来实现系统层面的功能,用户链码实现用户的应用功能。链码被编译成一个独立的应用程序,运行于隔离的Docker容器中。
和以太坊相比,Fabric链码和底层账本是分开的,升级链码时并不需要迁移账本数据到新链码当中,真正实现了逻辑与数据的分离,同时,链码采用Go、Java、Nodejs语言编写。

链码类型

安装,实例化链码

安装链码,其中:ccPath是相对$GOPATH/src的路径;ccType为链码的编程语言,默认为golang,且支持node,car,java:

peer chaincode install -n ${ccName} -v ${ccVersion} -p ${ccPath} -l ${ccType}

链码安装并未产生交易,因此不会影响通道内的其它peer节点,可以说链码安装是一个本地操作。
实例化链码:

peer chaincode instantiate -o ${ordererAddr} -C ${channelName} -n ${ccName} -v ${ccVersion} -c ${InitArgs} -P ${EndorserPolicy}

其实链码实例化,就是一笔特殊的交易,链码在某个节点实例化后,实例化的信息就被广播到通道内的所有节点了。如果其它节点再次实例化,自然就会冲突。通道内的其它peer节点,只是同步了世界状态,并不需要调用被实例化链码的Init,也就不会创建镜像,并启动链码容器了。

标签:背书,fabric,System,实例,链码,账本,节点
来源: https://www.cnblogs.com/HachikoT/p/14268900.html