【问题标题】:While submitting transaction no ledger context error in hyperledger chaincode提交交易时,超级账本链码中没有账本上下文错误
【发布时间】:2019-11-17 20:35:09
【问题描述】:

我正在使用超级账本链码将证书签名请求转换为自签名证书。但是在存储有关证书的信息时,交易没有成功,并且没有给我任何分类帐上下文错误。

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 日志中得到的交易:

HandleTransaction -> ERRO 09f [ddc81d1b] 无法处理 PUT_STATE。错误:没有分类帐上下文 运行时.goexit /opt/go/src/runtime/asm_amd64.s:1333 PUT_STATE 失败:事务 ID:ddc81d1bcb69eecd6c6bbcf85ba16b2168486d4b232ef3c03fe5bbc7bb2adea1 github.com/hyperledger/fabric/core/chaincode。 runtime.goexit

任何帮助将不胜感激。

【问题讨论】:

  • 嗨,问题解决了吗。你能告诉我,因为我也被这个错误困扰了很长时间吗?

标签: hyperledger-fabric hyperledger hyperledger-chaincode


【解决方案1】:

我也遇到过类似的问题。虽然这个错误没有任何适当的解决方案。 据我了解,当 tx 需要更多时间来完成并丢失 state db api 提供的上下文实例时,会引发此错误。

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

参考: https://jira.hyperledger.org/browse/FAB-17512?focusedCommentId=69269&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-69269

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多