JS SDK v2.0.16 Error: 13 INTERNAL: received RST_STREAM with code 0

JS SDK v2.0.16 Error: 13 INTERNAL: received RST_STREAM with code 0

这个错误是什么意思?

错误:13 内部:收到 RST_STREAM 代码 0

目前,如果您覆盖 SDK 的默认值,则有三个端点无法正常工作并导致 SDK 无法处理的 RST_STREAM 错误(即使是 v2.1.1)你应该没问题的节点列表。

已在 github 中跟踪此问题:https://github.com/hashgraph/hedera-sdk-js/issues/622

同时您可以按如下方式处理错误:

有承诺

    let retry = true;
    while (retry) {
        await new AccountBalanceQuery()
            .setAccountId(operatorId)
            .execute(client)
            .then(() => {
                retry = false;
                console.log("---> SUCCESS");
            })
            .catch(error => {
                console.error(error);
                if (error.message.includes('RST_STREAM')) {
                    console.log("---> RETRY");
                }
            });
    }
}

和try/catch

    let retry = true;
    while (retry) {
        try {
            await new AccountBalanceQuery()
                .setAccountId(operatorId)
                .execute(client);

                retry = false;
                console.log("---> SUCCESS");
        } catch (error) {
            console.error(error);
            if (error.message.includes('RST_STREAM')) {
                console.log("---> RETRY");
            }
        }
    }

这样,如果其他节点无法响应,您将很好地处理它。