Friday, April 22, 2016

How to mine Ethereum on Microsoft Windows 64 bit - geth

These instructions have been tested on Microsoft Windows 10 64 bit, 4GB RAM, with an ATI video card.

Geth is software which communicates with the Ethereum network, a block chain crypto-currency and global programming network.

Download the latest version of geth at
Put geth in a convenient directory, like c:

Open a command prompt by pressing Windows button and typing: cmd
Navigate to the geth directory and unzip the files.

Using a strong password which you will remember, create an account address.
C:\Geth-Win64-20160401105807-1.3.6-9e323d6>.\geth account new
Your new account is locked with a password. Please give a password. Do not forget this password.
Repeat Passphrase:
Address: {long_address_string_____________________}

The account keys are stored in <DATADIR>/keystore.
View the new account key in directory: cd %APPDATA%\Ethereum

Display the geth version.
C:\Geth-Win64-20160401105807-1.3.6-9e323d6>.\geth version
Version: 1.3.6
Protocol Versions: [63 62 61]
Network Id: 1
Go Version: go1.5.1
OS: windows

Start geth to download and synchronize the block chain.
C:\Geth-Win64-20160401105807-1.3.6-9e323d6>.\geth --rpc
I0411 16:54:24.451793    4296 database.go:71] Alloted 16MB cache to C:\Users\mswindows_username\AppData\Roaming\Ethereum\chaindata
I0411 16:54:25.233804    4296 database.go:71] Alloted 16MB cache to C:\Users\mswindows_username\AppData\Roaming\Ethereum\dapp
I0411 16:54:25.270260    4296 backend.go:314] Protocol Versions: [63 62 61], Network Id: 1
I0411 16:54:25.351417    4296 backend.go:362] Blockchain DB Version: 3
I0411 16:54:25.582006    4296 blockchain.go:214] Last header: #99215 [babce72f…] TD=166437631468780593
I0411 16:54:25.585960    4296 blockchain.go:215] Last block: #99215 [babce72f…] TD=166437631468780593
I0411 16:54:25.592422    4296 blockchain.go:216] Fast block: #99215 [babce72f…] TD=166437631468780593
I0411 16:54:25.787411    4296 cmd.go:115] Starting Geth/v1.3.6/windows/go1.5.1
I0411 16:54:25.800840    4296 server.go:311] Starting Server
I0411 16:54:27.043156    4296 udp.go:212] Listening, enode://e4f5fd7e13e73e227bbe2f5ca4001f4872ef24379199fe290b99df65bad9dc6f98248dfd0554bffc318973dc7eae21a17a934199e869133201af7e8331418b51@[::]:30303
I0411 16:54:27.052664    4296 backend.go:526] Server started
I0411 16:54:27.052664    4296 server.go:552] Listening on [::]:30303
I0411 16:54:27.073593    4296 ipc.go:112] IPC service started (\\.\pipe\geth.ipc)
I0411 16:54:47.054104    4296 downloader.go:288] Block synchronisation started
I0411 16:56:24.358034    4296 blockchain.go:1251] imported 256 block(s) (0 queued 0 ignored) including 58 txs in 7.7356549s. #99471 [7378a4ef / 0ed10e27]
I0411 16:56:28.799755    4296 blockchain.go:1251] imported 256 block(s) (0 queued 0 ignored) including 51 txs in 4.4371818s. #99727 [5b7e1e92 / 70ef8fdb]

Geth will acquire blocks in chunks of 256 (the first chunk can take minutes to appear). In the geth output, you will typically see low "txs" numbers and importing one block at a time when the block chain is synchronized.
With a web broswer, go to and look at "BEST BLOCK". Geth will be done downloading the block chain when your machine shows the "best block" number.

After the block chain is synchronized, end the geth process by pressing: ctrl-c
I0415 12:45:31.430682    4296 blockchain.go:1251] imported 1 block(s) (0 queued 0 ignored) including 0 txs in 8.981ms. #1342669 [ebc34c57 / ebc34c57]
I0415 12:45:35.800612    4296 blockchain.go:1251] imported 1 block(s) (0 queued 0 ignored) including 6 txs in 42.0009ms. #1342670 [9e7e42f5 / 9e7e42f5]
I0415 12:46:00.582403    4296 blockchain.go:1251] imported 1 block(s) (0 queued 0 ignored) including 5 txs in 29.5749ms. #1342671 [0f1555a6 / 0f1555a6]
I0415 12:46:17.510895    4296 cmd.go:124] Got interrupt, shutting down...
I0415 12:46:17.617873    4296 blockchain.go:690] Chain manager stopped
I0415 12:46:17.621902    4296 handler.go:192] Stopping ethereum protocol handler...
I0415 12:46:17.624903    4296 handler.go:202] Ethereum protocol handler stopped
I0415 12:46:17.628907    4296 tx_pool.go:156] Transaction pool stopped
I0415 12:46:17.650008    4296 backend.go:630] Automatic pregeneration of ethash DAG OFF (ethash dir: C:\Users\mswindows_username\AppData\Ethash)
I0415 12:46:17.719083    4296 database.go:158] closed db: C:\Users\mswindows_username\AppData\Roaming\Ethereum\chaindata
I0415 12:46:17.728089    4296 database.go:158] closed db: C:\Users\mswindows_username\AppData\Roaming\Ethereum\dapp

List the new account.
.\geth account list

Using geth console, verify there are zero rewards on the new account address.
.\geth console
web3.fromWei(eth.getBalance(eth.coinbase), "ether")

Geth has now been downloaded, an account has been created, and the existing block chain has been downloaded.

The next step is to download the Ethereum miner.

No comments:

Post a Comment