Contents

eth_call RPC method

Parameters:

  1. Object - The transaction call object, should have this shape:

    from - (optional) String of the address the transaction is sent from.

    to - String of the address the transaction is directed to.

    gas - (optional) Integer of the gas provided for the transaction execution.

    gasPrice - (optional) Integer of the gasPrice used for each paid gas encoded as a hexadecimal.

    value - (optional) Integer of the value sent with this transaction encoded as a hexadecimal.

    data - (optional) String of the hash of the method signature and encoded parameters, see the Ethereum Contract ABI.

  2. Quantity or Tag - Integer block number, or the string 'latest', 'earliest' or 'pending', see the default block parameter.

    Returns:

  1. Data - the return value of executed contract.

Code Examples:

require 'ethereum.rb'
require 'json'
abi = JSON.load '[{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]'

client = Ethereum::HttpClient.new('http://sample-endpoint-name.network.quiknode.pro/token-goes-here/')
contract = Ethereum::Contract.create(client: client, name: "Dai", address: "0x6B175474E89094C44Da98b954EedeAC495271d0F", abi: abi)
contract.gas_limit = 25_000_000
contract.gas_price = 100_000_000_000
response = contract.call.balance_of('0x6E0d01A76C3Cf4288372a29124A26D4353EE51BE')
puts response
Ready to try QuickNode? Start your 7-day free trial