【参考】Web3のハッカソンの進め方
こちらは、2023年8月13日の名古屋ハッカソンのキックオフ向けの資料として作成したものです。
ただ、汎用的なものも多いと思いますので、ご参考にどうぞ
1 どのように開発を進めていくか
1 仲間集め
最も大事なのが仲間集めだと思います。
特に今回は、フロントエンドができる方が少なそうなので、エンジニアさんをいかに探すかが鍵になりそうです。
2 役割分担・計画
これはハッカソン以外も同じですが、役割分担と計画を立てます。
例えば、成果物として、ピッチ用の資料なども必要です。
誰が何をいつまでにやるのかを決めると良いと思います。
3 成果物・審査基準の確認
提出する成果物はあらかじめ決めておきましょう。
また、審査基準を確認し、何を強みに作るのかも事前に考えると良いと思います。
4 過去のハッカソンの調査
過去のハッカソンでどんなものが提出されているのかも参考にすると良いと思います。
・OASYS HACKJAM
・AI Crypto Hackathon AI無限ミステリーAstar探偵社
・ストーリーNFT
5 審査員の視点を知る
審査員がどのように感じているのかを事前に知るのも戦略的で良いと思います。
2 ブロックチェーン(特に開発向け)の基礎学習
1 クリプトゾンビ
Solidityを学ぶ上で、参考になるサイトです。
ゲーム感覚で面白いですが、少し古いので、今と書き方が違う箇所もあり、注意が必要です。
2 Smart Contract engineer
こちらは基本有料ですが、スマートコントラクトを学ぶのに非常に良い教材です。
かなり上級者向けのレベルまで網羅されていると思います。
3 Unchain
実際にハッカソンに出場される方の中でも多くの人が所属している印象を持っています。
4 ブロックチェーン基礎講座
これは、私が過去撮った動画です。
ブロックチェーンとは何か?などを学びたい場合に参考にしてください。
5 ミントやバーン、トランスファーの仕組みについて
ミントやバーンなどの仕組みそのものを解説しています
6 Solidityを1から学んでみよう
Solidityを1から学ぶ人向けの動画です。
7 フロントエンドとの連携
thirdweb SDKを使うことで、簡単にフロントエンドとの連携が可能です。
3 ブロックチェーンの開発に使うツールなど
思いついた順に書いているので、ご了承ください。
また、うっかり抜けているところもあるかもしれません。
1 thirdweb
基礎的なコントラクトを作ることができます。
フロントエンドの繋ぎ込みなども非常に便利です。
2 Bunzz
色々なコントラクトをノーコードで作成できます。
thirdwebよりも幅が広いです。
3 Decipher
知りたいコントラクトがどういう内容なのかをAIを使ってドキュメント化してくれます。
4 Remix
コントラクトの開発をブラウザ上で行うことができます。
5 Hardhat
コントラクトの開発ができます。
実務ではこれを使うことが多いです。(Foundryなどもあります。)
6 Next.js
Web3系のフロントエンドは、このNext.jsを使うことが多いような気がしています。
もちろん、お好みのものがあれば、それで良いと思います。
7 Vercel
簡単にWebサイトが作れて、とても便利です。
Next.jsで使用します。
8 OpenZeppelin
開発を行うときにお世話になります。
標準的なコントラクトのライブラリを提供してくれています。
9 OpenZeppelin Defender
ガスレストランザクションを使う時などにお世話になります。
10 Alchemy
RPCを立てるときに使います。
Infuraなどでも良いと思います。
11 Explorer
Etherscanなどのエクスプローラーを使うと、コントラクトのコードの確認や読み書きができます。
12 Faucet
テストトークンを取得するときには「チェーン名 Faucet」などで検索すると出てくると思います。
13 Pinata
IPFSの保管ができます。
14 Ethers.js Web3.js
コントラクトとフロントエンドを繋ぐためには「Ethers.js」や「Web3.js」などを用います。
4 ハッカソン作成のヒントについて
こちらも、思いついた順に書いていきます。
1 ERC20、ERC721、ERC1155
まずは、このあたりが基本になると思います。
2 ERC4337
スマートアカウントのAccount Abstractionです。
今後重要になってくるのではと思っています。
3 ERC6551
トークンバウンドアカウントも大事だと思います。
4 ERC3525
若干前のものですが、ERC20とERC721の特徴を持ったERC3525も魅力的です。
名前はERC1155とは似ていますが、全く違うものです。
NFTそれぞれに対し、値を設定することができます。
5 ERC4907
レンタルのための規格です。
所有権が移るわけではなく、仕組みとしてはシンプルです。
6 Time-bound-NFT
有効期限付きのNFTです。
1ヶ月限定のサブスクリプションなどを作れます。
7 Packコントラクト
宝箱のように、その中にFTやNFTを格納できます。(実は格納という表現は正しくないです。)
こちらは実際には、格納などしておらず、シンプルな構成になっています。
8 フルオンチェーンコントラクト
直接コントラクト内に画像を書き込むフルオンチェーンNFTです。
Lootのような文字や画像などが作成できます。
9 SVGについて(フルオンチェーンNFT用)
こちらでは、フルオンチェーンで必要なSVGの作成方法について説明しています。
10 分割コントラクト
こちらは、資産を分割してくれるコントラクトです。
thirdwebで簡単に作れます。
11 ジェネレーティブNFT
こちらがジェネレーティブNFTの作り方です。
ただ、かなり昔の記事なので、今は別でググるともっと簡単に作れると思います。
12 ステーキングコントラクト
ステーキングコントラクトです。
こちらはthirdwebだけで作れます。
13 オラクル(Chainlink)
オラクルを使用したコントラクトです。
オフチェーンの情報をコントラクトに取り込めます。
14 アップグレーダブルコントラクト
更新が可能なアップグレーダブルコントラクトです。
最近は、色々なところで使われているような気がします。
15 NFTゲートウェブサイト
所持しているNFTの数によって、入れるサイトです。
こちらはNFTの数(balanceOf)で簡単に分岐をさせています。
16 ガスレストランザクション
運営がガス代を負担する、ガスレストランザクションです。
thirdwebで割と簡単に作れます。
17 Unity接続
ゲームエンジンである、Unityとブロックチェーンの接続方法です。
個人的には、Unityはこちらで学びました。
18 zkEVM
ゼロ知識証明である、ZKとEVMとの組み合わせです。
実は、作るだけでしたら、簡単にできます。
19 Gnosis Safe(マルチシグウォレット)
あまりハッカソン向きではないかもですが、マルチシグウォレットは簡単に作れます。
20 RevealNFTやホワイトリスト、SBTの仕組み
こちらは参考です。
仕組みを知らなくても、thirdwebで簡単に作れますが、知っておくとより応用が効くかもしれません。
21 Verifyの方法について
コントラクトを作った後、verifyのやり方がわからなければ、こちらをどうぞ
5 その他
個人的には、記事を書いていないものの、気になるトピックをリストで書いていきます。
1 Autonomous World
「Autonomous 2D Dot Crypto World」などが参考になるかもしれません。
2 AIとの連携
「AI Crypto Hackathon」の提出プロジェクトが参考になるかもしれません。
3 DID
こちら、私は作ったことがないですが、気になっています。
4 DAO(投票コントラクトなど)
私はまだやったことがないですが、thirdwebにもコントラクトがあります。
5 進化NFT
これは意外と簡単に作れます。
Reveal機能を参考にすると良いと思います。