eth

package
v0.0.0-...-aff2438 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2020 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Contract

type Contract struct {
	// contains filtered or unexported fields
}

Contract ...

func (*Contract) Call

func (contract *Contract) Call(transaction *dto.TransactionParameters, functionName string, args ...interface{}) (*dto.RequestResult, error)

func (*Contract) Deploy

func (contract *Contract) Deploy(transaction *dto.TransactionParameters, bytecode string, args ...interface{}) (string, error)

func (*Contract) Send

func (contract *Contract) Send(transaction *dto.TransactionParameters, functionName string, args ...interface{}) (string, error)

type Eth

type Eth struct {
	// contains filtered or unexported fields
}

Eth - The Eth Module

func NewEth

func NewEth(provider providers.ProviderInterface) *Eth

NewEth - Eth Module constructor to set the default provider

func (*Eth) Call

func (eth *Eth) Call(transaction *dto.TransactionParameters) (*dto.RequestResult, error)

Call - Executes a new message call immediately without creating a transaction on the block chain. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_call Parameters:

  1. Object - The transaction call object - from: DATA, 20 Bytes - The address the transaction is send from. - to: DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to. - gas: QUANTITY - (optional, default: 90000) Integer of the gas provided for the transaction execution. It will return unused gas. - gasPrice: QUANTITY - (optional, default: To-Be-Determined) Integer of the gasPrice used for each paid gas - value: QUANTITY - (optional) Integer of the value send with this transaction - data: DATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see Ethereum Contract ABI (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI)
  2. QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending", see the default block parameter: https://github.com/ethereum/wiki/wiki/JSON-RPC#the-default-block-parameter

Returns:

  • DATA - the return value of executed contract.

func (*Eth) CompileSolidity

func (eth *Eth) CompileSolidity(sourceCode string) (types.ComplexString, error)

CompileSolidity - Returns compiled solidity code. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_compilesolidity Parameters:

  1. String - The source code.

Returns:

  • DATA - The compiled source code.

func (*Eth) Contract

func (eth *Eth) Contract(jsonInterface string) (*Contract, error)

func (*Eth) DoCall

func (eth *Eth) DoCall(msg *ethereum.CallMsg, blockNumber *big.Int) (*dto.RequestResult, error)

func (*Eth) EstimateGas

func (eth *Eth) EstimateGas(transaction *dto.TransactionParameters) (*big.Int, error)

EstimateGas - Makes a call or transaction, which won't be added to the blockchain and returns the used gas, which can be used for estimating the used gas. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_estimategas Parameters:

  • See eth_call parameters, expect that all properties are optional. If no gas limit is specified geth uses the block gas limit from the pending block as an upper bound. As a result the returned estimate might not be enough to executed the call/transaction when the amount of gas is higher than the pending block gas limit.

Returns:

  • QUANTITY - the amount of gas used.

func (*Eth) GetBalance

func (eth *Eth) GetBalance(address string, defaultBlockParameter string) (*big.Int, error)

GetBalance - Returns the balance of the account of given address. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getbalance Parameters:

Returns:

  • QUANTITY - integer of the current balance in wei.

func (*Eth) GetBlockByHash

func (eth *Eth) GetBlockByHash(hash string, transactionDetails bool) (*dto.Block, error)

GetBlockByHash - Returns information about a block by hash. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblockbyhash Parameters:

  • DATA, 32 bytes - Hash of a block
  • transactionDetails, bool - indicate if we should have or not the details of the transactions of the block

Returns:

  1. Object - A block object, or null when no transaction was found
  2. error

func (*Eth) GetBlockByNumber

func (eth *Eth) GetBlockByNumber(number *big.Int, transactionDetails bool) (*dto.Block, error)

GetBlockByNumber - Returns the information about a block requested by number. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblockbynumber Parameters:

  • number, QUANTITY - number of block
  • transactionDetails, bool - indicate if we should have or not the details of the transactions of the block

Returns:

  1. Object - A block object, or null when no transaction was found
  2. error

func (*Eth) GetBlockNumber

func (eth *Eth) GetBlockNumber() (*big.Int, error)

GetBlockNumber - Returns the number of most recent block. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_blocknumber Parameters:

  • none

Returns:

  • QUANTITY - integer of the current block number the client is on.

func (*Eth) GetBlockTransactionCountByHash

func (eth *Eth) GetBlockTransactionCountByHash(hash string) (*big.Int, error)

GetBlockTransactionCountByHash Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblocktransactioncountbyhash Parameters:

  • DATA, 32 bytes - block hash

