初めてのブロックチェーンハッカソン
2020/07/29
ブロックチェーンの学習を始めてからまだ1か月の私が、この技術を学び、ブロックチェーンプロジェクトを開発する経験を共有します。
最近、私はチームWANT a Nintendo Switchとして、ETHGlobalのHack Moneyハッカソンに参加しました。ブロックチェーンハッカソンに初めて参加するので、とてもワクワクしています。同時に、私よりもこの分野で経験豊富な他のチームメイトに追いつくためには、まだ多くのことを学ぶ必要があることも知っています。
ブロックチェーンに飛び込む
Hack Moneyのテーマは、分散型金融(DeFi)エコシステムのためのプロジェクトを構築することです。最初は、金融サービスや製品を開発するために分散型ネットワークを利用するというアイデアが私には混乱をもたらしました。スマートコントラクト、暗号通貨、人々の間でお金がどのように分配されるか、コインの価値を決定するものは何か、などについて多くの質問を自分に投げかけました。オンラインで文書を読み、チームメイトに質問した後、分散型金融の概念が私にはより明確になり、チームと共にハッカソンに取り組み始めました。Curvegridの文書は、ブロックチェーンの詳細な概要を提供してくれ、私の学習プロセスに非常に役立ちました。
プロジェクトアイデアのブレインストーミング
時間が短いので、各チームはプロジェクトを構築するためにわずか4週間しかありません。その上、私たちはハッカソンにかける労働時間の10%を超えないことに決めました。最初の2週間、私たちはほとんどの時間をプロジェクトアイデアのブレインストーミングに費やしました。最初は、どうぶつの森に接続するブロックチェーンゲートウェイプラットフォームを構築したいと考えていました。しかし、私たちの誰もがプロジェクトをテストするためのNintendo Switchを持っていなかったこと(😞)、そしてSwitchがほぼどこでも品切れだったため、プロジェクトアイデアを変更することにしました。何かユニークで楽しいものが欲しかったので、私たちは多くの議論とオンラインミーティングを経て、取り組むアイデアを選びました。
結局、私たちは、ユーザーがプールにERC20トークンを預けるたびにWANTトークンを与え、ユーザーがWANTトークンを引き換えるときにプールからランダムなトークンを受け取るトークンプール交換を構築することに決めました。最初は、これはDeFiに関連しているとは思えませんでした。しかし、楽しさは後になって、実際にWANTトークン契約を作成したときに来ました。このことで、プロジェクトがDeFiテーマにより適合するようになりました。
SolidityでWANTトークン契約を作成
チーム内で、もう一人の人と私がスマートコントラクトの構築を担当しました。これをするために、私はSolidityを学ぶ必要があったので、数日間CryptoZombiesのチュートリアルを通じて学びました。このウェブサイトは、詳細でインタラクティブなコーディングレッスンを提供しており、Solidityでコーディングを学ぶ際に非常に役立ちました。言語に慣れてきた後、私はWANTトークンのスマートコントラクトの構築を始めました。
しかし、実際にスマートコントラクトを開発し始めると、Solidityでのプログラミングは私が予想したほど簡単ではないことに気付きました。Solidityには、プライベート変数がアンダースコアで始まるという命名規則があります。C++やPythonで主にプログラミングをしてきた私にとって、変数がアンダースコアで始まるのは普通のことではありません。私は自分の変数がアンダースコアで始まることを通常忘れてしまい、それが多くのコンパイルエラーにつながります。
また、ブロックチェーンDAppを構築する際に考慮すべきことは、効率が優先事項ではないということです。ブロックチェーンでは、変数を書くことは10の変数を読むよりも高価である可能性があります。これにより、スマートコントラクトの開発プロセスが繰り返しになり、直感に反することがあります。たとえば、場合によっては、書き込み/更新を避けるためには、配列を複数回再作成するほうが、配列を保存して直接使用するよりも良いです。
WANTの支払いアルゴリズム

私たちが入金とクレーム機能を持つコア契約の構築を終えた後、各ユーザーがERC20トークンを入金するたびに特定の量のWANTトークンを与える支払いアルゴリズムを設計する必要がありました。私たちは、ユーザーが受け取るトークンが完全にランダムであることを知っていても、トークンを入金し続けるインセンティブを持ってほしいと考えています。また、私たちはユーザーが早い段階でプールにトークンを追加するインセンティブを持ってほしいです。これらの目標を達成するために、トークンの実際の価値とプール内の希少性を考慮した支払いアルゴリズムを思いつきました。トークンXを入金するとユーザーが受け取るWANTトークンの量は次のように表現できます。
私たちは、価格交換のためにUniswapを使用してX_real_price_in_ethを計算しました。スマートコントラクトのデプロイ/テストとそれらの契約を私たちのアプリケーションに統合するために、CurvegridのSaaSプラットフォームMultiBaasを使用しました。
プロジェクトに関する詳細情報は私たちのGithubリポジトリで見つけられます。この支払いアルゴリズムにより、ユーザーがプールにトークンを入金し、得られたWANTトークンを引き換えて利益を得る傾向があると信じています。
まとめ
全体として、ハッカソンに参加することは私にとって貴重な経験でした。この経験を通じて、ブロックチェーンやDeFiについてもっと学びました。また、新しい人々に出会い、Solidityでのプログラミング、仮想ハッカソンへの参加、リモート環境での作業など、新しいことを体験する機会も得ました。
私たちの製品を楽しんでいただけたら、是非スターをください。また、私たちのGitHubページに他のプロジェクトもチェックしてください。CurvegridがHack Moneyハッカソンに参加した詳細情報はこちらで確認できます。
免責事項: 支払いアルゴリズムは完璧ではありません。私たちは金融の専門家ではないため、ハッカソンのためににテストバージョンしかデプロイしませんでした。また、トークンを入金しても利益が得られず、むしろお金を失う場合があるのは、アルゴリズムではなく運によるものです😃。
