- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 hyperledger composer 应用程序中,我有客户和顾问。客户对已添加到他/她的“readAccessList”中的顾问具有读取权限。
以下是这两种参与者类型的模型:
participant Client identified by id {
o String id
o String name
--> Consultant[] readAccessList optional
}
participant Consultant identified by id {
o String id
o String name
o String text
}
将顾问添加到客户的readAccessList的事务定义如下:
transaction AddToReadableConsultantsOfClient {
--> Client client
--> Consultant[] newReadableConsultants
}
此交易的交易处理器函数如下:
/**
* transaction AddToReadableConsultantsOfClient
* @param {org.comp.myapp.AddToReadableConsultantsOfClient} transaction
* @transaction
*/
async function addToReadableConsultantsOfClient(transaction) {
// Save the old version of the client:
const clientOld = transaction.client;
// Update the client with the new readableConsultants:
transaction.client.readAccessList.concat(transaction.newReadableConsultants);
// Get the participant registry containing the clients:
const participantRegistry = await getParticipantRegistry('org.comp.myapp.Client');
// Update the client in the participant registry:
await participantRegistry.update(transaction.client);
// Emit an event for the modified client:
let event = getFactory().newEvent('org.comp.myapp', 'ClientUpdated');
event.clientOld = clientOld;
event.clientNew = transaction.client;
emit(event);
}
在我的 Angular 应用程序中,我尝试使用以下代码将几个顾问添加到客户端的 readAccessList 中:
//Note that the consultants referred to in the following array do actually exist:
let consultants = ["resource:org.comp.myapp.Consultant#1", "resource:org.comp.myapp.Consultant#2"];
this.transaction = {
$class: "org.comp.myapp.AddToReadableConsultantsOfClient",
"client": "resource:org.comp.myapp.Client#" + this.clientId,
"newReadableConsultants": consultants,
"timestamp": new Date().getTime()
};
return this.addToReadableConsultantsOfClientService.addTransaction(this.transaction)
.toPromise()
.then(() => {
this.errorMessage = null;
})
.catch((error) => {
if(error == 'Server error'){
this.errorMessage = "Could not connect to REST server. Please check your configuration details.";
}
else if(error == '404 - Not Found'){
this.errorMessage = "404 - Could not find API route. Please check your available APIs."
}
else{
this.errorMessage = error;
}
});
出于某种原因,这不起作用。顾问不会被添加到客户的“readAccessList”(它保持为空)。
在控制台中,我收到一条奇怪的错误消息,内容如下:
Error: 2 UNKNOWN: error executing chaincode: transaction returned with failure: ReferenceError: org is not defined
我将关系添加到关系数组的方法有什么问题?
最佳答案
我更改了您的交易脚本的 1 行:
transaction.client.readAccessList.concat(transaction.newReadableConsultants);
到
transaction.client.readAccessList=transaction.client.readAccessList.concat(transaction.newReadableConsultants);
我在 Composer Playground 中进行了测试,我使用的 JSON 数据是:
{
"$class": "org.comp.myapp.AddToReadableConsultantsOfClient",
"client": "resource:org.comp.myapp.Client#MBC01",
"newReadableConsultants": [
"resource:org.comp.myapp.Consultant#C02"
]
}
事务现在可以在 Playground 中运行 - 但我还没有通过 Angular 应用程序进行测试。
关于hyperledger-composer - 将关系添加到 hyperledger-composer 中的关系数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51030392/
Hyperledger Aries 和 Hyperledger Indy 都是构建分布式账本应用程序的平台 为身份。 它们之间的主要区别是什么?何时选择一个来实现区块链解决方案? 最佳答案 Aries
我还是个初学者,正在开发一个项目。我已经完成了getting started来自结构文档,但我不知道应该如何将其部署到网络,以便它在多个对等点上运行。创建结构后,我想在其上部署 super 账本 Co
我是 super 账本的新手,对 super 账本 Composer 和 nodejs api 有点困惑。 我看到使用 composer 我们可以创建 Assets 、交易、参与者和链码,最后我们必须
以下是我对 Hyperledger Fabric 系统的理解。如果有任何不正确的地方,请告诉我。 1) 所以我们有同行(背书人、 anchor 人、将军(拥有分类帐的人)、排序人)。此外,当我们设置结
您好,我是 HyperLedger Fabric 和 Composer 的新手。我对两个术语感到困惑。一个是用户 在 HyperLedger Fabric 中,另一个是 参与者在 HyperLedge
Hyperledger Composer 支持现有的 Hyperledger Fabric 区 block 链基础设施和运行时,它支持可插拔的区 block 链共识协议(protocol)。 但是为什
Hyperledger Sawtooth 是否有任何组件可以执行类似于 Fabric CA 在 Hyperledger Fabric 中所做的操作? 如果没有,我可以使用任何此类外部组件吗? 最佳答案
Hyperledger Fabric 和 Hyperledger Iroha 都是构建分布式账本应用程序的平台。 它们之间的主要区别是什么?何时选择一个来实现区块链解决方案? 最佳答案 Hyperle
是否可以在 super 账本结构和 indy 之间进行跨账本身份管理? Hyperledger Fabric 和 Hyperledger Indy 之间是否可以进行通信? 我可以从 Fabric 读取
我对 Hyperledger Fabric 有一些经验。它是用于许多用例的私有(private)许可区 block 链。另一方面,Hyperledger Indy 主要用于去中心化身份管理。我想知道是
据我了解,Hyperledger Composer 环境在 Hyperledger Fabric v1.0(或 0.8?)区块链上运行。 除了与区块链交互或查看交易、参与者等的 REST 服务器之外,
我已经在 WINDOWS 10 Prof 64 BIT 系统上设置了所有先决条件。 我正在尝试运行 super 账本示例“余额转移”。我启动了节点应用程序,当我尝试注册用户时,我收到一条错误消息,并显
我以前有使用以太坊和 Solidity 的经验,但现在我想尝试为 Hyperledger 编写智能合约。 我有几个注意事项: 第一个是关于支持的数据库。根据他们的文档 (http://hyperled
Chaincode 已经安装在对等文件系统中。为什么实例化链码会启动链码容器?链码容器的目的是什么? 最佳答案 链码容器的目的是确保智能合约的执行与对等体本身隔离,从而智能合约(链码)不会因为错误或恶
我正在尝试在 OSX 上安装和运行 Hyperledger Fabric。安装似乎很顺利。但是,当我运行 cryptogen 工具时,我收到以下警告: Apples-MacBook-Pro:e2e m
我是Java开发人员,也是Hyperledger的新手。我对学习有兴趣,需要知道从哪里开始。织物与 Composer ? 最佳答案 Hyperledger Composer在Hyperledger F
谁能帮我解决这个问题:我知道在 hyperledger 锯齿波中没有“编译”和“部署契约(Contract)”。我尝试使用 tuna-chain 供应链,它似乎是一个命令 $docker-compos
我找到了将 Hyperledger Fabric 部署到“Azure Hyperledger 单一成员区 block 链”的指南 here但我无法部署我的 Composer 网络。 我没有找到任何指导
默认情况下,Hyperledger Fabric 在将许多证书保存到区 block 链之前将其存储在交易中。无论如何或任何想法/技术来最小化区 block 链中的交易大小? 任何想法都非常有用! 最佳
我最近开始尝试掌握 Hyperledger Composer 的概念。 根据我的理解,Hyperledger Composer 只是 Hyperledger Fabric 之上的一层,目的是简化事情的
我是一名优秀的程序员,十分优秀!