Returns:

  1. QUANTITY, number - number of transactions in the block
  2. error

func (*Eth) GetBlockTransactionCountByNumber

func (eth *Eth) GetBlockTransactionCountByNumber(defaultBlockParameter string) (*big.Int, error)

GetBlockTransactionCountByNumber - Returns the number of transactions in a block matching the given block number Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblocktransactioncountbynumber Parameters:

  • QUANTITY|TAG - integer of a block number, or the string "earliest", "latest" or "pending", as in the default block parameter

Returns:

  • QUANTITY - integer of the number of transactions in this block

func (*Eth) GetCode

func (eth *Eth) GetCode(address string, defaultBlockParameter string) (string, error)

GetCode - Returns code at a given address Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getcode Parameters:

Returns:

  • DATA - the code from the given address.

func (*Eth) GetCoinbase

func (eth *Eth) GetCoinbase() (string, error)

GetCoinbase - Returns the client coinbase address. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_coinbase Parameters:

  • none

Returns:

  • DATA, 20 bytes - the current coinbase address.

func (*Eth) GetGasPrice

func (eth *Eth) GetGasPrice() (*big.Int, error)

GetGasPrice - Returns the current price per gas in wei. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gasprice Parameters:

  • none

Returns:

  • QUANTITY - integer of the current gas price in wei.

func (*Eth) GetHashRate

func (eth *Eth) GetHashRate() (*big.Int, error)

GetHashRate - Returns the number of hashes per second that the node is mining with. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_hashrate Parameters:

  • none

Returns:

  • QUANTITY - number of hashes per second.

func (*Eth) GetProtocolVersion

func (eth *Eth) GetProtocolVersion() (string, error)

GetProtocolVersion - Returns the current ethereum protocol version. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_protocolversion Parameters:

  • none

Returns:

  • String - The current ethereum protocol version

func (*Eth) GetStorageAt

func (eth *Eth) GetStorageAt(address string, position *big.Int, defaultBlockParameter string) (string, error)

GetStorageAt - Returns the value from a storage position at a given address. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getstorageat Parameters:

Returns:

  • DATA - the value at this storage position.

func (*Eth) GetTransactionByBlockHashAndIndex

func (eth *Eth) GetTransactionByBlockHashAndIndex(hash string, index *big.Int) (*dto.TransactionResponse, error)

GetTransactionByBlockHashAndIndex - Returns the information about a transaction requested by block hash. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getTransactionByBlockNumberAndIndex Parameters:

  • DATA, 32 Bytes - hash of a block
  • QUANTITY, number - index of the transaction position

Returns:

  1. Object - A transaction object, or null when no transaction was 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.

func (*Eth) GetTransactionByBlockNumberAndIndex

func (eth *Eth) GetTransactionByBlockNumberAndIndex(blockIndex *big.Int, index *big.Int) (*dto.TransactionResponse, error)

GetTransactionByBlockNumberAndIndex - Returns the information about a transaction requested by block index. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getTransactionByBlockNumberAndIndex Parameters:

  • QUANTITY, number - block number
  • QUANTITY, number - transaction index in block

Returns:

  1. Object - A transaction object, or null when no transaction was 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.

func (*Eth) GetTransactionByHash

func (eth *Eth) GetTransactionByHash(hash string) (*dto.TransactionResponse, error)

GetTransactionByHash - Returns the information about a transaction requested by transaction hash. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionbyhash Parameters:

  • DATA, 32 Bytes - hash of a transaction

Returns:

  1. Object - A transaction object, or null when no transaction was 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.

func (*Eth) GetTransactionCount

func (eth *Eth) GetTransactionCount(address string, defaultBlockParameter string) (*big.Int, error)

GetTransactionCount - Returns the number of transactions sent from an address. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionaccount Parameters:

Returns:

  • QUANTITY - integer of the number of transactions sent from this address

func (*Eth) GetTransactionReceipt

func (eth *Eth) GetTransactionReceipt(hash string) (*dto.TransactionReceipt, error)

GetTransactionReceipt - Returns compiled solidity code. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionreceipt Parameters:

  1. DATA, 32 Bytes - hash of a transaction.

Returns:

  1. Object - A transaction receipt object, or null when no receipt was found: - transactionHash: DATA, 32 Bytes - hash of the transaction. - transactionIndex: QUANTITY - integer of the transactions index position in the block. - blockHash: DATA, 32 Bytes - hash of the block where this transaction was in. - blockNumber: QUANTITY - block number where this transaction was in. - cumulativeGasUsed: QUANTITY - The total amount of gas used when this transaction was executed in the block. - gasUsed: QUANTITY - The amount of gas used by this specific transaction alone. - contractAddress: DATA, 20 Bytes - The contract address created, if the transaction was a contract creation, otherwise null. - logs: Array - Array of log objects, which this transaction generated.

