Summary

Here is what we what to do. Run two instances of Geth as two local nodes on a single Windows machine. Run Mist wallet to connect to one of the Geth instances, and send a payment from one account to another account.

Download the following:

Geth (https://geth.ethereum.org/downloads/) : version 1.7.0 for Windows

Mist Wallet/Browser (https://github.com/ethereum/mist/releases): 0.9.0 for windows; Ethereum-Wallet-win64-0-9-0.zip

Add a environment path to Geth so that you can run it in any command window.

Step by Step

Copy this genesis block instruction to genesis.json (snitched this from ethereum blog)

{

“config”: {

“chainId”: 15,

“homesteadBlock”: 0,

“eip155Block”: 0,

“eip158Block”: 0

},

“difficulty”: “200000000”,

“gasLimit”: “2100000”,

“alloc”: {

“7df9a875a174b3bc565e6424a0050ebc1b2d1d82”: { “balance”: “300000” },

“f41c74c9ae680c1aa78f42e5647a62f353b7bdde”: { “balance”: “400000” }

}

}

Decide on two data directory (folder location) for Geth because we want to run two instance of Geth. Here we use “/1” and “/2” directories.

Open a Windows command window at a suitable folder. Copy genesis.json to this location. This folder should be the parent folder of the two data directories mentioned above.

Starting node 1

[NOTE: all the geth command flags uses double dashes — ]

First create a genesis block. Open a command window:

geth –datadir=”./1″ -verbosity 3 init genesis.json

Then open a Geth console, type in the same command window:

geth –datadir=”./1″ -verbosity 3 –port 30301 –rpcport 8101 –rpc –rpcapi eth,web3,personal,net –identity “MyNode” –networkid 2001 console

Note: personal management API must be open for communication with Mist wallet; as specified in the –rpcapi flag. Keep the command window open.

Starting node 2

Open another command window, create a genesis block then open a console:

geth –datadir=”./2″ –verbosity 3 init genesis.json

geth –datadir=”./2″ –verbosity 3 –port 30302 –rpcport 8012 –rpc –rpcaddr “0.0.0.0” –ipcdisable –networkid 2001 console

Note: You can multiple instance of the Geth on different ports using –port flag and just run all Geth instance with –ipcdisable flag

Keep the command window open.

Linking the two Geth nodes

At node 1, at the command window console type:

admin.nodeInfo

You should see the enode address. Copy that address.

At node 2, run this command:

admin.addPeer(<enode of node 1>)

For example: admin.addPeer(“enode://4c63f59fb01374c40963685ff9df55c84cc7db63deee714bc4a7f7147bd315738c390a492dbbf417629e3aa2c9ec203f7a8a123e137b976bef2f9399a102e204@0.0.0.0:30301”)

Check that it works, at the console (any or both), type the following command separately (one after another):

net.peerCount

net.peers

Create Accounts

On each node console, type:

personalNewAccount(“<Passphrase>”)

This will create a new account for each node. You can use this account to send or receive Ethereum tokens. Mining operations will also add this account. You have to remember the <Passphrase> to send tokens.

To see accounts created, type:

personal.listAccounts

To unlock accounts for non-interactive use:

personal.unlockAccount

Mining

To start mining at Geth (Node 1 or both) console type:

miner.start()

Running Mist

Open another Windows command window, preferably where Mist is installed. Start a Mist wallet and connect with rpcport settings of the first Geth node:

mist –rpc http://127.0.0.1:8012

Note the port number must be the same as specified in Node 1. If you have been mining a while you can see the MAIN ACCOUNT (ETHERBASE) will have some ether. You can use this ether to send to another account in Node 2.

New Transaction Image

Confirmed Transaction (An earlier transaction)

END