peerplays.transactionbuilder module¶
-
class
peerplays.transactionbuilder.
ProposalBuilder
(*args, **kwargs)¶ Bases:
peerplays.instance.BlockchainInstance
,peerplays.transactionbuilder.ProposalBuilder
Proposal Builder allows us to construct an independent Proposal that may later be added to an instance ot 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
-
blockchain
¶
-
blockchain_instance_class
¶
-
broadcast
()¶
-
chain
¶ Short form for blockchain (for the lazy)
-
define_classes
()¶ Needs to define instance variables that provide classes
-
get_instance_class
()¶ Should return the Chain instance class, e.g. peerplays.PeerPlays
-
get_parent
()¶ This allows to referr to the actual parent of the Proposal
-
get_raw
()¶ Returns an instance of base “Operations” for further processing
-
classmethod
inject
(cls)¶
-
is_empty
()¶
-
json
()¶ Return the json formated version of this proposal
-
list_operations
()¶
-
peerplays
¶ Alias for the specific blockchain
-
set_expiration
(p)¶
-
set_parent
(p)¶
-
set_proposer
(p)¶
-
set_review
(p)¶
This method allows us to override default instance for all users of
SharedInstance.instance
.Parameters: instance (chaininstance) – Chain instance
This allows to set a config that will be used when calling
shared_blockchain_instance
and allows to define the configuration without requiring to actually create an instance
This method allows to set the current instance as default
This method will initialize
SharedInstance.instance
and return it. The purpose of this method is to have offer single default instance that can be reused by multiple classes.
-
class
peerplays.transactionbuilder.
TransactionBuilder
(*args, **kwargs)¶ Bases:
peerplays.instance.BlockchainInstance
,peerplays.transactionbuilder.TransactionBuilder
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.
-
blockchain
¶
-
blockchain_instance_class
¶
-
broadcast
()¶ Broadcast a transaction to the blockchain network
Parameters: tx (tx) – Signed transaction to broadcast
-
chain
¶ Short form for blockchain (for the lazy)
-
clear
()¶ Clear the transaction builder and start from scratch
-
constructTx
()¶ Construct the actual transaction and store it in the class’s dict store
-
copy
() → a shallow copy of D¶
-
define_classes
()¶ Needs to define instance variables that provide classes
-
fromkeys
()¶ Create a new dictionary with keys from iterable and values set to value.
-
get
()¶ Return the value for key if key is in the dictionary, else default.
-
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_instance_class
()¶ Should return the Chain instance class, e.g. peerplays.PeerPlays
-
get_parent
()¶ TransactionBuilders don’t have parents, they are their own parent
-
classmethod
inject
(cls)¶
-
is_empty
()¶
-
items
() → a set-like object providing a view on D's items¶
-
json
()¶ Show the transaction as plain json
-
keys
() → a set-like object providing a view on D's keys¶
-
list_operations
()¶
-
peerplays
¶ Alias for the specific blockchain
-
permission_types
= ['active', 'owner']¶
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, d is returned if given, otherwise KeyError is raised
-
popitem
() → (k, v), remove and return some (key, value) pair as a¶ 2-tuple; but raise KeyError if D is empty.
-
set_expiration
(p)¶
-
set_fee_asset
(fee_asset)¶ Set asset to fee
This method allows us to override default instance for all users of
SharedInstance.instance
.Parameters: instance (chaininstance) – Chain instance
This allows to set a config that will be used when calling
shared_blockchain_instance
and allows to define the configuration without requiring to actually create an instance
This method allows to set the current instance as default
-
setdefault
()¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
This method will initialize
SharedInstance.instance
and return it. The purpose of this method is to have offer single default instance that can be reused by multiple classes.
-
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.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D's values¶
Verify the authority of the signed transaction
-