问题描述
我对智能合约如何与 CouchDB 通信的具体机制有疑问。
我想要更详细地解释 2.2 部分,以及在执行 PutState 或 GetState 时,它是如何工作的。
我使用 Hyperledger Fabric 和 GO 编程语言。
解决方法
智能合约或链码是在您的机器上运行并连接到您的对等方以获取和设置交易结果的 docker 容器。每个链码由多个函数组成,每个函数产生一组读写对交易。在状态 2.2 中,您仅发送提案,数据在此步骤中不会更改。 Ledger 是存储在 couchDB 中的键值对数据存储。 chaincode从peer请求key的最新状态,从它的levelDB的couchDBpeer查找,返回read的结果,同时检查写集的一致性,但在这一步不写到DB。 写入将发生在状态 4.2