Skip to main content

Query JSON RPC endpoints

Overview

The JSON-RPC layer of the dogechain provides developers with the functionality of easily interacting with the blockchain, through HTTP requests.

This example covers using tools like curl to query information, as well as starting the chain with a premined account, and sending a transaction.

Step 1: Create a genesis file with a premined account

To generate a genesis file, run the following command:

dogechain genesis --premine 0x1010101010101010101010101010101010101010

The premine flag sets the address that should be included with a starting balance in the genesis file.
In this case, the address 0x1010101010101010101010101010101010101010 will have a starting default balance of 0x3635C9ADC5DEA00000 wei.

If we wanted to specify a balance, we can separate out the balance and address with a :, like so:

dogechain genesis --premine 0x1010101010101010101010101010101010101010:0x123123

The balance can be either a hex or uint256 value.

Step 2: Start the dogechain in dev mode

To start the dogechain in development mode, which is explained in the CLI Commands section, run the following:

dogechain server --chain genesis.json --dev --log-level debug

Step 3: Query the account balance

Now that the client is up and running in dev mode, using the genesis file generated in step 1, we can use a tool like curl to query the account balance:

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x1010101010101010101010101010101010101010", "latest"],"id":1}' https://rpc-testnet.dogechain.dog

The command should return the following output:

{
"id":1,
"result":"0x100000000000000000000000000"
}

Step 4: Send a transfer transaction

Now that we've confirmed the account we set up as premined has the correct balance, we can transfer some ether:

dogechain txpool add --nonce 0 --from 0x1010101010101010101010101010101010101010 --to 0x0000000000000000000000000000000000000010 --value 0x100

The txpool add command adds the transaction to the transaction pool.

In this case, the transfer is from 0x1010101010101010101010101010101010101010 to 0x0000000000000000000000000000000000000010, with the value being 0x100 wei.