Hyperledger fabric 提交交易记录时,hyperledger链码中没有分类账上下文错误

Hyperledger fabric 提交交易记录时,hyperledger链码中没有分类账上下文错误,hyperledger-fabric,hyperledger,hyperledger-chaincode,Hyperledger Fabric,Hyperledger,Hyperledger Chaincode,我正在使用hyper-ledger链码将证书签名请求转换为自签名证书。但是,在存储有关证书的信息时,事务并没有成功,并且不会给我任何分类账上下文错误 Nodejs版本:8.9.4 我的链码功能是: async registerDomain(ctx, csr) { let buff = new Buffer(csr, 'base64') let csrData = buff.toString('ascii') pem.createPrivateKey(2048, { aes128: "11

我正在使用hyper-ledger链码将证书签名请求转换为自签名证书。但是,在存储有关证书的信息时,事务并没有成功,并且不会给我任何分类账上下文错误

Nodejs版本:8.9.4

我的链码功能是:

async registerDomain(ctx, csr) {
let buff = new Buffer(csr, 'base64')
let csrData = buff.toString('ascii')
pem.createPrivateKey(2048, {
    aes128: "11223344"
}, async function (err, pk) {
    let domain = new Domain(ctx, "abcd", "data.detail", "keys.certificate", "pk.key");
    await ctx.stub.putState(domain.domainId, Buffer.from(JSON.stringify(domain)));
});
而这正是我在对等docker日志中得到的:

HandletTransaction->ERRO 09f[ddc81d1b]无法处理PUT_状态。错误:没有分类账上下文 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 PUT_状态失败:事务ID:DDC81D1BCB69EECD6C6BBCF85BA16B2168486D4B232EF3C03FE5BBC7B2ADEA1 github.com/hyperledger/fabric/core/chaincode。 runtime.goexit


任何帮助都将不胜感激。

我也遇到过类似的问题。尽管对于这个错误没有任何合适的解决方案。 根据我的理解,当tx需要更多的时间来完成并且丢失了StateDBAPI提供的上下文实例时,就会抛出这个错误

在您的示例中,createPrivateKey可能需要更多的时间来生成pk,从而导致“无账本上下文”问题

参考:

您好,问题是否已解决。你能告诉我,我也被这个错误困扰了很长时间吗?