想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!
智能合约能够部署和运行在区块链环境中,由一段代码来描述相关的业务逻辑。部署后的智能合约在区块链中无法修改,智能合约的执行完全由代码决定,不受人为因素的干扰。一般来说,参与方通过智能合约规定各自权利和义务、触发合约的条件以及结果,一旦该智能合约在区块链环境中运行就可以得出客观、准确的结果。
在 Fabric 中,智能合约也称为链码(chaincode),分为用户链码和系统链码,通常指的是用户链码。链码是访问账本的基本方法,一般是用Go等高级语言编写的、实现规定接口的代码。上层应用可以通过调用链码来初始化和管理账本的状态。只要有适当的权限,链码之间也可以互相调用。
链码的背书策略
链码实例化时可指定背书策略,当确认节点接收到交易时,节点获知相关链码信息,然后检查该链码的背书策略,判断交易是否满足背书策略,若满足则标注交易为合法。
背书策略可分为主体 principal(P )和阈值 threshold(T) 两部分,具体如下:
1)principal 指定由哪些成员进行背书。
2)threshold 接受两个输入,分别为阈值t和若干个P的集合n,只要交易中包含了 n 中 t 个成员的背书则认为交易合法。
例如:
T(1, ‘A’, ‘B’) 则需要 A,B 中任意成员背书。 T(1, ‘A’, T(2, ‘B’, ‘C’)) 则需要 A成员背书或 B,C 成员同时背书。
链码开发