setting up an Ethereum private chain in Mac OS X

Prerequisiti:
XCodeHomebrew, e ovviamente geth (go-ethereum).
Create il file genesis JSON come da istruzioni su Ethereum wiki – test networks e aprite un Terminal:

1
2
geth --datadir "/Users/you/Library/Ethereum_privateChain" 
init "/Users/you/Library/Ethereum_privateChain/genesis.json"

datadir è fondamentale. Se avete già installato in precendenza Ethereum Wallet avrete una directory dove è stata scaricata una copia (o le copie) della blockchain. Se non ne specificate una differente in questo modo, verrà sovrascritto tutto. Occhio.

init fa il vero e proprio boostrap della vostra chain. È avviata, ma manca il primo account. Aprite la console JavaScript in un altro terminal:

1
geth --ipcpath /Users/you/Library/Ethereum/geth.ipc

Create il primo account – o coinbase.

1
personal.newAccount()

Vi chiederà la creazione e la conferma della pw ed al contempo genererà il keystore, la chiave privata per il nuovo address. Vi manca qualche eth per deployare e testare i vostri contratti, quindi minatene alcuni in questo modo:

1
miner.start()

In pochi secondi avrete decine di eth al vostro coinbase.

1
miner.stop()

Controllate il vostro nuovo saldo:

1
web3.eth.getBalance("your_newly_generated_address")

Fatto. Adesso potete usare Ethereum Wallet: punterà alla vostra private chain.

Altro terminal:

1
2
/Applications/Ethereum\ Wallet.app/Contents/MacOS/Ethereum\ Wallet 
--ipcpath /Users/you/Library/Ethereum/geth.ipc

Il wallet si aprirà mostrandovi chiaramente che è collegato ad una PRIVATE-NET.
Il processo non è stato immediato per me, spero con questo breve post di riuscire a risparmiarvi minuti e minuti di hacking.