Bitroot
  • Bitroot Beginner’s Guide
    • What is Blockchain?
    • Why Use Blockchain?
    • Why Choose Bitroot?
  • About Bitroot
  • Core Products and Solutions
    • Bitroot Protocol Layer
    • BitrootNetwork Parallel Public Chain
    • Bitroot CeDeFi
  • Parallel Architecture and Technical Principles
  • Developer documentation
    • EVM(general)
    • EVM with Hardhat
    • EVM with Foundry
  • Reference
    • Bitroot's EVM RPC
    • Transactions
    • Viewing Tokens in MetaMask
  • Divergence from Ethereum
  • Product Manual and User Guide
    • Bitroot test network information
    • Bitroot Testnet Test Coin Claim
    • Add Bitroot network information
    • Swap
    • Adding Liquidity and Remove Liquidity
  • Token economic model and governance
    • Token issuance and distribution
    • Community Governance and Decision-making Mechanism
  • Participation in ecological co-construction
    • User participation
    • Developer Participation
  • Community, Ecology and Partners
  • Roadmap and future planning
  • Wallets
  • Block Explorers
  • FAQ
  • Brand Kit
  • Bitroot Official Link
Powered by GitBook
On this page
  1. Reference

Bitroot's EVM RPC

PreviousReferenceNextTransactions

Last updated 1 month ago

Bitroot supports the standard

Standard endpoints

  • Request

    • HTTP method: always “GET”.

    • header: accept: application/json

    • header: content-type: application/json

    • body (JSON):

    • id: an arbitrary string identifier.

    • jsonrpc: always “2.0”.

    • method: endpoint name (e.g. “eth_sendRawTransaction”).

    • params: an array that differs from endpoint to endpoint.

  • Response

    • body (JSON):

    • id: the same identifier in request.

    • jsonrpc: always “2.0”.

    • result: an object that differs from endpoint to endpoint.

Send Transactions


eth_sendRawTransaction

Sends a signed transaction.

  • Parameters:

Type
Description

string

The hex-encoding of the signed transaction.

Result:

Type
Description

string

The transaction hash.

bitroot_associate

Sends a transaction to establish association between the signer’s Bitroot address and EVM address on-chain.

  • Parameters:

Type
Description

object

A custom object containing a string message and the v, r, s of the signed message.

Object Schema:

{
    custom_message: // Any string message
    r: // The R-part of the signature over the Keccak256 hash of the custom message.
    s: // The S-part of the signature over the Keccak256 hash of the custom message.
    v: // The V-part of the signature over the Keccak256 hash of the custom message.
}

Transaction Lookup


eth_getTransactionReceipt

Gets the receipt of a sent transaction

  • Parameters:

Type
Description

string

The transaction hash.

Result:

Type
Description

object

eth_getTransactionByBlockNumberAndIndex

Gets transaction by the block number and the index of the transaction in the block

  • Parameters:

Type
Description

string

The block number, which can either be a hexadecimal number, or one of “safe”, “finalized”, “latest”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Bitroot due to its instant finality.

string

The transaction index as a hexadecimal number.

  • Result:

Type
Description

object

eth_getTransactionByBlockHashAndIndex

Gets transaction by the block hash and the index of the transaction in the block.

  • Parameters:

Type
Description

string

The block hash.

string

The transaction index as a hexadecimal number.

  • Result:

Type
Description

object

eth_getTransactionByHash

Gets transaction by the transaction hash.

  • Parameters:

Type
Description

string

The transaction hash.

  • Result:

Type
Description

object

Account Information


eth_getTransactionCount

Gets the number of transactions sent by the account

  • Parameters:

Type
Description

string

The address to look up.

string

The block number, which can either be a hexadecimal number, or one of “safe”, “finalized”, “latest”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

  • Result:

Type
Description

string

The hexadecimal form of the number of transactions.

eth_getBalance

Gets the balance in wei (i.e. 10^-12 ubrt) of the account

  • Parameters:

Type
Description

string

The address to look up.

string

The block number or hash, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

  • Result:

Type
Description

string

The hexadecimal form of the wei balance.

eth_getCode

Gets EVM code stored at the account address

  • Parameters:

Type
Description

string

The address to look up.

string

The block number or hash, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

  • Result:

Type
Description

string

The hexadecimal form of the code binary.

eth_getStorageAt

Gets value at given key of the account

  • Parameters:

Type
Description

string

The address to look up.

string

The hexadecimal form of the key.

string

The block number or hash, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

  • Result:

Type
Description

string

The hexadecimal form of the storage value.

eth_getProof

Gets the IAVL proof (note: not a MPT proof) of the given keys for an account.

  • Parameters:

Type
Description

string

The address to look up.

string[]

The hexadecimal form of the keys.

string

The block number or hash, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

  • Result:

Type
Description

object

