Bank Precompile
Bank Precompileは、固定アドレス0x0000000000000000000000000000000000000064に存在するシステムsmart contractです。
EVM開発者に対して、Injectiveのbank module(x/bank)と直接やり取りするためのgas効率の良いネイティブな手段を提供します。これにより、ERC-20トークンを効果的にオンチェーンに取り込むことができます。Bank precompileを使用するすべてのERC-20 contractは、オンチェーンではerc20:0x...というdenomとして表現されます。技術的には、トークンはオンチェーンにのみ存在し、EVMは別のコピーを保持するのではなく、チェーンの状態へのビューを提供するということを意味します。従来のブリッジングでは2つのトークンバージョンが存在しユーザーの操作で切り替える必要がありますが、Bank precompileはオンチェーンのbank denomまたはERC-20のtransfer()メソッドのいずれを使用した転送でもリアルタイムにデュアル環境の反映を提供します。
Bank precompileを基盤としたERC-20実装、precompileインターフェース、および抽象contractがInjectiveのSolidity Contractsリポジトリで利用可能です。主要なcontractは以下の通りです:
- Bank.sol – precompileインターフェース
- BankERC20.sol – Bank precompileを基盤とした抽象ERC20実装
- FixedSupplyBankERC20.sol – 固定供給量の分散型ERC20(オーナーなし、mintおよびburnなし)
- MintBurnBankERC20.sol – トークンのmintとburnが許可されたオーナー付きERC20
