# eth

###

### **accounts(): `Vec<H160>`**

* **interface**: `api.rpc.eth.accounts`
* **jsonrpc**: `eth_accounts`
* **summary**: Returns a list of addresses owned by client.

### **blockNumber(): `U256`**

* **interface**: `api.rpc.eth.blockNumber`
* **jsonrpc**: `eth_blockNumber`
* **summary**: Returns the current "latest" block number.

### **call(transaction: `transactionObject`, block?: `BlockNumber`): `HexString`**

* **interface**: `api.rpc.eth.call`
* **jsonrpc**: `eth_call`
* **summary**: Executes a new message call immediately without creating a transaction on the block chain.

**chainId(): `HexString`**

* **interface**: `api.rpc.eth.chainId`
* **jsonrpc**: `eth_chainId`
* **summary**: Returns the currently configured chain id.

### **coinbase(): `H160`**

* **interface**: `api.rpc.eth.coinbase`
* **jsonrpc**: `eth_coinbase`
* **summary**: Returns block author.

### **estimateGas(transaction: `transactionObject`, block?: `BlockNumber`): `HexString`**

* **interface**: `api.rpc.eth.estimateGas`
* **jsonrpc**: `eth_estimateGas`
* **summary**: Estimates gas needed for execution of given transaction.

### **feeHistory(blockCount: `U256`, newest\_block: `BlockNumber`, reward\_percentiles?: `Vec<f64>`): `FeeHistory`**

* **interface**: `api.rpc.eth.feeHistory`
* **jsonrpc**: `eth_feeHistory`
* **summary**: Introduced in EIP-1159 for getting information on the appropriate priority fee to use.

### **gasPrice(): `HexString`**

* **interface**: `api.rpc.eth.gasPrice`
* **jsonrpc**: `eth_gasPrice`
* **summary**: Returns the current gas price in wei.

### **getBalance(address: `H160`, block?: `BlockNumber`): `HexString`**

* **interface**: `api.rpc.eth.getBalance`
* **jsonrpc**: `eth_getBalance`
* **summary**: Returns the balance of the account of given address.

### **getBlockByHash(hash: `H256`, full?: `bool`): `BlockObject`**

* **interface**: `api.rpc.eth.getBlockByHash`
* **jsonrpc**: `eth_getBlockByHash`
* **summary**: Returns information about a block by hash.

### **getBlockByNumber(BlockNumber: `BlockNumber`, full?: `bool`): `BlockObject`**

* **interface**: `api.rpc.eth.getBlockByNumber`
* **jsonrpc**: `eth_getBlockByNumber`
* **summary**: Returns information about a block by hash.

### **getBlockTransactionCountByHash(hash: `H256`): `U256`**

* **interface**: `api.rpc.eth.getBlockTransactionCountByHash`
* **jsonrpc**: `eth_getBlockTransactionCountByHash`
* **summary**: Returns the number of transactions in the block with the given block hash.

### **getBlockTransactionCountByNumber(BlockNumber: `BlockNumber`): `U256`**

* **interface**: `api.rpc.eth.getBlockTransactionCountByNumber`
* **jsonrpc**: `eth_getBlockTransactionCountByNumber`
* **summary**: Returns the number of transactions in the block with the given block number.

### **getCode(address: `H160`, number?: `BlockNumber`): `Bytes`**

* **interface**: `api.rpc.eth.getCode`
* **jsonrpc**: `eth_getCode`
* **summary**: Returns the compiled smart contract code, if any, at a given address.

### **getFilterChanges(index: `Index`): `FilterChanges`**

* **interface**: `api.rpc.eth.getFilterChanges`
* **jsonrpc**: `eth_getFilterChanges`
* **summary**: Polling method for a filter, which returns an array of logs that occurred since the last poll. A filter must be created by calling either `eth_newFilter` or `eth_newBlockFilter`

### **getFilterLogs(index: `Index`): `Vec<Log>`**

* **interface**: `api.rpc.eth.getFilterLogs`
* **jsonrpc**: `eth_getFilterLogs`
* **summary**: Returns an array of all logs matching filter with given id.

