Contracts¶
eth_contract.Contract(contract_meta, contract_name):
This function returns a python class for the provided contract data. It will have functions for each of the defined functions in the provided contract ABI.
The Contract Class¶
ContractClass(address, blockchain_client)
The python class returned from eth_contract.Contract
takes an ethereum
address and a blockchain client as constructor arguments. This returns an
instance of your contract that can be used to interact with the contract via
the provided blockchain_client
ContractClass.get_deploy_data(*constructor_args)
This classmethod will return the hex encoded data for deploying this contract.
ContractClass._meta.code
The compiled contract code.
ContractClass._meta.source
The contract source code.
ContractClass._meta.blockchain_client
The blockchain client this contract will use to interact with the blockchain.
ContractClass._meta.abi
The contract ABI.
ContractClass.get_balance(block="latest")
Returns contract balance in wei as an integer.
Contract Functions¶
For each function defined in the contract ABI there will be a callable property by the same name on the contract object. Each of these functions accepts the following additional keyword arguments in addition to the function arguments.
value
- sends the provided value in wei with the transaction._from
- the ethereum address that the transaction should be sent from.gas
- specifies the gas value of the transaction.gas_price
- the gas price for the transaction.
Functions which are denoted as constant
will not send transactions when
called and will return the return value of the called contract function.
Non-constant functions will send a transaction when called and will return the transaction hash of the created transaction.