6章資金調達アプリケーション
"Hello, World!"アプリケーションの構築とデプロイが完了した後は、スマートコントラクトの旅の続きとして、寄付金をイーサで受け取ることができるアプリケーションを作成する。このアプリケーションを選択したのは、トークンコントラクトと同様に、コントラクトでイーサを扱う方法やデータ構造を使って残高の推移を追跡する方法を調べるためである。
このアプリケーションを構築しながら、Solidityをさらに詳しく見ていく。ここでは、コンストラクタ、ゲッターメソッドとセッターメソッド、構造体とイベントなどの便利な機能を取り上げる。
コーディングを始める前に、これから構築するアプリケーションがどのようなものか簡単に説明しておこう。
6.1 アプリケーションの概要
このアプリケーションの目的は、資金提供を求めているNPOなどの受取人を支援することにある。受取人は、イーサを売って米ドルに換金できるようにするためにCoinbase†1などのサービスでアドレスを準備することになる。イーサリアムのアドレスはCoinbaseによって管理されることになるため、受取人は秘密鍵にアクセスできない。したがって、そのアドレスからDAppとやり取りすることはできない。そこで役立つ可能性があるのが管理人アドレスである。
管理人アドレスは、もう1つのイーサリアムアドレスであり、受取人が直接管理するか、受取人に代わって代理人が管理する。管理人アドレスはDAppとやり取りできるアドレスであり、トランザクションを発行する能力が与えられる。このトランザクションは、資金調達コントラクトが集めた資金を受取人アドレスに送信する。
Get SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.