Ethereum JSON RPC Client
Project description
# Ethereum RPC Client
[![Build Status](https://travis-ci.org/pipermerriam/ethereum-rpc-client.png)](https://travis-ci.org/pipermerriam/ethereum-rpc-client) [![Documentation Status](https://readthedocs.org/projects/ethereum-rpc-client/badge/?version=latest)](https://readthedocs.org/projects/ethereum-rpc-client/?badge=latest) [![PyPi version](https://pypip.in/v/ethereum-rpc-client/badge.png)](https://pypi.python.org/pypi/ethereum-rpc-client) [![PyPi downloads](https://pypip.in/d/ethereum-rpc-client/badge.png)](https://pypi.python.org/pypi/ethereum-rpc-client)
Python client for Ethereum JSON RPC Server
> Note that this currently only implements a handful of the JSON RPC methods > exposed by the server.
## Installation
Install with pip
`bash $ pip install ethereum-rpc-client `
## Basic Usage
Assuming you have an Ethereum node running the JSON RPC server on localhost:8454
`python >>> from eth_rpc_client import Client >>> client = Client(host="127.0.0.1", port="8545") >>> client.get_coinbase() ... '0xd3cda913deb6f67967b99d67acdfa1712c293601' `
## API
### Client.get_coinbase()
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_coinbase
Returns the hex encoded coinbase.
### Client.get_gas_price()
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gasprice
Returns the gas price in wei as an integer
### Client.get_balance(address, block=”latest”)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getbalance
address: The hex encoded address to lookup the balance for.
block: The block to use for the lookup.
Returns the account balance for the address in wei as an integer.
### Client.get_code(address, block=”latest”)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getcode
address: The hex encoded address to lookup the code for.
block: The block to use for the lookup.
Returns the code at the given address.
### Client.call(_from=None, to=None, gas=None, gas_price=None, value=0, data=None, block=”latest”)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_call
_from: The hex encoded address to use as the source for the call.
to: The hex encoded address of the contract for the call.
gas: Integer gas alotment for the call.
gas_price: Integer gas price in wei.
value: Integer amount in wei to send with the call.
data: The call data.
Returns the call response.
### Client.get_transaction_receipt(txn_hash)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionreceipt
txn_hash: The hex encoded transaction hash to lookup.
Returns a dictionary of the transaction receipt or None if no receipt is found.
transactionHash: hex encoded hash of the transaction.
transactionIndex: integer of the transactions index position in the block.
blockHash: hex encoded hash of the block where this transaction was in.
blockNumber: integer block number where this transaction was in.
cumulativeGasUsed: The total amount of gas used when this transaction was executed in the block.
gasUsed: The amount of gas used by this specific transaction alone.
contractAddress: The contract address created, if the transaction was a contract creation, otherwise null.
logs: list of log objects, which this transaction generated
### Client.get_transaction_by_hash(txn_hash)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionbyhash
txn_hash: The hex encoded transaction hash to lookup.
Returns a dictionary of the transaction values or None if no transaction is found.
hash: DATA, 32 Bytes - hash of the transaction.
nonce: QUANTITY - the number of transactions made by the sender prior to this one.
blockHash: DATA, 32 Bytes - hash of the block where this transaction was in. null when its pending.
blockNumber: QUANTITY - block number where this transaction was in. null when its pending.
transactionIndex: QUANTITY - integer of the transactions index position in the block. null when its pending.
from: DATA, 20 Bytes - address of the sender.
to: DATA, 20 Bytes - address of the receiver. null when its a contract creation transaction.
value: QUANTITY - value transferred in Wei.
gasPrice: QUANTITY - gas price provided by the sender in Wei.
gas: QUANTITY - gas provided by the sender.
input: DATA - the data send along with the transaction.
### Client.get_block_number()
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_blocknumber
Returns the number of the most recent block.
### Client.get_accounts()
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_accounts
Returns a list of the addresses owned by the client.
### Client.new_filter(from_block=None, to_block=None, address=None, topics=None)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_newfilter
### Client.new_block_filter()
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_newblockfilter
### Client.new_pending_transaction_filter()
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_newpendingtransactionfilter
### Client.uninstall_filter(filter_id)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_uninstallFilter
### Client.get_filter_changes(filter_id)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getfilterchanges
### Client.get_filter_logs(filter_id)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getfilterlogs
### Client.get_logs(from_block=None, to_block=None, address=None, topics=None)
> https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getlogs
## Helpers
### Client.get_max_gas()
Returns the gas limit from the latest block
### Client.wait_for_transaction(txn_hash, max_wait=60)
Blocks for up to max_wait seconds, polling for the transaction receipt for the provided txn_hash. Returns the transaction hash.
### Client.wait_for_block(block_number, max_wait=60)
Blocks for up to max_wait seconds, polling the rpc server until the block specified by block_number is seen. Returns the block.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ethereum-rpc-client-0.4.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | abe3d6d8415598e0eb1d68326c391bbf42f0e78abd2aa112660e7f5574aa28cd |
|
MD5 | c264271a85249f4288887c463f8acb40 |
|
BLAKE2b-256 | 93255a56fd73f8212bf7044dd14e5033d2c8905908878d456ec635f6e6c7a4cd |
Hashes for ethereum_rpc_client-0.4.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87be395b670c748cb9933ad967cbde90da6350cd814ff9a9140e6993039a2b94 |
|
MD5 | cd77769600f37129e7f53bf47d15ecf9 |
|
BLAKE2b-256 | a70353bbb30603e4f2d58ef834144a8c52ea6258b1a05cc282fbb305b5a2abfa |
Hashes for ethereum-rpc-client-0.4.1.macosx-10.11-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8828c41c8948513497a91896d4eb985da36f00061ea98f65f36cae66b21eda0b |
|
MD5 | 53cf2c8311f7be650300ac3d837aeca8 |
|
BLAKE2b-256 | 3872d137526a6593f7b95fc784cd6827acef71765b26dc48e6f6db70ff1c1dd7 |