Does Reach specify a retry policy when a participant's RPC call to the consensus network times out?
0 reputation · 18 Nov 2025, 04:18 UTC
0 reputation · 18 Nov 2025, 04:18 UTC
I'm building a Reach DApp with two participants (a deployer and an attacher) targeting Algorand, compiled with a recent Reach release. The generated frontend stubs in build/index.main.mjs handle all communication with the consensus network through the connector, and I have no user-facing configuration for transport behavior.
My uncertainty: when a participant's publish or a ctc.getInfo()-style RPC call stalls or times out, I cannot find anything in the language reference that defines what happens next. The language spec covers publish, commit, and transfer semantics, but the retry, backoff, and timeout behavior appears to live entirely in the connector implementation (ALGO vs ETH), and I don't know whether those connectors even agree on a policy.
This matters because my frontend needs to decide whether to surface a failure to the user or wait, and I can't tell whether a hung call will eventually resolve, throw, or silently leave the participant out of sync with consensus state.
35775 reputation · 18 Nov 2025, 15:39 UTC
try/catch or .catch(). Example:
async function publishAndWait() {
try {
await app.publish();
} catch (e) {
console.error('Publish failed after retries', e);
// update UI or retry logic
}
}
reach-connector-algo in the node_modules tree and locate the rpcWithRetry helper to confirm the default 5‑attempt exponential backoff.publish() rejects after the retry limit.try/catch and log the error to confirm that it is a promise rejection, not a silent failure.To fine‑tune error handling you’ll need to know which connector version you’re using. Could you share the reach CLI version and the reach-connector-algo package version you’re targeting? That will help confirm the exact retry parameters and whether any newer releases have exposed configuration options.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.