Transaction Builder

To build your own transactions and sign them

from bitshares.transactionbuilder import TransactionBuilder
from bitsharesbase.operations import Transfer
tx = TransactionBuilder()
tx.appendOps(Transfer(**{
         "fee": {"amount": 0, "asset_id": "1.3.0"},  # will be filled in automatically
         "from": "1.2.124",
         "to": "1.2.1241",
         "amount": {"amount": 10000, "asset_id": "1.3.0"},
     }))
tx.appendSigner("xeroc", "active")
tx.sign()
tx.broadcast()
class bitshares.transactionbuilder.TransactionBuilder(tx={}, bitshares_instance=None)

This class simplifies the creation of transactions by adding operations and signers.

addSigningInformation(account, permission)

This is a private method that adds side information to a unsigned/partial transaction in order to simplify later signing (e.g. for multisig or coldstorage)

FIXME: Does not work with owner keys!

appendMissingSignatures()

Store which accounts/keys are supposed to sign the transaction

This method is used for an offline-signer!

appendOps(ops)

Append op(s) to the transaction builder

Parameters:ops (list) – One or a list of operations
appendSigner(account, permission)

Try to obtain the wif key from the wallet by telling which account and permission is supposed to sign the transaction

appendWif(wif)

Add a wif that should be used for signing of the transaction.

broadcast()

Broadcast a transaction to the BitShares network

Parameters:tx (tx) – Signed transaction to broadcast
clear()

Clear the transaction builder and start from scratch

constructTx()

Construct the actual transaction and store it in the class’s dict store

json()

Show the transaction as plain json

sign()

Sign a provided transaction witht he provided key(s)

Parameters:
  • tx (dict) – The transaction to be signed and returned
  • wifs (string) – One or many wif keys to use for signing a transaction. If not present, the keys will be loaded from the wallet as defined in “missing_signatures” key of the transactions.
verify_authority()

Verify the authority of the signed transaction