### **getLogs(filter: `Filter`): `Vec<Log>`**

* **interface**: `api.rpc.eth.getLogs`
* **jsonrpc**: `eth_getLogs`
* **summary**: Returns an array of all logs matching a given filter object.

### **getStorageAt(address: `H160`, index: `U256`, number?: `BlockNumber`): `H256`**

* **interface**: `api.rpc.eth.getStorageAt`
* **jsonrpc**: `eth_getStorageAt`
* **summary**: Returns the value from a storage position at a given address.

### **getTransactionByBlockHashAndIndex(hash: `H256`, index: `Index`): `Transaction`**

* **interface**: `api.rpc.eth.getTransactionByBlockHash`
* **jsonrpc**: `eth_getTransactionByBlockHashAndIndex`
* **summary**: Returns information about a transaction by block hash and transaction index position.

### **getTransactionByBlockNumberAndIndex(number: `BlockNumber`, index: `Index`): `Transaction`**

* **interface**: `api.rpc.eth.getTransactionByBlockNumberAndIndex`
* **jsonrpc**: `eth_getTransactionByBlockNumberAndIndex`
* **summary**: Returns information about a transaction by block number and transaction index position.

### **getTransactionByHash(hash: `H256`): `Transaction`**

* **interface**: `api.rpc.eth.getTransactionByHash`
* **jsonrpc**: `eth_getTransactionByHash`
* **summary**: Returns information about a transaction for a given hash.

### **getTransactionCount(address: `H160`, number?: `BlockNumber`): `U256`**

* **interface**: `api.rpc.eth.getTransactionCount`
* **jsonrpc**: `eth_getTransactionCount`
* **summary**: Returns the number of transactions sent from an address.

### **getTransactionReceipt(hash: `H256`): `Receipt`**

* **interface**: `api.rpc.eth.getTransactionReceipt`
* **jsonrpc**: `eth_getTransactionReceipt`
* **summary**: Returns the receipt of a transaction by transaction hash.

### **maxPriorityFeePerGas(): `U256`**

* **interface**: `api.rpc.eth.maxPriorityFeePerGas`
* **jsonrpc**: `eth_maxPriorityFeePerGas`
* **summary**: Introduced in EIP-1159, a Geth-specific and simplified priority fee oracle.

### **newBlockFilter(): `U256`**

* **interface**: `api.rpc.eth.newBlockFilter`
* **jsonrpc**: `eth_newBlockFilter`
* **summary**: Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call `eth_getFilterChanges`.

### **newFilter(filter: `Filter`): `U256`**

* **interface**: `api.rpc.eth.newFilter`
* **jsonrpc**: `eth_newFilter`
* **summary**: Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call `eth_getFilterChanges`

### **protocolVersion(): `u64`**

* **interface**: `api.rpc.eth.protocolVersion`
* **jsonrpc**: `eth_protocolVersion`
* **summary**: Returns the current Ethereum protocol version.

### **sendRawTransaction(bytes: `Bytes`): `H256`**

* **interface**: `api.rpc.eth.sendRawTransaction`
* **jsonrpc**: `eth_sendRawTransaction`
* **summary**: Submits a pre-signed transaction for broadcast to the network.

### **sendTransaction(request: `TransactionRequest`): `H256`**

* **interface**: `api.rpc.eth.sendTransaction`
* **jsonrpc**: `eth_sendTransaction`
* **summary**: Sends transaction; will block waiting for the signer to return the transaction hash.

### **syncing(): `SyncStatus`**

* **interface**: `api.rpc.eth.syncing`
* **jsonrpc**: `eth_syncing`
* **summary**: Returns an object with data about the sync status or false.

### **uninstallFilter(index: `Index`): `bool`**

* **interface**: `api.rpc.eth.uninstallFilter`
* **jsonrpc**: `eth_uninstallFilter`
* **summary**: Uninstalls a filter with given ID. Should always be called when watching is no longer needed. Additionally filters time out when not requested with `eth_getFilterChanges` for a period of time.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bifrostnetwork.com/bifrost-network/developer-documentations/client-api/json-rpc-api/eth.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
