2017年6月23日金曜日

Ethereumを動かしてみた

ブロックチェーン基盤の1つであるEtheruemを動かしてみる。

  • Etheruemの実行基盤として、GethとEthの2種類ある。GethはGO言語で記載されている。EthはC++言語で記載されている。今回はGethのほうを動かす。
  • 本番用ネットワークではなく、テスト用のネットワーク(通称:テストネット)につないでみる。
  • 構築環境はUbuntu OSを利用する。

  1. 最初に、必要なパッケージ一式をダウンロードする。

    $ apt-get install software-properties-common
  2. レポジトリにEtheruemを追加する。

    $ add-apt-repository -y ppa:ethereum/ethereum
    $ add-apt-repository -y ppa:ethereum/ethereum-dev
  3. Etheruem資材一式をダウンロードする。

    $ apt-get update
    $ apt-get install ethereum
  4. データディレクトリを作成する。

    $ mkdir /home/bushidoyasu/etheruem_data
  5. テストネットにつないでみる。デーモンではなく、コンソールモードで起動する。

    $  geth --networkid "10" --datadir "/home/bushidoyasu/etheruem_data"   console
    WARN [06-23|21:10:08] No etherbase set and no accounts found as default
    INFO [06-23|21:10:08] Starting peer-to-peer node               instance=Geth/v1.6.6-stable-10a45cb5/linux-amd64/go1.8.1
    INFO [06-23|21:10:08] Allocated cache and file handles         database=/home/bushidoyasu/etheruem_data/geth/chaindata cache=128 handles=1024
    INFO [06-23|21:10:08] Initialised chain configuration          config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Metropolis: 9223372036854775807 Engine: ethash}"
    INFO [06-23|21:10:08] Disk storage enabled for ethash caches   dir=/home/bushidoyasu/etheruem_data/geth/ethash count=3
    INFO [06-23|21:10:08] Disk storage enabled for ethash DAGs     dir=/root/.ethash                               count=2
    INFO [06-23|21:10:08] Initialising Ethereum protocol           versions="[63 62]" network=10
    INFO [06-23|21:10:08] Loaded most recent local header          number=0 hash=d4e567…cb8fa3 td=17179869184
    INFO [06-23|21:10:08] Loaded most recent local full block      number=0 hash=d4e567…cb8fa3 td=17179869184
    INFO [06-23|21:10:08] Loaded most recent local fast block      number=0 hash=d4e567…cb8fa3 td=17179869184
    INFO [06-23|21:10:08] Starting P2P networking
    INFO [06-23|21:10:11] UDP listener up                          self=enode://455d82dddebbb30f51d98cdddd674c4c7ea91a74e226f5a7b51f5dc38bc8b1266e33bd55771633f2f20f74fb1c159b0ca13e51bc5bb53e425231c24cd6836071@[::]:30303
    INFO [06-23|21:10:11] RLPx listener up                         self=enode://455d82dddebbb30f51d98cdddd674c4c7ea91a74e226f5a7b51f5dc38bc8b1266e33bd55771633f2f20f74fb1c159b0ca13e51bc5bb53e425231c24cd6836071@[::]:30303
    INFO [06-23|21:10:11] IPC endpoint opened: /home/bushidoyasu/etheruem_data/geth.ipc
    Welcome to the Geth JavaScript console!

    instance: Geth/v1.6.6-stable-10a45cb5/linux-amd64/go1.8.1
    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


    >
    上記でノードが立ち上がった。
  6. アカウントの作成してみる。
    > personal.newAccount("bushitya")
    "0x9dff1a413f42870453f2d2bb9c105cdd0108897b"
    INFO [06-23|21:14:19] New wallet appeared                      url=keystore:///home/bushidoyasu/et… status=Locked
    >
    > eth.accounts
    ["0x9dff1a413f42870453f2d2bb9c105cdd0108897b"]
  7. さっそく、発掘してみる。
    > miner.start()
    INFO [06-23|21:15:38] Updated mining threads                   threads=0
    INFO [06-23|21:15:38] Transaction pool price threshold updated price=18000000000
    ・・・
  8. しばらく放置して、自分のアカウントにEtheコインがふえているかを確認する。
    > eth.getBalance("0x9dff1a413f42870453f2d2bb9c105cdd0108897b")
    0

    0コイン。。。テストネットといえど、発掘の道は厳しい。。。。。。

0 件のコメント: