亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從Hyperledger Fabric Node SDK中的函數InvokeChaincode()

從Hyperledger Fabric Node SDK中的函數InvokeChaincode()

Go
一只名叫tom的貓 2021-04-10 22:19:06
讓我們假設以下網絡體系結構:A- > Chaincode1- > fabcarA是應用程序,Chaincode1是Go中的鏈碼,而fabcar是Nodejs中的鏈碼。它們在同一頻道:“ mychannel”。當進行操作APIstub.InvokeChaincode從Chaincode1如APIstub.InvokeChaincode("fabcar", chainCodeArgs, "mychannel"),是那里的chaincode的可能性fabcar(稱為chaincode)來獲取ID主叫chaincode的?fabcar鏈碼中的getCreator()方法僅返回調用者組織;但是所需的信息是chaincode id或僅連接到Chaincode1的一些信息。更新我getSignedProposal()嘗試了Hyperledger官方文檔中所寫的方法:https ://fabric-shim.github.io/ChaincodeStub.html#getSignedProposal__anchor該getSignedProposal()方法返回類型為的已簽名交易提議的完全解碼的對象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
查看完整描述

2 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

不可以,目前尚無法執行此操作,因為鏈碼本身本身沒有身份。


查看完整回答
反對 回復 2021-04-19
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

getCreator()fabcar鏈碼中的函數僅返回調用者組織,我希望鏈碼ID或某些僅連接到Chaincode1的信息。


您可以使用GetSignedProposal方法,即:


// data elements part of a transaction proposal.

GetSignedProposal() (*pb.SignedProposal, error)

在SignedProposal包含原始chaincode客戶端發送的交易提案的信息,在chaincode到chaincode調用的情況下SignedProposal簡單地轉發,因此你可以提取以前chaincode的信息。


注意:如果您具有復雜的鏈碼調用鏈,例如chaincode1調用chaincode2并調用chaincode3,SignedProposal將包含chaincode1的信息,即您不會知道chaincode2。


查看完整回答
反對 回復 2021-04-19
  • 2 回答
  • 0 關注
  • 407 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號