The official ProvenDB Anchor client.
Service definitions for the ProvenDB Anchor service can be found here.
import { anchor } from "provendb-sdk-node";
let client = anchor.connect(anchor.withCredentials("YOUR_API_KEY"));
To submit a quick proof with defaults:
let proof = await client.submitProof("da63e4bd82fc6e5fd7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c");
To submit a proof and wait for the proof to be CONFIRMED
before resolving the promise, add the submitProofWithAwaitConfirmed
option:
let proof = await client.submitProof("da63e4bd82fc6e5d7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c",
anchor.submitProofWithAwaitConfirmed(true));
To submit a proof with different anchor types, add the submitProofWithAnchorType
option:
let hederaProof = await client.submitProof("da63e4bd82fc6e5fd7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c",
anchor.submitProofWithAnchorType(anchor.Anchor.Type.HEDERA_MAINNET));
let ethereumProof = await client.submitProof("da63e4bd82fc6e5fd7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c",
anchor.submitProofWithAnchorType(anchor.Anchor.Type.ETH_MAINNET));
let bitcoinProof = await client.submitProof("da63e4bd82fc6e5fd7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c",
anchor.submitProofWithAnchorType(anchor.Anchor.Type.BTC_MAINNET));
When a proof is submitted, it is yet to be confirmed (unless your specify submitProofWithAwaitConfirmed
option). Depending on the chosen anchor type, it may take a while for a proof to be CONFIRMED
status. By subscribing to a proof, you will receive an updated proof when its status changes.
let proof = await client.submitProof("da63e4bd82fc6e5fd7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c")
client.subscribeProof(proof.id, proof.anchorType, callback(err, proof) => {
if (err) {
// handle error
} else {
// do something with proof
}
})
Alternatively, you can retrieve a proof without subscribing by periodically calling getProof
.
// Submit the proof
let submitted = await client.submitProof("da63e4bd82fc6e5fd7337e6bd9147d8cada6652d9049020edc6deb69b18cf69c")
// Wait
// Update the proof with getProof
let updated = await getProof(proof.id, proof.anchorType)
Full API documentation not yet available.