An object with data from the IAVL proof.

Object Schema:

{
    address: // The requested address.
    hexValues: // An array of the hexdecimal form of the values at the given keys.
    storageProof: // An array of storage proofs.
}

Block Information


eth_getBlockTransactionCountByNumber

Gets the count of EVM transactions (i.e. excluding native Cosmos transactions) in a block by its number.

  • Parameters:

Type
Description

string

The block number, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Bitroot due to its instant finality.

  • Result:

Type
Description

string

The hexadecimal form of the count.

eth_getBlockTransactionCountByHash

Gets the count of EVM transactions (i.e. excluding native Cosmos transactions) in a block by its hash.

  • Parameters:

Type
Description

string

The block hash.

  • Result:

Type
Description

string

The hexadecimal form of the count.

eth_getBlockByHash

Gets the block metadata and/or its EVM transactions by block hash

  • Parameters:

Type
Description

string

The block hash.

bool

Whether to include transactions in the response.

  • Result:

Type
Description

string

eth_getBlockByNumber

Gets the block metadata and/or its EVM transactions by block number.

  • Parameters:

Type
Description

string

The block number, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

bool

Whether to include transactions in the response.

  • Result:

Type
Description

string

eth_getBlockReceipts

Gets an array of EVM transaction receipt in a block by block number

  • Parameters:

Type
Description

string

The block number, which can be one of 1. block hash, 2. hexadecimal block number, 3. one of “safe”, “finalized”, “latest”, “pending”, or “earliest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

  • Result:

Type
Description

object[]

Blockchain Information


eth_blockNumber

Gets the latest committed block number.

  • Parameters:

None

  • Result:

Type
Description

string

The hexadecimal form of the block number.

eth_chainId

Gets the chain ID.

  • Parameters:

None

  • Result:

Type
Description

string

The hexadecimal form of the chain ID.

eth_coinbase

Gets the fee collector address.

  • Parameters:

None

  • Result:

Type
Description

string

The address of the fee collector.

eth_feeHistory

Gets fee history over the requested block range.

  • Parameters:

Type
Description

string

The number of blocks to look at, in either decimal or hexadecimal form.

string

The block number, which can either be a hexadecimal number, or one of “safe”, “finalized”, or “latest”. Note that “safe”, “finalized”, and “latest” mean the same thing on Sei due to its instant finality.

float[]

The reward percentiles.

  • Result:

Type
Description

object

The fee history over the requested block range.

eth_gasPrice

Gets the 50% percentile of gas prices in the most recent block.

  • Parameters:

None

  • Result:

Type
Description

string

The hexadecimal form of the gas price.

net_version

Gets the version (equal to Chain ID).

  • Parameters:

None

  • Result:

Type
Description

string

The hexadecimal form of the chainID.

web3_clientVersion

  • Parameters:

None

  • Result:

Type
Description

string

The RPC node’s runtime version.

Filter Endpoints


Note that log filters are subject to the following limits by default:

  • 10000 logs in one response if block range is open-ended

  • 2000 blocks to query over if block range is close-ended

Your RPC provider may tweak these limits.

eth_newFilter

Creates a new log filter for later queries.

  • Parameters:

Type
Description

object

  • Result:

Type
Description

string

The newly created filter’s ID.

eth_newBlockFilter

Creates a new block filter for later queries.

  • Parameters:

None

  • Result:

Type
Description

string

The newly created filter’s ID.

eth_getFilterChanges

Gets all the updates since the filter was last queried.

  • Parameters:

Type
Description

string

The filter ID.

  • Result:

Type
Description

string[] OR object[]

eth_getFilterLogs

Get all logs for a given log filter, including the logs that have been returned before.

  • Parameters:

Type
Description

string

The filter ID.

  • Result:

Type
Description

object[]

eth_getLogs

Get all logs for the given filter criteria.

  • Parameters:

Type
Description

object

  • Result:

Type
Description

object[]

When using this query, the logIndex is not unique. These queries are also limited to 2000 blocks or 10,000 logs (whichever comes first). If 10,000 logs are returned, it’s recommended to split and re-run the query in smaller chunks to ensure all logs are captured. There are no warnings when these limits are exceeded.

eth_uninstallFilter

Removes a created filter.

  • Parameters:

Type
Description

string

The filter ID.

  • Result:

Type
Description

bool

Whether the filter existed.

Simulation Endpoints


eth_estimateGas

eth_call

The .

The .

The .

The .

The .

The .

An array of .

The .

For block filters, the result would be an array of block hashes; for log filters, the result would be an array of .

An array of .

The .

An array of .

Same as .

Same as .

Ethereum JSON-RPC API
the official specification 
the official specification 
receipt object 
transaction details 
transaction details 
transaction details 
block info 
block info 
receipt objects 
filter criteria 
log objects 
log objects 
filter criteria 
log objects