Etherscan v2.0.2 Etherscan.API.Accounts

Module to wrap Etherscan account endpoints.

Etherscan API Documentation

Link to this section Summary

Functions

Get ether balance for a single address

Get ether balance for a list of multiple addresses, up to a maximum of 20

Get a list of blocks mined by address

Get a list of ‘Internal’ transactions by address

Get a list of ‘Internal Transactions’ by transaction_hash

Get the ERC20 token balance of the address for token at token_address

Get a list of ‘Normal’ transactions by address

Get a list of uncles mined by address

Link to this section Functions

Link to this function get_balance(address)
get_balance(address :: String.t()) ::
  {:ok, non_neg_integer()} | {:error, atom()}

Get ether balance for a single address.

Example

iex> Etherscan.get_balance("0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a")
{:ok, 40807.16856607000227086246}
Link to this function get_balances(addresses)
get_balances(addresses :: [String.t()]) :: {:ok, map()} | {:error, atom()}

Get ether balance for a list of multiple addresses, up to a maximum of 20.

Example

iex> addresses = [
  "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
  "0x63a9975ba31b0b9626b34300f7f627147df1f526",
]
iex> Etherscan.get_balances(addresses)
{:ok, [40807.16856607000227086246, 332.56713622282705955513]}
Link to this function get_blocks_mined(address, params \\ %{})
get_blocks_mined(address :: String.t(), params :: map()) ::
  {:ok, [Etherscan.MinedBlock.t()]} | {:error, atom()}

Get a list of blocks mined by address.

Example

iex> params = %{
  page: 1, # Page number
  offset: 10, # Max records returned
}
iex> Etherscan.get_blocks_mined("0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b", params)
{:ok, [%Etherscan.MinedBlock{}]}
Link to this function get_internal_transactions(address, params \\ %{})
get_internal_transactions(address :: String.t(), params :: map()) ::
  {:ok, [Etherscan.InternalTransaction.t()]} | {:error, atom()}

Get a list of ‘Internal’ transactions by address.

Returns up to a maximum of the last 10,000 transactions only.

Example

iex> params = %{
  page: 1, # Page number
  offset: 10, # Max records returned
  sort: "asc", # Sort returned records
  startblock: 0, # Start block number
  endblock: 99999999, # End block number
}
iex> Etherscan.get_internal_transactions("0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a", params)
{:ok, [%Etherscan.InternalTransaction{}]}
Link to this function get_internal_transactions_by_hash(transaction_hash)
get_internal_transactions_by_hash(transaction_hash :: String.t()) ::
  {:ok, [Etherscan.InternalTransaction.t()]} | {:error, atom()}

Get a list of ‘Internal Transactions’ by transaction_hash.

Returns up to a maximum of the last 10,000 transactions only.

Example

iex> Etherscan.get_internal_transactions_by_hash("0x40eb908387324f2b575b4879cd9d7188f69c8fc9d87c901b9e2daaea4b442170")
{:ok, [%Etherscan.InternalTransaction{}]}
Link to this function get_token_balance(address, token_address)
get_token_balance(address :: String.t(), token_address :: String.t()) ::
  {:ok, non_neg_integer()} | {:error, atom()}

Get the ERC20 token balance of the address for token at token_address.

More Info

Example

iex> address = "0xe04f27eb70e025b78871a2ad7eabe85e61212761"
iex> token_address = "0x57d90b64a1a57749b0f932f1a3395792e12e7055"
iex> Etherscan.get_token_balance(address, token_address)
{:ok, 135499}
Link to this function get_transactions(address, params \\ %{})
get_transactions(address :: String.t(), params :: map()) ::
  {:ok, [Etherscan.Transaction.t()]} | {:error, atom()}

Get a list of ‘Normal’ transactions by address.

Returns up to a maximum of the last 10,000 transactions only.

Example

iex> params = %{
  page: 1, # Page number
  offset: 10, # Max records returned
  sort: "asc", # Sort returned records
  startblock: 0, # Start block number
  endblock: 99999999, # End block number
}
iex> Etherscan.get_transactions("0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a", params)
{:ok, [%Etherscan.Transaction{}]}
Link to this function get_uncles_mined(address, params \\ %{})
get_uncles_mined(address :: String.t(), params :: map()) ::
  {:ok, [Etherscan.MinedUncle.t()]} | {:error, atom()}

Get a list of uncles mined by address.

Example

iex> params = %{
  page: 1, # Page number
  offset: 10, # Max records returned
}
iex> Etherscan.get_uncles_mined("0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b", params)
{:ok, [%Etherscan.MinedUncle{}]}