ALISのコントラクトをローカル環境で動作させてみる




どうも高妻です。Twitterでもプログラミングのことや暗号通貨のことをつぶやいているのでよかったら覗きにきてください。  

ALIS

ALISのICOには個人的にかなりポジティブな影響を受けています。日本のベンチャー企業で、設立からわずか半年くらいでICOを成功させています。

ALISの詳細はこちら

この行動の早さと実行している内容がすごくかっこいいなと思っています。

自分も最近やっと本腰を入れて暗号通貨の勉強を始めました。特にEthereumの分散アプリケーションに対する興味が大きいです。

ALISもEthereumのブロックチェーンを利用したICOを行なっていて、なんとソースコードも公開しているので勉強させていただこうと思います。

ALISのGithub

まずALISのGithubプロジェクトはこちらです。

ALISが公開しているぷリポジトリには

  • 会社のホームページ
  • モック
  • コントラクト
  • ホワイトペーパー

と全て?公開しているんじゃないでしょうか?今回はこちらのコントラクトのリポジトリをローカルに落としてきます。

セットアップ

READMEに手順が乗っているのですが、Node.jsとかEthereum初心者にはわかりづらいかも思ったので追加手順を書いていきます。

まずALISではyarnを使用しているのでyarnをインストールします。npmはNodePackage ManagerといってNode.jsのバージョンとモジュールの管理を行なってくれます。

クローンはREADMEと同じです。

これでcontractsリポジトリのセットアップは完了です。

テストコードの実行

試しにテストを流してみます。

おっと、通らなかった。。。けど、エラーになってるファイルをみるとカンマが一個多かっただけみたいなので消したら通りました!

ちなみにこのときのブランチはmasterブランチで、ハッシュ値はc72c4b18449714321bf065d0b1a814ecbbd4f63dでした。他にもブランチがあったのでそっちが本番運用されてる方かもしれません。

テスト結果の一部を記載します。Pre saleからweek1,2,3とちゃんとテストされているのがわかりますね!!

コントラクトのテストの仕組みはちゃんと理解してないですが、テストを実行するとテスト用のtestrpcを立ち上げてそことのやりとりをテストしてるみたいです。

コントラクトのデプロイ

次はプライベート・ネットにコントラクトをデプロイしてみます。EthereumのCLIクライアントであるgethの基本的な使い方は下記を参照してみてください。

Macのローカル環境でEthereumの送金を行う

ジェネシスブロックの生成

まずはALISの手順どおりconfig配下にdatadirフォルダを作成し、ジェネシスブロックを作成します。

アカウント作成

次にアカウントを作ります。まだrpcで起動しなくていいので下記コマンドでCLIを立ち上げてアカウントを作成します。

立ち上げたら下記コマンドでアカウントを2つ作成しておきます。作成するとアドレスが発行されます。

Solidityのコンパイル

コンパイルは下記コマンドで、完了するとDoneと表示されます。問題なければ/build配下にcontractsフォルダが生成されてコンパイル結果ができ上がります。

プライベート・ネットの起動とデプロイ

次にrpcを立ち上げます。

立ち上がったら別コンソールからコントラクトをデプロイします。

yarn deployを行うとcleanの処理で/build配下が削除されてうまくいかなかったのでdeployコマンドを下記に修正して実行しました。

Doneが表示されればデプロイが完了です。

注意としてデプロイの前にtruffle.jsのdevelopのgasとgasPriceを変更しないとデプロイが成功しないので調整してみでください。自分は下記のようにしました。適当に調べてたら4712388がデフォルトの値だと記載されていたのでそうしてみました。

コントラクトの実行

デプロイまではスムーズに進んだんだけどこのあとどうすればいいか分からなくなったのでここは調査してまた追記します!







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です