setup node

The Ecocall blockchain has two types of nodes. One is the GPoW node, which uses a graphics card to mine and generate a block header. One is the XPOS node, which uses the validation mechanism to validate transactions, construct block bodies and generate blocks. Both types of nodes have separate software systems that need to be installed independently.

setup GPoW node

GPOW node software is a cross-platform command line program, planned to support Linux, MacOS, Windows three operating system platforms. The installation and deployment methods for the three platforms are basically the same. For now, only Linux systems are supported.

The node software and mining software for Ecocall blockchain testing have been released. The github address is here.

At present, it is mainly the node software EcoBall-rust and the GPU mining software. The corresponding binary files are linked as follows:

EcoBall-rust

gpowminer

(Note: The EcoBall node software has been written in Go before. There is an EcoBall project on GitHub that was later rewritten in Rust, so the project name is appended with Rust.)

Running in Windows 10 environment

At present, there is only Linux version of the node program. If the user does not have a Linux computer and needs to test under Windows, he must install the Linux running environment on Windows. Windows10 is recommended here, because the Linux subsystem is native supported. You can play Linux directly on Windows 10, without the need for a separate installation of software like a virtual machine.

Users can first find the Microsoft Store on Windows 10, and then search “Linux” in the App Store. There are many versions that will appear. The recommended version is Ubuntu 20.04 LTS. If you have a Linux system installed, everything will work the same.

Mining software download

First, create a folder called ecoball in the Linux system as the working directory of the ecoball blockchain system, and enter this folder.

mkdir ecoball

cd ecoball

download node software:

wget https://github.com/EcoBallTech/EcoBall-rust/releases/download/v0.9.9/ecoball-v0.9.9-linux-x64

download mining software:

wget https://github.com/EcoBallTech/gpowminer/releases/download/v0.9.9/gpowminer-v0.9.9-cpu-linux-x64

Depending on the network, this may take a few minutes. Recommended after downloading, change the file name shorter, convenient for the following knock the commands.

mv ecoball-v0.9.9-linux-x64 ecoball

mv gpowminer-v0.9.9-cpu-linux-x64 gpowminer

Downloadable software usually does not have executable permissions, so you need to authorize the file.

chmod +x ecoball

chmod +x gpowminer

Launch the node software

  • create a wallet

Create a wallet to receive the coins you produce

./ecoball --chain=testnet account new

A password prompt appears. Enter the wallet password twice to generate the wallet address. For example, here is the wallet address I generated:

0x01c9a1515ae1d0df16e30f48ab5cbddcfd9413d4

Make a note of your wallet address and password and keep them safe so you'll need them more often in the future.

  • run the node software

Execute the following command, enter the console, can observe the interface character scrolling:

./ecoball --chain=testnet --author=0x01c9a1515ae1d0df16e30f48ab5cbddcfd9413d4 --stratum

Or start the node software to run in the background and output the log to the logfile, which will not be closed due to console shutdown or disconnection:

nohup ./ecoball --chain=testnet --author=0x01c9a1515ae1d0df16e30f48ab5cbddcfd9413d4 --stratum >ecoball.log 2>&1 &

If you need to monitor real-time logs, run the following command:

tail -f ecoball.log

The author here is the address at which the coins are to be mined. If you want to start mining, you must specify an address at which the coins are to be mined.

The above address is a wallet address I created, we can create own wallet, and then changed to own wallet address, for ourself mining.

Launch the mining program

Start mining program, mining program must connect to the node program, execute the following command line start, enter the console, you can observe the interface scroll:

./gpowminer --cpu -P stratum+tcp://127.0.0.1:8008

Or start the mining program to run in the background and output the log to a log file, which will not be closed if the console is closed or disconnected:

nohup ./gpowminer --cpu -P stratum+tcp://127.0.0.1:8008 > gpowminer.log 2>&1 &

If you want to monitor real-time logs, you can run the following command:

tail -f gpowminer.log

TCP ://127.0.0.1:8008 is the address and port of the node program.

basic commands

Curl is a tool you need to test basic commands, and most Linux systems come with .

If the test is performed on a local node machine, the address and port of the node's external service is :http://127.0.0.1:8545.

If the deployment to the public internet, and the domain name resolution, you can access through the domain name, such as http://api.ecoball.org:8545.

The first line of each of the following commands is the request execution and the second line is the return response.

web3_clientVersion

Returns the client version number.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}'

{"jsonrpc":"2.0","result":"EcoBall//v0.9.9-unstable/x86_64-linux-gnu/rustc1.52.1","id":67}

web3_sha3

Returns the keccak-256 of the given value.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":64}'

{"jsonrpc":"2.0","result":"0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad","id":64}

net_version

Returns the current network ID.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'

{"jsonrpc":"2.0","result":"100","id":67}

net_listening

Returns the client listening network connection status.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'

{"jsonrpc":"2.0","result":true,"id":67}

net_peerCount

Returns the number of nodes currently connected to the client.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}'

{"jsonrpc":"2.0","result":"0x1","id":74}

eth_protocolVersion

Returns the current Ethereum protocol version number. Since EcoBall is Ethereum compatible, the protocol version number lets you know if the dApp is suitable for migration.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":67}'

{"jsonrpc":"2.0","result":"65","id":67}

eth_syncing

Returns the current synchronization status.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'

{"jsonrpc":"2.0","result":false,"id":1}

eth_coinbase

Returns the Coinbase address of the current node.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":64}'

{"jsonrpc":"2.0","result":"0x01c9a1515ae1d0df16e30f48ab5cbddcfd9413d4","id":64}

eth_mining

Returns the mining status of the current node.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}'

{"jsonrpc":"2.0","result":true,"id":71}

eth_hashrate

Returns the mining hash rate of the current node.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":71}'

{"jsonrpc":"2.0","result":"0x0","id":71}

eth_gasPrice

Returns the current gas price.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":71}'

{"jsonrpc":"2.0","result":"0x0","id":71}

eth_accounts

Returns the wallet address of the current node.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":71}'

{"jsonrpc":"2.0","result":["0x01c9a1515ae1d0df16e30f48ab5cbddcfd9413d4"],"id":71}

eth_blockNumber

Returns the current block number.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":71}'

{"jsonrpc":"2.0","result":"0xfaf","id":71}

eth_getBalance

Returns the balance of the given wallet address.

curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8545 --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x01c9a1515ae1d0df16e30f48ab5cbddcfd9413d4", "latest"],"id":1}'

{"jsonrpc":"2.0","result":"0xbcec172badbc540000","id":1}

In the JSON object, result is the balance corresponding to the wallet address, the hexadecimal number, which can be converted to base 10, and then divided by 10**18, to get the number of ECO.

setup XPoS node

XPoS node software download

XPoS node software download

XPoS node software deploy

deploy

XPoS node software configuration

configuration

XPoS node software run

run

results matching ""

    No results matching ""