- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Hyperledger 结构创建一个简单的数据库表。该表有 3 个字段,ID、姓名和出生日期。姓名和出生日期是字符串。我正在使用基本网络示例。这是我的链码:
const shim = require('fabric-shim');
const util = require('util');
var Chaincode = class {
// Initialize the chaincode
async Init(stub) {
console.info('========= example02 Init =========');
console.log("HELLO WORLD!!!");
console.log("Init: Does nothing!");
return shim.success();
}
async Invoke(stub) {
let ret = stub.getFunctionAndParameters();
console.info("Truong: async Invoke!!");
console.info(ret);
let method = this[ret.fcn];
if (!method) {
console.log('no method of name:' + ret.fcn + ' found');
return shim.success();
}
try {
let payload = await method(stub, ret.params);
return shim.success(payload);
} catch (err) {
console.log(err);
return shim.error(err);
}
}
// Insert
async insert(stub, args) {
console.log("Truong: async insert!!!");
if (args.length != 2) {
throw new Error('Incorrect number of arguments. Expecting 2');
}
let ID = args[0];
let Attrs = args[1];
await stub.putState(ID, Buffer.from(JSON.stringify(Attrs)));
}
// Delete
async delete(stub, args) {
console.info("Truong: async delete!!!");
if (args.length != 1) {
throw new Error('Incorrect number of arguments. Expecting 1');
}
let ID = args[0];
// Delete the key from the state in ledger
await stub.deleteState(ID);
}
// query callback representing the query of a chaincode
async query(stub, args) {
if (args.length != 1) {
throw new Error('Incorrect number of arguments. Expecting name of the person to query')
}
let jsonResp = {};
let ID = args[0];
// Get the state from the ledger
let Result = await stub.getState(A);
if (!Result) {
jsonResp.error = 'Failed to get state for ' + ID;
throw new Error(JSON.stringify(jsonResp));
}
jsonResp.ID = ID;
jsonResp.Attrs = Result.toString();
console.info('Query Response:');
console.info(jsonResp);
return Result;
}
};
shim.start(new Chaincode());
但是当我输入以下行时:
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer chaincode query -C mychannel -n mycc -c '{"Args":["insert", "1", {"name": "Dang Manh Truong", "date": "26/04/1995"}]}'
出现错误:
Error: chaincode argument error: json: cannot unmarshal array into Go struct field strArgs.Args of type string
这是否意味着 fabric 不接受 json 作为输入?请帮助我,非常感谢。
最佳答案
Args
必须是字符串数组。您将需要转义 JSON 内容:
"{\"name\":\"Dang Manh Truong\",\"date\":\"26\/04\/1995\"}"
peer ... -c '{"Args":["insert", "1","{\"name\":\"Dang Manh Truong\",\"date\":\"26\/04\/1995\"}"]}'
关于node.js - Hyperledger fabric : Error: chaincode argument error: json: cannot unmarshal array into Go struct field strArgs. 字符串类型的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54157356/
以太坊合约可以轻松部署新合约,我想知道 hyperledger fabric chaincode 是否可以部署新的 chaincode? 最佳答案 Hyperledger fabric 有两种类型的链
我能够通过对等链码调用来调用链码功能: `peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"in
我能够通过对等链码调用来调用链码功能: `peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"in
我正在尝试学习 HLF 2.0 chaincode 生命周期,我的网络配置如下 两个组织各有一个同行 RAFT 作为排序服务(总共 3 个排序) 按照官方文档安装链码https://hyperledg
我弄错了我的链代码并将它们安装在我网络上的对等节点上。当我尝试在 channel 中实例化链代码时,我发现了错误。 有没有办法在将链代码安装到对等点之前对其进行调试?它似乎只有在您实例化它时才会被标记
我正在运行 Hyperledger Fabric 1.4.0 我有 1 个组织 (Org1)、2 个节点 (peer0、peer1) 和两个排序节点 (ord0 >,ord1)。对等方使用 couch
在 Hyperledger 结构中,部署的每个链代码都在单独的 docker 容器中运行。 因此,Hyperledger-composer 创建了 每次升级都有一个新容器 的链码。据我了解 compo
我希望您做得很好,我是Hyperledger Fabric的新手,如果你们中的任何人以前遇到过此问题,我也有问题。 我在Go的链码中定义了我的 Assets 及其相关属性,并且我开发了一些与 Asse
首先我想提一下,当没有启用 TLS 时,我的设置就像一个魅力。它甚至可以在 AWS 上的 Docker Swarm 中运行。 当我启用 TLS 时问题就开始了。当我通过 Composer 部署我的 .
我正在我的 MacOS 上用 GO 编写链码程序。以下是代码: package main import ( "encoding/json" "fmt" "github.com/
func (t *ballot) initBallot(stub shim.ChaincodeStubInterface, args []string) peer.Response { if
我有具有以下目录结构的链码 $GOPATH/myproject/chaincode/mycc/go ├── mycc.go ├── chaincode │ └── chaincode.go └──
我正在尝试按照 this 将多个组织部署到 Hyperledger fabric教程 一切都按预期工作,直到我尝试启动网络:第 17 步命令: composer network start -c Pe
我在 Go 代码导入语句中遇到错误。我附上代码和我在 vscode 中遇到的错误。请帮助我确定问题所在。我认为我的 Go 安装存在一些问题,因此我还提供了在我的 VM 上打开 Ubuntu 时出现的异
我正在做来自 hyperledger fabric 网站的 fabcar 教程,它将引导您构建您的第一个应用程序: https://hyperledger-fabric.readthedocs.io/
我可以在 IBM hyperledger 中使用 Chaincode 状态存储多少数据? 我正在使用 IBM Bluemix hosting . 我找不到任何指定大小限制的链接。 最佳答案 目前没有字
我正在使用这个链码开发 guide开发一些链码并测试它。 在杀死用于测试链码的对等点并重新启动它之后,BlockChain 没有重新启动(所有块都还在那里)。 如何删除之前的区块链数据? 最佳答案 来
我在 Ubuntu 机器上构建我的 go 代码时遇到错误。我检查了 GOPATH 变量,一切似乎都很好。下面是我得到的错误堆栈跟踪: /go/src/Chaincodeexample$ 去构建 # _
我正进入(状态 Error: could not send: EOF 在 HF 中实例化链码。我遵循了安装二进制文件、图像等的正确步骤。 安装后,我在 first-network 目录中使用以下命令来
我使用fabrc-sdk-java来操作e2e_cli网络。e2e使用CA并且禁用TLS。 我成功创建了 channel 并安装了链代码。 创建 channel : Channel newChanne
我是一名优秀的程序员,十分优秀!