Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
TECHNOMOBILE
GROUP
HEAD OFFICE
TOKUSHIMA development section
| 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tok...
自己紹介
[プロフィール/実績]
もぎ・けんいち●青山学院大学大学院卒。Gashfara,Inc.代表。本社はハワイですが出社したことな
し。ホノルルマラソンには参加w
青山学院大学大学院卒:エニックスでオリジナルゲーム制作(Z80アセンブラ ...
高校生のときからゲームを作ってました。
家でゲームがしたかったので。。。
アキバでゲームを売ってました。売ったお金で
学校にパソコンを寄付。
大学ではエニックスで自分のゲーム作ってまし
た。実は黒歴史orz
大学院ではSmallTalkで人工知能の研究
!!
この時代にマウスを使っていたのは、かなりレ
ア!!そのままサラリーマンではLispを使って
工程管理の人工知能を作成。
ベンチャー企業に誘われていろいろと!
TOL,BitCash,TokyoGirlsCollection,G
yaoとか立ち上げに参加。もちろんデジハリも
。
最近はカップル向けアプリの企業を立ち上げ!
Co-Founderで!
1億2千万円集めて2年間で使い
きりました!ごめんなさいorz
勉強会やってます!
最近は
ドローン飛ばしたり
Bitcoinを使って
募金サイトつくっ
たり
Androidアプリの
先生やってます
バイオリン
イスラエルのブロックチェ
ーンスタートアップに
Join
経営&サービス目線で創業期のシステムを設計・開
発するのが得意です。特許も考えます。
おもしろいシステムしか作りません( ー`дー´)キリッ
最近の勉強会の内容はスライドシェアで共有してま
す。
http://www.slideshare.ne...
10
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Docker初心者ですがEthereumの開発環境
を設定していろいろはまったので共有しま
す。
今日の目的
11
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・Docker初心者。基本コマンドはわかる。
・主にWindowsのDocker環境
・Ethereumの開発環境Node.jsまでを構築
...
12
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・Docker Toolboxのインストール
https://www.docker.com/products/docker-
toolbox...
13
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・コンテナ作成
docker run -it --name "ethertest" ethereum/client-go
→いきなりgeth...
14
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
実はコンテナ作成時に指定しなければなら
いことがほかにもたくさん。。。あとから気づ
きます。。。
そのたびに、コンテナを作り直すのは手戻り
...
15
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
docker run -it --name "ethertest" --entrypoint="/bin/bash" -p
8545:854...
16
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
cd
mkdir gethdata
geth --networkid "10" --datadir "~/gethdata" --dev -...
17
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
このサイトから登録
http://ethereum.github.io/browser-solidity/
コントラクトの登録
18
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
コントラクト例
pragma solidity ^0.4.0;
contract SingleNumRegister {
uint stor...
19
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・gethでcoinbaseとなるアカウントを作成
してマイニングを開始します。
personal.newAccount("hogehoge...
20
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Web3 Providerを選択してダイアログを押し
たら、画面下のほうにエラーが。。。。
Createを押してもマイニングが完了しません。...
21
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
WindowsのDockerToolsの構成は。。
PC
Virtual
Box
Docker
85458545
192.168.99.10...
22
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
http://localhost:8545 ではなく
Docker起動時に表示されるIPアドレス
http://192.168.99.100...
23
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
別ターミナルからログイン
docker exec -it ethertest /bin/bash
cd ~
apt-get update
a...
24
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
npm install expressでエラー symlink
シンボリックリンクは-vでマウントした
フォルダー上ではできない。Docke...
25
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・AngularJSとNode.jsでWeb3を使いアプ
リを作成。特にはまるところはないかなと
ほかは?
26
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・http://amzn.to/2fO9uuo
Ethereum開発の参考書籍
Upcoming SlideShare
Loading in …5
×

Docker環境でetherium開発環境を作る際のはまりどころ

1,534 views

Published on

Docker環境でetherium開発環境を作る際のはまりどころ

Published in: Technology
  • Be the first to comment

Docker環境でetherium開発環境を作る際のはまりどころ

  1. 1. TECHNOMOBILE GROUP HEAD OFFICE TOKUSHIMA development section | 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo 107-0062,Japan | 3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushima 771-0134,Japan Docker環境でEtherium開発環境を作る際のはまりどころ
  2. 2. 自己紹介 [プロフィール/実績] もぎ・けんいち●青山学院大学大学院卒。Gashfara,Inc.代表。本社はハワイですが出社したことな し。ホノルルマラソンには参加w 青山学院大学大学院卒:エニックスでオリジナルゲーム制作(Z80アセンブラ CP/M)、SmallTalkで 人工知能開発(企業買収)。 (株)東洋情報システム退社後、(株)エイチアイ、グランスフィア(株)、(株)ファッションウォー カー(えびもえのEC)など数社のベンチャー企業の立ち上げ・創業期に参画し、ガシュファラ・インクをUS で起業。システム開発ではゲーム、TOL(ツタヤオンライン)の立ち上げ。動画配信システム(USENの Gate01:Gyaoの前進)、電子マネーシステム(Bitcash)、ECフルフィルメントシステムなど、多彩な 分野を経験。IT関連教育では1998年ころからデジハリの2.5階に間借りしながら教育コンテンツ作 成(JIB社)。Brew、Java、セキュリティーなどの講師として活躍。現在、(株)HUGGを設立し、ス マホのカップル向けSNSサービス[HUGG]をグローバルに展開。㈱テクノモバイルにて技術サポート。 ※さまざまな事業を立ち上げるために最適な開発環境を調査して設計・開発・運用・指導することが得 意 【著書】 BREWプログラミング実践バイブル [共著] (インプレス)、PHP逆引き大全 516の極意[共著](秀 和システム)
  3. 3. 高校生のときからゲームを作ってました。 家でゲームがしたかったので。。。
  4. 4. アキバでゲームを売ってました。売ったお金で 学校にパソコンを寄付。 大学ではエニックスで自分のゲーム作ってまし た。実は黒歴史orz
  5. 5. 大学院ではSmallTalkで人工知能の研究 !! この時代にマウスを使っていたのは、かなりレ ア!!そのままサラリーマンではLispを使って 工程管理の人工知能を作成。
  6. 6. ベンチャー企業に誘われていろいろと! TOL,BitCash,TokyoGirlsCollection,G yaoとか立ち上げに参加。もちろんデジハリも 。
  7. 7. 最近はカップル向けアプリの企業を立ち上げ! Co-Founderで! 1億2千万円集めて2年間で使い きりました!ごめんなさいorz
  8. 8. 勉強会やってます! 最近は ドローン飛ばしたり Bitcoinを使って 募金サイトつくっ たり Androidアプリの 先生やってます バイオリン イスラエルのブロックチェ ーンスタートアップに Join
  9. 9. 経営&サービス目線で創業期のシステムを設計・開 発するのが得意です。特許も考えます。 おもしろいシステムしか作りません( ー`дー´)キリッ 最近の勉強会の内容はスライドシェアで共有してま す。 http://www.slideshare.net/mogiken1
  10. 10. 10 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Docker初心者ですがEthereumの開発環境 を設定していろいろはまったので共有しま す。 今日の目的
  11. 11. 11 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・Docker初心者。基本コマンドはわかる。 ・主にWindowsのDocker環境 ・Ethereumの開発環境Node.jsまでを構築 する ・compse(複数コンテナをあつかうツール) は使わない。1つのコンテナにgethと node.jsの環境を作ります。実運用時には composeを使ってgethとnode.jsのコンテナ を分けるほうが一般的です。 対象
  12. 12. 12 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・Docker Toolboxのインストール https://www.docker.com/products/docker- toolbox とくに問題なし ・イメージのダウンロード 参考:https://goo.gl/e4uD6O docker pull ethereum/client-go インストール(コンテナ構築まで)
  13. 13. 13 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・コンテナ作成 docker run -it --name "ethertest" ethereum/client-go →いきなりgethが動きはじめて、いろいろgethの起動オプションを 試したいときには不便です。ブロックチェーンがどこに保存されて るかもわからない。 entrypointで起動プロセスを上書きできます。コンテナ作成時に指定 するのでコンテナは作り直しになります。 ・起動プロセスの確認(entrypoint) docker inspect ethertest ・コンテナ削除 docker rm ethertest ・起動(bashに変更) docker run -it --name “ethertest“ --entrypoint="/bin/bash" ethereum/client-go
  14. 14. 14 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 実はコンテナ作成時に指定しなければなら いことがほかにもたくさん。。。あとから気づ きます。。。 そのたびに、コンテナを作り直すのは手戻り が多く面倒
  15. 15. 15 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 docker run -it --name "ethertest" --entrypoint="/bin/bash" -p 8545:8545 -p 8080:8080 -v /c/Users/mogi:/share ethereum/client-go オプション説明 --entrypoint ="/bin/bash" ... 起動時のプロセスをbashに -p 8545:8545 ... gethのapiを外部(ホストPC)からアクセスできる ように公開状態にします。コントラクトの登録に使います。 -p 8080:8080 ... node.jsのプロセスで8080ポートを使いホストPC のブラウザからアクセスできるようにします。 -v /c/Users/mogi:/share ... 個人アカウントmogiのフォルダーをコ ンテナの/shareにマウントします。PCエディターで開発ができるの で楽です。mogiの部分は自分の環境に合わせて 私が使っているコンテナ作成オプション
  16. 16. 16 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 cd mkdir gethdata geth --networkid "10" --datadir "~/gethdata" --dev --rpc --rpcapi "db,eth,net,web3,personal,admin,miner" --rpccorsdomain="*" -- rpcaddr "0.0.0.0" console 特にDocker特有の問題はなし gethの環境作成・起動
  17. 17. 17 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 このサイトから登録 http://ethereum.github.io/browser-solidity/ コントラクトの登録
  18. 18. 18 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 コントラクト例 pragma solidity ^0.4.0; contract SingleNumRegister { uint storedData; function set(uint x) { storedData = x; } function get() constant returns (uint retVal) { return storedData; } }
  19. 19. 19 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・gethでcoinbaseとなるアカウントを作成 してマイニングを開始します。 personal.newAccount("hogehoge01") eth.coinbase personal.unlockAccount(eth.coinbase,"hogehoge01",60000) miner.start() ・コントラクト例を張り付けてブラウザか らコントラクトを登録してみましょう。 コントラクトを登録してみましょう
  20. 20. 20 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Web3 Providerを選択してダイアログを押し たら、画面下のほうにエラーが。。。。 Createを押してもマイニングが完了しません。 インスタンス作成時にgethのポート8545は公 開されているはずですが。。。
  21. 21. 21 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 WindowsのDockerToolsの構成は。。 PC Virtual Box Docker 85458545 192.168.99.100 8545
  22. 22. 22 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 http://localhost:8545 ではなく Docker起動時に表示されるIPアドレス http://192.168.99.100:8545 で登録してみましょう。 Createしたときgethプロセスで下記のよう なTx(***)のメッセージが表示されていれば うまく通信できています。unlockされてい るのかも確認しましょう。
  23. 23. 23 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 別ターミナルからログイン docker exec -it ethertest /bin/bash cd ~ apt-get update apt-get install git apt-get install curl git clone https://github.com/creationix/nvm.git ~/.nvm source ~/.nvm/nvm.sh nvm install stable PCと共有したフォルダーにnodeモジュールをインストール(Warning 無視) cd /share/Documents/Docker/ethertest c:usersmogiDocuments/Docker/ethertest とおなじ npm install web3 npm install web3_extended npm install body-parser npm install express Node.jsのインストール
  24. 24. 24 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 npm install expressでエラー symlink シンボリックリンクは-vでマウントした フォルダー上ではできない。Dockerの制限。 npm install --no-bin-links express ・
  25. 25. 25 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・AngularJSとNode.jsでWeb3を使いアプ リを作成。特にはまるところはないかなと ほかは?
  26. 26. 26 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・http://amzn.to/2fO9uuo Ethereum開発の参考書籍

×