func (*Eth) GetUncleCountByBlockHash

func (eth *Eth) GetUncleCountByBlockHash(hash string) (*big.Int, error)

GetUncleCountByBlockHash - Returns the number of uncles in a block from a block matching the given block hash. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getunclecountbyblockhash Parameters:

  • DATA, 32 bytes - Hash of a block

Returns:

  • QUANTITY, number - integer of the number of uncles in this block
  • error

func (*Eth) GetUncleCountByBlockNumber

func (eth *Eth) GetUncleCountByBlockNumber(quantity *big.Int) (*big.Int, error)

GetUncleCountByBlockNumber - Returns the number of uncles in a block from a block matching the given block number. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getunclecountbyblocknumber Parameters:

  • QUANTITY, number - integer of a block number

Returns:

  • QUANTITY, number - integer of the number of uncles in this block
  • error

func (*Eth) IsMining

func (eth *Eth) IsMining() (bool, error)

IsMining - Returns true if client is actively mining new blocks. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_mining Parameters:

  • none

Returns:

  • Boolean - returns true of the client is mining, otherwise false.

func (*Eth) IsSyncing

func (eth *Eth) IsSyncing() (*dto.SyncingResponse, error)

IsSyncing - Returns an object with data about the sync status or false. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_syncing Parameters:

  • none

Returns:

  • Object|Boolean, An object with sync status data or FALSE, when not syncing:
  • startingBlock: QUANTITY - The block at which the import started (will only be reset, after the sync reached his head)
  • currentBlock: QUANTITY - The current block, same as eth_blockNumber
  • highestBlock: QUANTITY - The estimated highest block

func (*Eth) ListAccounts

func (eth *Eth) ListAccounts() ([]string, error)

ListAccounts - Returns a list of addresses owned by client. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_accounts Parameters:

  • none

Returns:

  • Array of DATA, 20 Bytes - addresses owned by the client.

func (*Eth) NewContract

func (eth *Eth) NewContract(abi string) (*Contract, error)

NewContract - Contract abstraction

func (*Eth) SendRawTransaction

func (eth *Eth) SendRawTransaction(rawTx []byte) (string, error)

func (*Eth) SendTransaction

func (eth *Eth) SendTransaction(transaction *dto.TransactionParameters) (string, error)

SendTransaction - Creates new message call transaction or a contract creation, if the data field contains code. Reference: https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction Parameters:

  1. Object - The transaction object - from: DATA, 20 Bytes - The address the transaction is send from. - to: DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to. - gas: QUANTITY - (optional, default: 90000) Integer of the gas provided for the transaction execution. It will return unused gas. - gasPrice: QUANTITY - (optional, default: To-Be-Determined) Integer of the gasPrice used for each paid gas - value: QUANTITY - (optional) Integer of the value send with this transaction - data: DATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see Ethereum Contract ABI (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) - nonce: QUANTITY - (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce.

Returns:

  • DATA, 32 Bytes - the transaction hash, or the zero hash if the transaction is not yet available.

Use eth_getTransactionReceipt to get the contract address, after the transaction was mined, when you created a contract.

func (*Eth) SignTransaction

func (eth *Eth) SignTransaction(transaction *dto.TransactionParameters) (*dto.SignTransactionResponse, error)

SignTransaction - Signs transactions without dispatching it to the network. It can be later submitted using eth_sendRawTransaction. Reference: https://wiki.parity.io/JSONRPC-eth-module.html#eth_signtransaction Parameters:

  1. Object - The transaction call object - from: DATA, 20 Bytes - The address the transaction is send from. - to: DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to. - gas: QUANTITY - (optional, default: 90000) Integer of the gas provided for the transaction execution. It will return unused gas. - gasPrice: QUANTITY - (optional, default: To-Be-Determined) Integer of the gasPrice used for each paid gas - value: QUANTITY - (optional) Integer of the value send with this transaction - data: DATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see Ethereum Contract ABI (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) - nonce: QUANTITY - (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce.

Returns:

  1. Object - A transaction sign result object - raw: DATA - The signed, RLP encoded transaction. - tx: Object - A transaction object - 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.

Use eth_sendRawTransaction to submit the transaction after it was signed.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL