Mining guide

Introduction

In the ChaCha3 network, mining is the process of finding valuable asteroids, or what we would call blocks in most cryptocurrencies. The difference is that ChaCha3 blocks uses the block parameters, known as meta data, to represent the asteroid characteristic as block mining solution.

For the more detailed explanation about the blocks, you can read about it here. For this section, we'll just focus on how to run the miner.

About the miner

The miner that we would be using is the built-in miner that comes with the ChaCha3 core. It's a CPU-based miner and the only officially supported implementation. If you have not installed the ChaCha3 core, refer to the guide here.

Preparations

Before you start mining, it's best to ensure that your chain is as up to date as possible. Run chainInfo to check that you have sufficient chain length.

$ chainInfo

You also have to make sure you have a least some reachable peers, otherwise you would not be able to update and publish blocks. Ensure to have active peers in the peers list.

$ listPeers

Setup wallet

You need to setup a wallet to provide an address to receive the mining reward. You can use any of your wallets for this. To provide as an example, we'll create a wallet for this purpose.

$ createWallet label:"Mining Wallet"

Run miner

Now you can run the miner provided you have the receiving address.

$ startMiner address:0x004c83224cfc2e16dc21293a39fed47e5ae5f78803ee097ca4

You can omit the address field if you have already used selectWallet to select a default wallet. Then, that wallet would be used to receive the mining rewards. You can check at any time if the miner is currently running by calling minerStatus

$ minerStatus
Miner
Is Mining: Yes

To stop the miner run stopMiner

$ stopMiner

When you have successfully mined a block, you would see the changes reflect in your account balance.