graphenecommon.transactionbuilder module¶
-
class
graphenecommon.transactionbuilder.
ProposalBuilder
(proposer, proposal_expiration=None, proposal_review=None, parent=None, *args, **kwargs)¶ Bases:
graphenecommon.instance.AbstractBlockchainInstanceProvider
Proposal Builder allows us to construct an independent Proposal that may later be added to an instance of TransactionBuilder
Parameters: - proposer (str) – Account name of the proposing user
- proposal_expiration (int) – Number seconds until the proposal is supposed to expire
- proposal_review (int) – Number of seconds for review of the proposal
- transactionbuilder.TransactionBuilder – Specify your own instance of transaction builder (optional)
- blockchain_instance (instance) – Blockchain instance
-
appendOps
(ops, append_to=None)¶ Append op(s) to the transaction builder
Parameters: ops (list) – One or a list of operations
-
broadcast
()¶
-
get_parent
()¶ This allows to referr to the actual parent of the Proposal
-
get_raw
()¶ Returns an instance of base “Operations” for further processing
-
is_empty
()¶
-
json
()¶ Return the json formated version of this proposal
-
list_operations
()¶
-
set_expiration
(p)¶
-
set_parent
(p)¶
-
set_proposer
(p)¶
-
set_review
(p)¶
-
class
graphenecommon.transactionbuilder.
TransactionBuilder
(tx={}, proposer=None, **kwargs)¶ Bases:
dict
,graphenecommon.instance.AbstractBlockchainInstanceProvider
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!
-
add_required_fees
(ops, asset_id='1.3.0')¶ Auxiliary method to obtain the required fees for a set of operations. Requires a websocket connection to a witness node!
-
appendMissingSignatures
()¶ Store which accounts/keys are supposed to sign the transaction
This method is used for an offline-signer!
-
appendOps
(ops, append_to=None)¶ Append op(s) to the transaction builder
Parameters: ops (list) – One or a list of operations
-
appendSigner
(accounts, permission)¶ Try to obtain the wif key from the wallet by telling which account and permission is supposed to sign the transaction
Parameters: - accounts (str,list,tuple,set) – accounts to sign transaction with
- permission (str) – type of permission, e.g. “active”, “owner” etc
-
appendWif
(wif)¶ Add a wif that should be used for signing of the transaction.
-
broadcast
()¶ Broadcast a transaction to the blockchain 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
-
get_block_params
(use_head_block=False)¶ Auxiliary method to obtain
ref_block_num
andref_block_prefix
. Requires a websocket connection to a witness node!
-
get_parent
()¶ TransactionBuilders don’t have parents, they are their own parent
-
is_empty
()¶
-
json
()¶ Show the transaction as plain json
-
list_operations
()¶
-
permission_types
= ['active', 'owner']¶ Some graphene chains support more than just owner, active (e.g. steem also has ‘posting’)
-
set_expiration
(p)¶
-
set_fee_asset
(fee_asset)¶ Set asset to fee
-
sign
()¶ Sign a provided transaction with the 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 the authority of the signed transaction
-