#
Reading transaction properties
The ITransaction interface also allows you to read your transaction properties like sig digest, id, etc.
Test it yourself: src/typescript/transaction/working-with-transaction/reading-transaction-properties/reading-properties.ts
import { createHiveChain } from '@hiveio/wax';
// Initialize hive chain interface
const chain = await createHiveChain();
// Initialize a transaction object
const tx = await chain.createTransaction();
// Declare example operation
const operation = {
vote_operation: {
voter: "voter",
author: "test-author",
permlink: "test-permlink",
weight: 2200
}
};
// Push operation into the transction
tx.pushOperation(operation);
/*
Get a transaction object holding all operations and transaction
TAPOS & expiration data, but transaction is **not signed yet**
*/
const builtTransaction = tx.transaction;
console.log(`id: ${tx.id}`);
console.log(`sigDigest: ${tx.sigDigest}`);
console.log(`expiration: ${builtTransaction.expiration}`);
console.log(`ref_block_num: ${builtTransaction.ref_block_num}`);
id: 8b61be0b5b857f2a9be8a65ac5d8461d2b091e30
sigDigest: d552081de1d55636a97633a3dc75a85854e83a574bcbbcffd69dcd7fcb4dcc58
expiration: 2024-09-06T12:33:58
ref_block_num: 1960
Test it yourself on github codespace: src/python/transaction/working_with_transaction/reading_transaction_properties/reading_properties.py
import asyncio
from wax import create_hive_chain
from wax.proto.operations import vote
async def main() -> None:
# Initialize hive chain interface
chain = create_hive_chain()
# Initialize a transaction object
tx = await chain.create_transaction()
# Declare example operation
vote_operation = vote(voter="voter", author="test-author", permlink="test-permlink", weight=2200)
# Push operation into the transaction
tx.push_operation(vote_operation)
# Get a transaction object holding all operations and transaction
# TAPOS & expiration data, but transaction is **not signed yet**
built_transaction = tx.transaction
print(f"id: {tx.id}")
print(f"sig_digest: {tx.sig_digest}")
print(f"expiration: {built_transaction.expiration}")
print(f"ref_block_num: {built_transaction.ref_block_num}")
asyncio.run(main())
id: f0d64ae54e9ae84dbdabb3d6987484db5868aedc
sig_digest: 14e066439ceb222e911e052583431c47a7d9afaa53732c16990f3d4b0c145cd5
expiration: 2025-09-05T13:11:08
ref_block_num: 4170