9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DApps開発を始める動機と工程(粗め)紹介

Last updated at Posted at 2019-03-03

当ページの位置づけ

  • DApp(decentralized application=分散型アプリケーション)を実践/開発を通して学んでいく。開始するにあたり動機整理と、現時点でのDapp理解、実際に実装していく上での工程整理をする。

※特に誰かの役に立つという意図はありません。先に断っておきます。

なぜ興味をもった?? ~ 動機 ~

  • そもそも自分のDAppsの理解をお伝えすると...
    • ブロックチェーンネットワークを構成する各ノードとその集合によって実行、保証されるもの。完全な管理者、責任者のもと管理されているサーバー上でデータ管理並びに処理はされない、、という解釈をしている。
    • 要は物理的かつ利害関係が一致しない複数ステークホルダに、管理権限が分散している

動機詳細

  • 私が認識している、「分散アプリケーションのいいとこってどんなところ??」
    • 改ざんが難しい
    • 単一障害点がほぼない
    • 思想的なところ/共感している。検閲しない。「あるべき論」が存在しない。
      • ゆる〜い+浅い。
        • 振り返ったときにはもっと精緻になっていることを期待。
  • もやもやしているところ
    • どうやって動いているのかわからない → 原理を知りたい
    • 何がすごいのかわからない(なぜ盛り上がっている??) → 時間とともに処理が重くなりそうだけど実現可能なの?? → 制限、制約を知りたい
    • ぶっちゃけ、これまで通りのWebサーバーとかにアプリケーションをのっけたほうがいいのではないかとおもっている → メリデメを知りたい
    • 分散(非中央集権)と非分散(中央集権/これまで主流の管理者の存在するタイプ)の本質的な違いってなんなんだろうか → 本質的な価値を知りたい(考えてみたいに近い)
      • [結論]実際に手を動かして作ってみよう
        • 最終的に上の質問に答えられているとハッピー

じゃあ、何をするか??

  • 題材として、ETHEREUM PET SHOP -- YOUR FIRST DAPPを使ってみようと思う。
    • 同じようなPET SHOPをオープンできるところをゴールにしたい。
    • プロセス中でアプリケーションへの理解を深めていきたい。
  • 選択理由は以下、

DAppsを支える技術達(どんな構成で成り立っているのか)を確認

  • 初めてなので、まずは全体像の把握と整理からしたい。
  • なんかやたら新しい(普段触れない)ツールが多くって、正しく把握しないと途中で困惑しそうだった。
    • geth? solidity? truffle? Ganache? MetaMask? Mist? Web3? RPC? Ethereum?これらそれぞれの責務と関係性など。ちんぷんかんぷんレベル。汗

助けてくれた資料達

No タイトル 感想と補足解釈
1 EthereumとContracts開発を取り巻くエコシステムの概要 ツールの役割はこちらの記事を見れば一通り理解できた
2 10分で理解した気になるDApps入門 〜 Web3.0時代の次世代アプリケーション 〜」の「Ethereum DApps of Architecture」の画像 獏とだけど、ユーザー/front画面、MetaMask、Web3(JSのライブラリ)、Blockchain(EVM: ここでsolidityで書いたスマートコントラクトが実行される?)
3 ブロックチェーンEthereum入門 2」の「Ethereumネットワーク監視の構成」の画像 2をよりシステム詳しく説明してくれている。
4 スマートコントラクトを作成し実行する SolidityをEMV上でどのように扱うのかが記載されている

工程整理 - 粗め -

No カテゴリ やること
1 個人の開発環境にネットワークを準備、クライアントツールで疎通してみる Ganache??, gethをバックグラウンドで動かしておく??
2 スマートコントラクトやらを作る Solidity, Truffle
3 スマートコントラクトを1ネットワークにデプロイする
4 ブラウザからネットワークからデータを取得する?? MetaMask, Web3
5 ブラウザからネットワークにデータを書き込む?? MetaMask, Web3
  • 進めていく中でブレイクダウンしていければ...

やらないこと

IPFS云々

ということでがんばってみま〜す。

途中、ないし完了したら、Tipsのシェアができればと思います。


お読みいただきありがとうございました。
間違い、ないし、改善レビューがありましたらコメントいただけると嬉しいです。

9
12
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
9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?