# Reading transaction properties

The ITransaction interface also allows you to read your transaction properties like sig digest, id, etc.

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
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