Transactions with Symbolic Smart Contracts¶
Building Transactions¶
Symbolic Framework provides two ways of constructing smart contract transactions: through a backend component API or through JavaScript library functions.
Transaction building routine proceeds as follows:
- Build an unbalanced transaction satisfying the smart contract.
- Estimate the fees, including the proof verification script.
- Balance the transaction using the mock redeemer for the proof verification script.
- Calculate the proof.
- Modify the redeemer to include the correct proof.
- Submit the transaction.
ZKFold off-chain APIs cover steps 2-5 of this process. Step 1 is usually implemented either by DApp developers or 3rd-party tools that build smart contract transactions from schemas.