【cryptozombies後の世界①】truffleで作成したアプリケーションをganacheを使ってローカルで表示する

truffleで何かアプリケーションを作ってみようと思い立ち、今までRailsでアプリケーションを主として作成していましたがDAppsを作成してみました!
といっても、まだローカルでの表示のところですが…
超絶簡単なブログです。

まとめ

まずまとめからはじめる!!

・ Javascriptが辛い
・ 環境設定が辛い
・ solidityは大丈夫だが、`Code is Law`なので神経質になる必要がある

Javascriptが辛いですが、Railsエンジニアをしていたので、Javascriptを書く機会はもちろんありましたが、あまり本腰を入れていなかったw
それがアダとなった訳ですが、なれている人であれば問題ないでしょう。

環境設定が辛いに関しては、Ganacheのアプリケーションを入れると実際超簡単にできます!
ありがとうGanache

以下のサイトからGanacheをダウンロードしてから作業を開始することを強くオススメします!

Code is Lawに関しては神経質になるべきところです。
ただ、今回はサクッと作ってみたので(本来DAppsでは許されるところではない?)、あまり気にせずとにかく動かせるところまでいきましょう。

Webアプリケーションとの大きな違い

DBという概念がない…
だからそこだけ理解できれば大丈夫という感じでした。
(まだローカルで表示できるようになっただけですが。)

DBでRailsでいうsaveとかcreateとかしない代わりにデータ保存する時はブロックチェーンに書き込むので、基本的に時間がかかります。
ローカルでは早いですが、本番では数分ぐらいかかると思います。
ただ、ここに関しては全世界のエンジニアが改善に向けてガンガン開発しているので必ず改善されます。
とにかく現状DAppsが浸透していないのは、この速度の問題なのです。

では、どうやって保存するかというと単に変数を修正するだけです。
一方でお金の移動が発生する場合はpayableのメソッドを実装するだけです。

webpackからスタート

基本的にTruffle Boxから開発をスタートさせればいいと思います。
今回はwebpackからスタートしました!

solidityのデバッグ方法

solidityだけ少しデバッグをしにくいというところがあります。
ですが、以下の方法でデバッグしながら開発するとそこまで問題がない気が…

  1. solidity browzerを使って全体のコーディングをする
  2. truffle debugを使って実際のアプリケーションで保存した時の動作を確認する

この二点を押さえておけば大丈夫でしょう。
そうすれば開発がスムーズに。

truffle debugに関する参考サイト

実際の動かし方

truffle unbox webpackでtruffleのディレクトリを作ってからtruffle.jsを以下のように修正します。

module.exports = {
  networks: {
    development: {
      host: 'localhost',
      port: 7545,
      network_id: 5777
    },
  }
}

そうすると、Ganacheのアプリケーションを起動しておけばtruffle migrateが通るようになります。
そして、ターミナルで別windowを開いて、npm run devをすれば、localhost:8080からアクセスすることが可能になります。

今回私が作成したのは以下のページにあります。

今回はJavascriptで表示を変更させる方法でやっていますが、Javascriptでrouteを設定してredirectさせたりとかって可能なんでしょうか?
可能であればそういう風にしたいと思っています。

次回

テストネット、メインネットへのデプロイをします。

「【cryptozombies後の世界①】truffleで作成したアプリケーションをganacheを使ってローカルで表示する」への2件のフィードバック

コメントを残す

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