Faucet機能を実装しよう
🚰 Faucet 機能を実装しよう
このプロジェクトでは、DEX上で扱うオリジナルのトークンをユーザー自身が簡単に取得できるように、便宜上Faucet機能をつけたいと思います。
まずは、Faucetの役割をするキャニスターを作成します。作成後、DIP20キャニスターとFaucetキャニスターをデプロイしてDIP20キャニスターのmint
メソッドをコールします。Faucetキャニスターに対しミントを行うことで、一定量のトークンを保持させます。
Faucetキャニスター自身の機能としては以下になります。
- ユーザーにトークンを転送する
- トークンを渡したユーザーのデータを保持する
データを保持する目的としては、トークンの配布を一人のユーザーに対し一度だけと制限するためです。
それでは、実装していきましょう。まずは、Faucetキャニスターのコードを置くfaucet