Inside Mac
Mac上でvagrantにguestを追加
bash
vagrant box add "ubuntu-16_0_4" https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-vagrant.box
bash
mkdir ethereum_workspace
bash
cd ethereum_workspace
bash
vagrant init
bash
vi Vagrantfile
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.define "host" do |node|
node.vm.box = "ubuntu-16_0_4"
node.vm.hostname = "ethereum1"
node.vm.network :private_network, ip: "192.168.43.61"
end
config.vm.provider "virtualbox" do |vm|
vm.customize ["modifyvm", :id, "--memory", "2048"]
end
end
bash
vagrant up
bash
vagrant ssh
inside Ubuntu
bash
sudo apt-get update
bash
sudo apt-get install -y build-essential libgmp3-dev golang git tree
bash
cd
bash
git clone https://github.com/ethereum/go-ethereum.git
bash
cd go-ethereum/
bash
git checkout refs/tags/v1.5.5
build
bash
make geth
check geth version
bash
./build/bin/geth version
shell-session
Geth
Version: 1.5.5-stable
Git Commit: ff07d54843ea7ed9997c420d216b4c007f9c80c3
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.6.2
OS: linux
GOPATH=
GOROOT=/usr/lib/go-1.6
bash
sudo cp build/bin/geth /usr/local/bin/
confirm user
bash
id
shell-session
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),109(netdev),110(lxd)
mkdir ~/data_testnet
cd ~/data_testnet
pwd
shell-session
/home/ubuntu/data_testnet
vi genesis.json
genesis.json
{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0",
"gasLimit": "0x8000000",
"difficulty": "0x4000",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": {}
}
Gethを初期化
geth --datadir ~/data_testnet init ~/data_testnet/genesis.json
shell-session
I1219 08:17:08.410343 cmd/utils/flags.go:615] WARNING: No etherbase set and no accounts found as default
I1219 08:17:08.410851 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /home/ubuntu/data_testnet/geth/chaindata
I1219 08:17:08.418139 ethdb/database.go:176] closed db:/home/ubuntu/data_testnet/geth/chaindata
I1219 08:17:08.418272 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /home/ubuntu/data_testnet/geth/chaindata
I1219 08:17:08.423806 cmd/geth/chaincmd.go:131] successfully wrote genesis block and/or chain rule set: 3b3326d56983eec74bcd3c5757801dcd42e0bf2f169fc0c5d695e28e20f217d7
check current status
tree
.
├── genesis.json
├── geth
│ └── chaindata
│ ├── 000002.log
│ ├── CURRENT
│ ├── LOCK
│ ├── LOG
│ └── MANIFEST-000003
└── keystore
start geth
geth --networkid 4649 --nodiscover --maxpeers 0 --datadir /home/ubuntu/data_testnet console 2>> /home/ubuntu/data_testnet/geth.log
Welcome to the Geth JavaScript console!
instance: Geth/v1.5.5-stable-ff07d548/linux/go1.6.2
modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
explanation of option
サービスレベル | サービス名 |
---|---|
--networkid 4649 | ネットワーク識別子(整数)。0 ~ 3 は予約済みです (0=Olympic (disused), 1=Frontier, 2=Morden (disused), 3=Ropsten) (default: 1)。それ以外の数値であれば問題ありません。今回は 4649 を指定 しました。 |
--nodiscover | あなたのノードを、他のノードから検出できないようにするオプションです。ノード追加は手動にな ります。指定しないと、同じ GenesisファイルとネットワークIDのブロックチェーンネットワークにあなたのノードが接続してしまう可能性があります。 |
--maxpeers 0 | あなたのノードに接続できるノード数です。0 を指定すると、他のノードとは接続しなくなります。 |
--datadir /home/ubuntu/data_testnet | データディレクトリを指定します。指定しないと、デフォルトのディレクトリが使用されます。 |
console | 対話型のJavaScriptコンソールを起動します。 |
2>> /home/ubuntu/data_testnet/geth.log | ログファイルを作成するため、エラー出力をリダイレクトします。これは Geth のオプションではあ りません。 |