来自 getHistoryForKey() 的事务 ID 在 Hyperledger Fabric 中始终未定义
transaction id from getHistoryForKey() is always undefined in Hyperledger Fabric
当我试图获取密钥的历史记录时,我正在 Fabric 2.1 上处理 Nodejs 链代码。它 returns “时间戳”和“值”正确,但迭代器中的 tx_id 始终未定义。
有没有人成功检索到关联的交易ID??
async getAllResults(iterator, isHistory) {
let allResults = [];
while (true) {
let res = await iterator.next();
if (res.value && res.value.value.toString()) {
let jsonRes = {};
console.log(res.value.toString('utf8'));
console.log(res.value.tx_id);
console.log(res.value.value.toString('utf8'));
日志:
dev-peer0.org1.example.com-mycc_7-7cd3dda|[object Object]
dev-peer0.org1.example.com-mycc_7-7cd3dda|undefined
dev-peer0.org1.example.com-mycc_7-7cd3dda|{"entityType":"product","model":"somemodel","name":"bike","newdata":"somedata","owner":"e7854d50-8793-449a-a903-d740d8d5952b","txDate":"Wed Jul 29 2020"}
我终于明白了,
迭代器 returns“txId”而不是“tx_id”
正确的方法是
jsonRes.TxId = res.value.txId;
显然代码来自
https://github.com/hyperledger/fabric-samples/blob/master/chaincode/marbles02/javascript/marbles_chaincode.js
有错,还是旧了需要更新
当我试图获取密钥的历史记录时,我正在 Fabric 2.1 上处理 Nodejs 链代码。它 returns “时间戳”和“值”正确,但迭代器中的 tx_id 始终未定义。 有没有人成功检索到关联的交易ID??
async getAllResults(iterator, isHistory) {
let allResults = [];
while (true) {
let res = await iterator.next();
if (res.value && res.value.value.toString()) {
let jsonRes = {};
console.log(res.value.toString('utf8'));
console.log(res.value.tx_id);
console.log(res.value.value.toString('utf8'));
日志:
dev-peer0.org1.example.com-mycc_7-7cd3dda|[object Object]
dev-peer0.org1.example.com-mycc_7-7cd3dda|undefined
dev-peer0.org1.example.com-mycc_7-7cd3dda|{"entityType":"product","model":"somemodel","name":"bike","newdata":"somedata","owner":"e7854d50-8793-449a-a903-d740d8d5952b","txDate":"Wed Jul 29 2020"}
我终于明白了,
迭代器 returns“txId”而不是“tx_id”
正确的方法是
jsonRes.TxId = res.value.txId;
显然代码来自 https://github.com/hyperledger/fabric-samples/blob/master/chaincode/marbles02/javascript/marbles_chaincode.js 有错,还是旧了需要更新