LoginSignup
1
0

More than 5 years have passed since last update.

IOSTに触れてみる!!

Last updated at Posted at 2019-04-16

IOSTの開発環境を作る

1. Mac上にiwalletをインストールする

IOSTの開発をdocker内だけで行うのは嫌だという方はiwalletをMacに入れたほうが良いと考える.
goをインストールし,iwalletをインストールする.
※既にgoの環境がある場合,環境が壊れる可能性がある.そのため,iwalletはインストールせずに,dockerイメージ上のiwalletを使うことを推奨する.

$ brew install go
$ go get github.com/iost-official/go-iost/cmd/iwallet

2. Docker上でIOSTのローカルサーバを動かす

イメージを落とす

しばらくすると完了するのでイメージがあるかどうか確認する.

$ docker pull iostio/iost-node
・・・
$ docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
iostio/iost-node              latest              7579e226b50b        4 days ago          213MB

起動させる

デーモンとして起動
iwalletをインストールしなかった場合は [-v] でディレクトリの共有を行ったほうが開発が楽である.
docker stop をして毎回消すのが面倒な場合は [--rm] を入れると良い.


$ docker run -d --name iserver -p 30000-30003:30000-30003 iostio/iost-node
8a4df7cb4aad5eb19942d529ce4d63c9241567368e49a90aa946708a73c18580

プロセスを確認する(コンテナIDでiserverがあるか確認)


$ docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                      PORTS                                                                    NAMES
8a4df7cb4aad        iostio/iost-node     "iserver -f /var/lib…"   2 minutes ago       Up 2 minutes                0.0.0.0:30000-30003->30000-30003/tcp                                     iserver

docker logs で状態を確認できる


$ docker logs iserver
Info 2019-04-16 08:19:23.446 main.go:86 Config Information:
acc:
  id: producer000
  seckey: 1rA******
  algorithm: ed25519
genesis: /var/lib/iserver/genesis
vm:
  jspath: vm/v8vm/v8/libjs/
  loglevel: ""
db:
  ldbpath: /var/lib/iserver/storage/
snapshot:
  enable: false
  filepath: /var/lib/iserver/storage/snapshot.tar.gz
︙
Info 2019-04-16 08:19:23.446 main.go:88 build time:20190412_142146+0800
Info 2019-04-16 08:19:23.446 main.go:89 git hash:fc91aa689b97b6bd17d2cae98472ad64fc8a44a3
Info 2019-04-16 08:19:23.446 main.go:90 code version:3.0.9
Info 2019-04-16 08:19:23.465 recovery.go:17 Genesis is not exist.
Info 2019-04-16 08:19:24.648 recovery.go:36 Created Genesis.
Info 2019-04-16 08:19:24.648 recovery.go:39 GenesisHash: 5KKs5a38awYuNCt4wLBrND5qRrcBENxW8oTEHb33tGfR
Info 2019-04-16 08:19:24.648 recovery.go:59 current Tag: 5KKs5a38awYuNCt4wLBrND5qRrcBENxW8oTEHb33tGfR
Info 2019-04-16 08:19:24.656 encoder.go:41 Encoder Name: /var/lib/iserver/storage/BlockCacheWAL/.1555402764656127000.0.wal.tmp
Info 2019-04-16 08:19:24.658 block_cache.go:362 Got LIB: 0
Info 2019-04-16 08:19:24.658 block_cache.go:373 Witness Block Num:0
Info 2019-04-16 08:19:24.659 block_cache.go:375 ActiveWitness:6sNQa7PV2SFzqCBtQUcQYJGGoU7XaB6R4xuCQVXNZe6b
Info 2019-04-16 08:19:24.659 block_cache.go:378 PendingWitness:6sNQa7PV2SFzqCBtQUcQYJGGoU7XaB6R4xuCQVXNZe6b
Info 2019-04-16 08:19:24.659 collector.go:39 Add node metrics: diskstats
Error 2019-04-16 08:19:24.659 collector.go:42 Create metrics diskstats failed: device not found for path: /var/lib/iserver/storage
Info 2019-04-16 08:19:24.660 collector.go:68 Node metrics started.
Info 2019-04-16 08:19:24.662 defer.go:64 defer index num: 0
Info 2019-04-16 08:19:24.663 peer_manager.go:444 no routing file. file=/var/lib/iserver/p2p/routing.table
Info 2019-04-16 08:19:24.663 net_service.go:112 local multiaddr: /ip4/127.0.0.1/tcp/30000/ipfs/12D3KooWQ5vPYgvkFquqGDKN1LvqRhW8PMiiLoU3jdaoTKKz6t87
Info 2019-04-16 08:19:24.664 net_service.go:112 local multiaddr: /ip4/172.17.0.2/tcp/30000/ipfs/12D3KooWQ5vPYgvkFquqGDKN1LvqRhW8PMiiLoU3jdaoTKKz6t87
Info 2019-04-16 08:19:24.664 defer.go:168 next defer schedule: 1s
Info 2019-04-16 08:19:25.668 defer.go:168 next defer schedule: 2129991h27m51.186501107s
Info 2019-04-16 08:19:26.665 sync.go:171 Syncing block in [1 1000]...
Info 2019-04-16 08:19:27.024 block.go:30 Generate block - @0 id:6sNQa7PV2S..., t:1555402767001127700, num:1, confirmed:1, txs:1, pendingtxs:0, et:23ms
Info 2019-04-16 08:19:27.531 block.go:30 Generate block - @1 id:6sNQa7PV2S..., t:1555402767504026800, num:2, confirmed:2, txs:1, pendingtxs:0, et:27ms
Info 2019-04-16 08:19:28.025 block.go:30 Generate block - @2 id:6sNQa7PV2S..., t:1555402768000456300, num:3, confirmed:3, txs:1, pendingtxs:0, et:25ms
Info 2019-04-16 08:19:28.531 block.go:30 Generate block - @3 id:6sNQa7PV2S..., t:1555402768502649700, num:4, confirmed:4, txs:1, pendingtxs:0, et:28ms
Info 2019-04-16 08:19:28.667 sync.go:171 Syncing block in [1 1000]...
︙

起動が確認できたら終了です.お疲れ様でした.

おわりに

今回はIOSTの開発環境を作成しました.
次回は実際にスマートコントラクトを動かしでみたいと考えています!
それでは〜

参考文献

IOST Docs 3.0.7 Launch Local Server

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0