Skip to main content

Transaction Submit

Confirm transaction submission to blockchain with transaction hash.

When to use:

  • After successfully submitting transaction to blockchain
  • To link blockchain transaction hash with zkDatabase transaction
  • To update transaction status from "Queued" to "Processing"
Required Information
  • rawTransactionId from transactionDraft()
  • txHash from successful blockchain transaction submission
  • Transaction must exist and be in valid state

Definition

await zkdb
.db(databaseName: string)
.transactionSubmit(rawTransactionId: string, txHash: string): Promise<boolean>;

Parameters

  • rawTransactionId (string): Transaction ID from transactionDraft() response
  • txHash (string): Transaction hash returned by blockchain after successful submission

Returns

  • Promise<boolean>: Returns true if transaction hash was successfully recorded.

Note: This links your zkDatabase transaction with the blockchain transaction for status tracking.

Example

import { ETransactionType } from '@zkdb/common';

const zkdb = await ZkDatabase.connect({
userName: "chiro-user",
privateKey: "EKFTciRxyxshZjimay9sktsn7v5PvmC5zPq7q4JnitHUytxUVnFP",
environment: "node",
// This URL is for test environment
url: "https://api.zkdatabase.org/graphql",
});

await zkdb.auth.signIn();

const dbTest = zkdb.db('zkdb_test');

// 1. Get transaction draft
const draft = await dbTest.transactionDraft(ETransactionType.Deploy);

// 2. Submit to blockchain (example with Mina)
// const txHash = await submitToBlockchain(draft.transactionRaw);

// 3. Confirm submission
const submitted = await dbTest.transactionSubmit(
draft.rawTransactionId,
"5Ju..." // Replace with actual transaction hash
);
console.log('Transaction submitted:', submitted);

await zkdb.auth.signOut();

Result:

Transaction submitted: true

Transaction Workflow

Complete transaction flow:

  1. Queue: transactionDeployEnqueue() or rollUpOnChainStart()
  2. Draft: transactionDraft() to get transaction data
  3. Blockchain: Submit transactionRaw to blockchain network
  4. Confirm: transactionSubmit() with transaction hash
  5. Monitor: Check database status for confirmation

Related: rollUpOnChainStart() | Database Info