GethをVagrantのUbuntuにインストール
(参考)
https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu
http://loumo.jp/wp/archive/20150626000042/
#vagrantのインストール
vagrant box add ubuntu14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box vagrant init vim Vagrantfile config.vm.box = "ubuntu14.04" vagrant up
#ログイン
vagrant ssh または外部の場合 ssh 192.168.0.1 -l ubuntu
#インストール
sudo apt-get install software-properties-common
(aptパッケージを探すためのユーティリティ)
sudo apt-get install apt-file sudo apt-file update sudo apt-file search add-apt-repository sudo apt-get install software-properties-common
(イーサリアム用のパッケージを入れる)
sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update
(ここでようやくイーサリアムをインストールできる)
sudo apt-get install ethereum
#ポート解放する
sudo ufw status sudo ufw allow 8575 <-Gethで使う sudo ufw allow 80 <-browser-solidityで使う #許可ポート以外閉じる sudo ufw default deny
#準備
sudo apt-get install vim mkdir data_testnet cd data_testnet vim genesis.json -> 設定する
{ "nonce": "0x0000000000000042", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "difficulty": "0x400", "alloc": {}, "coinbase": "0x3333333333333333333333333333333333333333", "timestamp": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x", "gasLimit": "0x8000000", "config": {} }
#初期化 geth --datadir /home/ubuntu/data_testnet/ init /home/ubuntu/data_testnet/genesis.json #ログイン geth --networkid "10" --nodiscover --datadir "/home/ubuntu/data_testnet" console 2>> /home/ubuntu/data_testnet/geth_err.log #ログイン2 geth --mine --minerthreads 2 --identity "sampleNode" --rpc --rpcport 8575 --rpcapi "web3,eth,net,personal" --rpccorsdomain "*" --rpcaddr "0.0.0.0" --datadir "/home/ubuntu/data_testnet" --unlock 0 --nodiscover --networkid 10 console 2>> /home/ubuntu/data_testnet/geth.log
#curlして見る。8575ポートが解放されていて、Gethが起動して入れば疎通できるはず。
curl -X POST http://192.168.0.1:8575/ --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}'
#solcインストール
sudo apt-get install solc solc --version >Version: 0.4.14+commit.c2215d46.Linux.g++ which solc >/usr/bin/solc
#browser-solidityを使えるようにする為にapacheを起動してコードを/var/www/html配下に設置する
sudo apt-get -y install apache2 sudo apt-get install git sudo apt-get install unzip sudo apachectl start cd /var/www/html/ sudo wget https://github.com/ethereum/browser-solidity/archive/gh-pages.zip sudo unzip gh-pages.zip
http://192.168.0.1/browser-solidity-gh-pages/
eth.accounts personal.unlockAccount("0xd9155326452b5e90e81e1a878794b061a7c719ec", "hoge1") personal.unlockAccount("0x5ad66cc65fa30eb8ef7b4ae4935a0dcb28bf4105", "hoge2") eth.sendTransaction({from: "0xd9155326452b5e90e81e1a878794b061a7c719ec", to: "0x5ad66cc65fa30eb8ef7b4ae4935a0dcb28bf4105", value: web3.toWei(1, "ether")})
pragma solidity ^0.4.0; contract sample { int num; function set_num(int n){ num = n; } function get_num() returns(int) { return num; } }