让我们假设以下网络体系结构:
A- > Chaincode1- > fabcar
A 是应用程序, Chaincode1 是Go中的链码,而 fabcar 是Nodejs中的链码。它们在同一频道:“ mychannel”。
当进行操作APIstub.InvokeChaincode从 Chaincode1 如APIstub.InvokeChaincode("fabcar", chainCodeArgs, "mychannel"),是那里的chaincode的可能性 fabcar (称为chaincode)来获取 ID 主叫chaincode的?
APIstub.InvokeChaincode
APIstub.InvokeChaincode("fabcar", chainCodeArgs, "mychannel")
fabcar链* 码中的getCreator()方法仅返回调用者组织;但是所需的信息是 chaincode id 或仅连接到 Chaincode1的 一些信息。 __ ***
getCreator()
更新
我getSignedProposal()尝试了Hyperledger官方文档中所写的方法:https ://fabric- shim.github.io/ChaincodeStub.html#getSignedProposal__anchor
getSignedProposal()
该getSignedProposal()方法返回类型为的已签名交易提议的完全解码的对象SignedProposal。该SignedProposal对象表示客户端应用程序发送到链码的请求对象。
SignedProposal
执行以下代码:
const proposal = stub.getSignedProposal(); console.log("signed proposal: ", proposal);
结果如下:
signed proposal: { signature: <Buffer 30 45 02 21 00 c3 a7 91 4c 74 f9 c2 97 04 fc 84 91 6a 71 2d 69 ad 0e a9 22 f2 ed 53 a3 66 97 56 17 d7 d7 3a e6 02 20 13 26 8a 4f f6 3d 86 4e f9 35 ae ... >, proposal: { header: { signature_header: [Object], channel_header: [Object] }, payload: { input: [Object], TransientMap: [Object] } } }
似乎真的很难理解哪个信息可以在哪里检索 调用链码ID 。这是有关SignedProposal类型的文档链接:https : //fabric- shim.github.io/global.html#SignedProposal
不,当前不可能这样做,因为链码本身没有身份。