lesson-1_オリジナルのトークンをデプロイしてみよう
🪙 プロジェクトで使用するオリジナルのトークンを準備しよう
このプロジェクトでは、取引に使用するオリジナルのFungible token(FT)を2種類発行します。
- Token Gold(TGLD)
- Token Silver(TSLV)
トークン規格はDIP20というものを用います。
DIP20 とは?
Psychedelicという組織が作成したトークン標準になります。これは、ERC-20のトークン標準をICP上でも利用できるようにMotokoとRustで実装されています。
インターネット・コンピュータのLedger & Tokenizationワーキンググループによって開発されているFTの規格ICRC-1も存在するのですが、現在のICRC-1
では、今回のプロジェクトに使用した い機能(Approve, Transfer From
)が実装されていません。ICRC-1を拡張した次の標準ICRC-2では実装予定なのですが、2023年6月現在ではまだDraft中のため使用を見送ることにします。
今回は、GithubのサブモジュールとしてDIP20をプロジェクトに組み込み、オリジナルのトークンキャニスターをデプロイしたいと思います。
それでは始めていきましょう!
🐈⬛ DIP20 のサブモジュールを取り込もう
ターミナルでicp_basic_dex/src/
下に移動し、DIP20リポジトリをサブモジュールとして取り込みましょう。
cd src/
git submodule add https://github.com/Psychedelic/DIP20.git
src/化にDIP20が追加され、プロジェクトのルートディレクトリに.gitmodules
ファイルが生成されたら準備完了です。
.gitmodulesは、サブモジュールのプロパティを定義するファイルです。
icp_basic_dex/
├── .env
├── .git/
├── .gitignore
+├── .gitmodules
├── README.md
├── dfx.json
├── node_modules/
├── package-lock.json
├── package.json
├── src/
+│ ├── DIP20/
│ ├── declarations/
│ ├── icp_basic_dex_backend/
│ └── icp_basic_dex_frontend/
└── webpack.config.js