讓我們假設(shè)以下網(wǎng)絡(luò)體系結(jié)構(gòu):A- > Chaincode1- > fabcarA是應(yīng)用程序,Chaincode1是Go中的鏈碼,而fabcar是Nodejs中的鏈碼。它們在同一頻道:“ mychannel”。當進行操作APIstub.InvokeChaincode從Chaincode1如APIstub.InvokeChaincode("fabcar", chainCodeArgs, "mychannel"),是那里的chaincode的可能性fabcar(稱為chaincode)來獲取ID主叫chaincode的?fabcar鏈碼中的getCreator()方法僅返回調(diào)用者組織;但是所需的信息是chaincode id或僅連接到Chaincode1的一些信息。更新我getSignedProposal()嘗試了Hyperledger官方文檔中所寫的方法:https ://fabric-shim.github.io/ChaincodeStub.html#getSignedProposal__anchor該getSignedProposal()方法返回類型為的已簽名交易提議的完全解碼的對象SignedProposal。該SignedProposal對象表示客戶端應(yīng)用程序發(fā)送到鏈碼的請求對象。執(zhí)行以下代碼:const proposal = stub.getSignedProposal();console.log("signed proposal: ", proposal);結(jié)果如下: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] } } }似乎真的很難理解哪個信息可以在哪里檢索調(diào)用鏈碼ID。這是有關(guān)SignedProposal類型的文檔鏈接:https : //fabric-shim.github.io/global.html#SignedProposal
2 回答

ABOUTYOU
TA貢獻1812條經(jīng)驗 獲得超5個贊
getCreator()fabcar鏈碼中的函數(shù)僅返回調(diào)用者組織,我希望鏈碼ID或某些僅連接到Chaincode1的信息。
您可以使用GetSignedProposal方法,即:
// data elements part of a transaction proposal.
GetSignedProposal() (*pb.SignedProposal, error)
在SignedProposal包含原始chaincode客戶端發(fā)送的交易提案的信息,在chaincode到chaincode調(diào)用的情況下SignedProposal簡單地轉(zhuǎn)發(fā),因此你可以提取以前chaincode的信息。
注意:如果您具有復(fù)雜的鏈碼調(diào)用鏈,例如chaincode1調(diào)用chaincode2并調(diào)用chaincode3,SignedProposal將包含chaincode1的信息,即您不會知道chaincode2。
- 2 回答
- 0 關(guān)注
- 412 瀏覽
添加回答
舉報
0/150
提交
取消