本記事は下記の翻訳となります。
『Merkle Tree Airdrop Smart Contract Module in Bunzz』
MerkleTreeAirdrop コントラクトモジュールは、ERC20 のためのエアドロップとして機能します。データの検証、つまりユーザーのために Merkle ツリーを構築するために使用される Merkle プルーフと適切な引数に基づいてトークンを送信します。このコントラクトでは、ウォレットアドレスのリストとルートハッシュが必要であり、これらはツリー内のそのアドレスに対して指定されたデータが存在することを検証するために必要な葉と Merkle プルーフです。
このモジュールとコードには、こちらからアクセスできます。
使用方法
- ERC20 トークンをエアドロップトークンとして準備します。既存のトークンを使用するか、DApp のページで新しい ERC20 トークンをデプロイできます
- ホワイトリストとそのドロップ量を準備し、Merkle ツリーを生成し、JSON ファイルに出力します。以下に JSON ファイルの形式を示します。それには Merkle ルート、エアドロップの合計トークン量、個々のトークン量、および Merkle プルーフのリストが含まれています
- Merkle ルートで
MerkleTreeAirdrop
コントラクトをデプロイします - ドロップアセットをこのコントラクトに転送します
- 受益者は
claim
関数を使用してドロップトークンを請求できます - 検証済みのユーザーのみが請求できます
{
"merkleRoot": "0x73e9ab882da5e26fbfb0323ad8c171fa34847aedf17518960144a3d7712b8fb0",
"tokenTotal": "12000000",
"claims": {
"0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": {
"index": 0,
"amount": "5000000",
"proof": [
"0x7084f9587399496b678c3c3bc2e260bde1a36c4ef20e5ba31a6586a78ea84052",
"0xca1fa0f64eefb1c6dd3e7f07e195c823422dc15d36b308bcbd96c972f031c060"
]
},
"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": {
"index": 1,
"amount": "1000000",
"proof": [
"0xf7f4759620b7517d89196c50cee28b670bc9269d7671dfd9a403e79ba1dda996",
"0x8e20e72ee3a98a39b7fb5b1b7eb0bd446a6bfadf5ed012e0f5d29220312c1076"
]
}
}
}
関数
#書き込み
- connectToOtherContracts
- renounceOwnership
- claim
- transferOwnership
#読み取り
- isClaimed
- merkleRoot
- owner
- token
【Bunzz とは】
Bunzz はアジア最大級の DApps 開発インフラを運営する、web3×LLM におけるリーディングカンパニーです。「公共財としてのスマートコントラクト」の実現に向けて、各種 web3 インフラやサービスを開発・提供しております。
【Our Projects】
- Smart Contract Hub | スマートコントラクトの Github
- DeCipher | "Read me" for All of Contracts
- Bunzz for Enterprise | Tier1 の技術リソースを日本企業に提供
- Bunzz Audit | 透明かつ持続的なコントラクト監査の仕組みを実現
【Social Links】
【お問合せ】
web3 開発・コンサルティングのご相談はこちらから 👉Google Form
Bunzz R&D エンジニア荒巻さんの著書『スマートコントラクトの仕組みと法律』が好評発売中です 📕