gpt4 book ai didi

javascript - 使用具有参与者关系的交易添加 Assets

转载 作者:行者123 更新时间:2023-12-03 02:50:07 25 4
gpt4 key购买 nike

我正在尝试使用交易添加 Assets ,在该交易中我试图将 Assets 的一个字段与参与者引用相关联。但是当我尝试使用 Assets 获取参与者的姓名时,它显示未定义

参与者已存在。我不想使用此仅交易 Assets 创建新参与者。

asset TestAsset identified by id {
o String id
--> TestPart part
}

participant TestPart identified by id {
o String id
o String name
}

transaction AddTestAsset {
o String aId
o String pId
}

Logic.js

function addTestAsset(tx) {
var factory = getFactory();
var NAMESPACE = 'org.acme';
var newAsset = factory.newResource(NAMESPACE, 'TestAsset', tx.aId);
newAsset.part = factory.newRelationship(NAMESPACE, 'TestPart', tx.pId);
console.log(newAsset.part.name); //Showing undefined
return getAssetRegistry(NAMESPACE + '.TestAsset')
.then(function (aReg) {
return aReg.add(newAsset);
});

我从 UI 表单中获取 aIdpId

还有其他办法吗?

最佳答案

这个问题也在 Rocket.Chat channel 上被提出和回答

https://chat.hyperledger.org/channel/composer

但总结如下:

与您的console.log(newAsset.part.name);声明name元素未定义,因为参与者关系尚未解决。如果您使用 console.log(newAsset.part);您将看到它是一个关系对象,而不是一个参与者。

可以为不存在的参与者创建关系。这里的设计是,您可能无法通过 ACL 限制“查看”参与者,因此您可以创建关系。

您可以编写代码来检查参与者是否存在 getParticipantRegistry

关于javascript - 使用具有参与者关系的交易添加 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com