当前位置: 首页 > 面试题库 >

从Hyperledger Fabric Node SDK中的函数InvokeChaincode()获取链码调用方ID

蒋茂材
2023-03-14
问题内容

让我们假设以下网络体系结构:

A- > Chaincode1- > fabcar

A 是应用程序, Chaincode1 是Go中的链码,而 fabcar 是Nodejs中的链码。它们在同一频道:“
mychannel”。

当进行操作APIstub.InvokeChaincodeChaincode1
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


问题答案:

不,当前不可能这样做,因为链码本身没有身份。



 类似资料:
  • 大家好,我是java多线程新手。有人能帮我吗: 我的服务: SpringBoot应用程序: 异步配置: 控制器: 当我点击这个来自邮递员的get请求时,它在响应中显示为空白。我知道我的调用是异步进行的,响应甚至在调用我的方法之前就回来了。有没有办法通过更改邮递员或Spring启动应用程序中的一些设置来查看此响应

  • 问题内容: 我正在编写Go程序。从这个Go程序中,我想调用另一个文件中定义的Python函数并接收该函数的返回值,以便可以在Go程序的后续处理中使用它。我在将所有返回的数据恢复到我的Go程序时遇到了麻烦。以下是我认为可行的最低示例,但显然无效: gofile.go pythonfile.py 如果我打电话,我得到以下输出: 一些注意事项: 我在Python调用中使用该标志,因此可以直接调用该函数。

  • 问题内容: 我知道函数,但是我正在寻找一些易于使用的函数实现?如果它也提供了方法的类(如果确实是方法),那将是完美的。 问题答案: 该函数是了解这一点的唯一方法,如果您很懒,这是您自己编写代码的另一个原因。 对抗懒惰! :D

  • 我正在开发我的第一个WP插件,我被卡住了。 我在内容编辑器下面的帖子页面上创建了一个定制字段(字段1)。它保存正确。:) 添加媒体时,我在媒体库弹出窗口中创建了一个自定义字段(字段2)。它保存正确。:) 我想做的是使用字段1中的值作为字段2的默认值。 我怀疑问题出在attachment_fields_to_edit回调函数中。 我认为$post现在指的是实际的“文件附件帖子”,而不是帖子本身,所以

  • 问题内容: 要修复测试用例,我需要确定是否从特定的调用程序函数中调用了该函数。我负担不起添加布尔值参数,因为它会破坏定义的接口。怎么办呢? 这是我想要实现的。在这里,我无法更改operation()的参数,因为它是接口实现。 问题答案: 你可以试试