Prover Retry
Restart failed prover operations that generate zero-knowledge proofs for database operations.
When to use:
- Document operations stuck in "Failed" status
- Before rollup operations
- After service crashes or network issues
Definition
await zkdb
.db(databaseName: string)
.proverRetry(): Promise<Result<TProverRetryResponse>>;
Parameters
- None
Returns
Promise<Result<TProverRetryResponse>>: Returnstrueif the retry operation was successfully initialized.
Note: Returns true if retry was initiated. Use proverStatus() to monitor progress.
Example
import { ZkDatabase } from 'zkdb';
const zkdb = new ZkDatabase({
apiKey: 'zkdb_536aac02a1b7.c001b6b8f...da3aa4185d8d2ad07f0ae94aT',
// This URL is for test environment
url: "https://serverless.zkdatabase.org/graphql",
});
const dbTest = zkdb.db('zkdb_test');
const retryResult = (await dbTest.proverRetry()).unwrap();
console.log('Retry result:', retryResult);
Result:
Retry result: true
Detect and Retry failed operations
Example
import { ZkDatabase } from 'zkdb';
import { EQueueTaskStatus } from '@zkdb/common';
const zkdb = new ZkDatabase({
apiKey: 'zkdb_536aac02a1b7.c001b6b8f...da3aa4185d8d2ad07f0ae94aT',
// This URL is for test environment
url: "https://serverless.zkdatabase.org/graphql",
});
const database = zkdb.db("zkdb_test");
let status;
while ((status = await database.proverStatus()) !== EQueueTaskStatus.Success) {
if (status === EQueueTaskStatus.Failed) {
console.log("Retrying failed operation:", (await database.proverRetry()).unwrap());
}
await new Promise(resolve => setTimeout(resolve, 1000));
}
console.log("All prover operations completed successfully!");
Use after:
-
Bulk document operations
-
When
zkProofStatus()showsFailed