Skip to content
Viktor Trón edited this page May 7, 2015 · 10 revisions

Mining with Geth

When you start up your ethereum node with geth it is not mining by default. To start it in mining mode, you use the -mine command line option. The -minerthreads parameter can be used to set the number parallel mining threads (defaulting to the total number of processor cores).

geth --mine --minerthreads=4

You can also start and stop mining at runtime using the console.

> admin.miner.start()
true
> admin.miner.stop()
true

In order to earn ether through you need to have a coinbase (or etherbase) address set. This etherbase defaults to your primary account. If you got no etherbase address set, then geth --mine will not start up.

> eth.coinbase
'0x'
> admin.newAccount()
The new account will be encrypted with a passphrase.
Please enter a passphrase now.
Passphrase:
Repeat Passphrase:
'ffd25e388bf07765e6d7a00d6ae83fa750460c7e'
> eth.coinbase
'0xffd25e388bf07765e6d7a00d6ae83fa750460c7e'

Note that your coinbase does not need to be an address of a local account, just an existing one.

eth.accounts
[]
eth.coinbase = 'a4d8e9cae4d04b093aac82e6cd355b6b963fb7ff'

There is an option to add extra Data (up to the limit of 1Kb) to your mined blocks. By convention this is interpreted as a unicode string, so you can set your vanity tag.

admin.miner.setExtra("ΞTHΞЯSPHΞЯΞ")
...
admin.debug.printBlock(131805)
BLOCK(be465b020fdbedc4063756f0912b5a89bbb4735bd1d1df84363e05ade0195cb1): Size: 531.00 B TD: 643485290485 {
NoNonce: ee48752c3a0bfe3d85339451a5f3f411c21c8170353e450985e1faab0a9ac4cc
Header:
[
...
        Coinbase:           a4d8e9cae4d04b093aac82e6cd355b6b963fb7ff
        Number:             131805
        Extra:              ΞTHΞЯSPHΞЯΞ
...
}

You can check your hashrate with admin.miner.hashrate , the result is in KH/s (1000 Hash operations per second).

> admin.miner.hashrate()
712

After you successfully mined some blocks, you can check the ether balance of your coinbase account. Now assuming your coinbase is a local account:

> eth.getBalance(eth.coinbase).toNumber();
'34698870000000' 

In order to spend your earnings on gas to transact, you will need to have this account unlocked.

> admin.unlock(eth.coinbase)
Please enter a passphrase now.
Passphrase:
true

GPU mining

TODO Using a graphic card processor chip for mining.

Resources:

Clone this wiki locally