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日志:
HANDLESTRANSACTION-> ERRO 09F [DDC81D1B]无法处理put_state。错误:没有分类帐上下文 runtime.goexit /Opt/go/src/runtime/asm_amd64.s:1333 PUT_STATE失败:交易ID:DDC81D1BCB69EECD6C6BBCF85BA16B2168486D4B232EF32C03C03FE5BBBC7BBC7BB2ADEA1 github.com/hyperledger/fabric/core/chaincode。 Runtime.goExit
任何帮助都将不胜感激。
我也面临类似的问题。尽管没有适当的解决方案来解决此错误。 根据我的理解,当TX花费更多的时间完成并丢失状态DB API'S。在您的示例中,createPrivateKey可能需要更多时间来生成PK,从而引起“无账面上下文”问题。
参考: https://jira.hyperledger.org/browse/fab-17512?pocusedCommentId = 69269&page = com.atlassian.jira.jira.plugin.system.system.issuetabpanels;
检查异步等待 我也有类似的错误。 IDE用警告“不需要等待”强调了语法,但情况并非总是如此。