WoopChain Node Installation

WoopChain Configuration.

WoopChain Query JSON RPC endpoints

WoopChain Query data and start the chain with a premined account.

The JSON-RPC layer of the WoopChain 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:

woop 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 0xD3C21BCECCEDA1000000 (1 million native currency tokens).

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

woop genesis --premine 0x1010101010101010101010101010101010101010:0x123123

The balance can be either a hex  or uint256  value. Only premine accounts for which you have a private key!
If you premine accounts and do not have a private key to access them, you premined balance will not be usable.

Step 2: Start the WoopChain in dev mode

To start the WoopChain in development mode, run the following:

woop 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, you 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}' localhost:8545

The command should return the following output:


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:


var Web3 = require("web3");

const web3 = new Web3 
	; //example: ws://localhost: 10002/ws
web3. eth. accounts
      to: "< recipient address>",
      value: web3.utils.toWei("< value in ETH>"),
      gas: 21000,
  .then( ( signedTxData) => {
      .sendSignedTransaction( signedTxData.rawTransaction)
      .on(" receipt", console.log);