Masaaki実際にSolidityによってスマートコントラクトを書くことができたら、今度はローカル環境やテスト環境、もしくは本番環境にデプロイする必要があります。今回は、Ethereumにおけるコントラクトのデプロイに便利なTruffleというフレームワークをご紹介します。導入まず、オーナーのEthereumアカウントとそのアドレスを用意する必要があります。ローカル環境でしたらgethコマンドで生成することが可能ですが、テスト環境や本番環境で新たにアカウントを作ってアドレスを生成するには、MyEtherWalletやMyCryptなどのサイトを用いるのが楽です。その際、テスト環境のアカウントを生成したいのであれば、サイト右上で設定できる環境を「Ropsten(infura.io)」に設定しておきましょう。RopstenとはEthereumの代表的なテストネットの名称です。以下、今回はテストネットにデプロイする前提で話を進めます。本番環境のデプロイも流れは同じです。Key)も必ず確認して記録しておかなければなりません。アカウントが生成できたら、テストネットのアドレスを手に入れる必要があります。FREE”をクリックします。必要項目を入力するといくつかサーバーが提供されますが、今回はテストネットなのでRopstenの欄に記入されているURLを用います。本番環境へのデプロイの場合はMainnetの欄に入力されているURLを用いることになります。オーナーアカウントとURLが用意できたら、肝心のtruffleを用意します。truffleはnpmでインストールできるのですが、このとき秘密キーでネットに接続できるようにtruffle-hdwallet-provider-privkeyも一緒にインストールしておきます。truffle-hdwallet-provider-privkey-gオプションをつけることで、どこでもtruffleとtruffle-hdwallet-provider-privkeyを呼び出せるようにしておきましょう。truffleの雛形作成まず空のプロジェクトを作ります。今回はtest-truffleという名前で作成することにします。test-truffletest-truffleまで移動しました。initと打つと、truffleの雛形が生成されます。truffle.jsとなっています。contractsディレクトリ、migrationsディレクトリには生成時点で既にファイルが存在していますが、これらはデプロイ時に必要なので削除しないでください。contractsディレクトリcontractsディレクトリには、トークンやクラウドセールなど、デプロイさせたいもののsolidityファイルを置きます。importしているファイルも含めて必要なファイルは全て置いてください。migrationsディレクトリファイルをデプロイする手順をこのmigrationsディレクトリにあるファイルで管理します。migrationsディレクトリに置くファイルには名前の頭に数字を入れるという決まりがあり、その順番に沿ってデプロイが実行されます。“1_initial_migration.js”という名前のファイルが既に存在しており、これはデフォルトで実行しなければならないので、次の手順を2から始まる名前のファイルに書き込むことになります。次回は実際にデプロイする方法を紹介します。Masaaki技術書は勿論、本全般が好き。品揃えの良い本屋に行くとテンション上がりすぎて後で具合が悪くなる。Tech当サイトはFOXHOUND株式会社のメンバーによる技術記事投稿サイトです。HOUND株式会社は2011年に誕生したシステム開発会社です。「お客様を知る事・理解する事」を企業理念と掲げております。社員一人ひとりがプロフェッショナルの自覚を持ってお客様と未来を創って行く。最初はそれで始まり最後もそうである様に日々活動を続けております。私たちが良い開発者であり続けるために、お客様の協力が必要です。弊社に悩みや希望を共有して下さい。