Bank Precompile
Bank Precompile 是一个位于固定地址0x0000000000000000000000000000000000000064 的系统智能合约。
它为 EVM 开发者提供了一种高效且原生的方式来直接与 Injective 的 bank 模块(x/bank)交互。这有效地将 ERC-20 token 带到链上。任何使用 Bank precompile 的 ERC-20 合约将在链上表示为 erc20:0x... denom。从技术上讲,这意味着 token 仅存在于链上,EVM 提供链状态的视图而不是维护单独的副本。与传统桥接不同,传统桥接需要用户操作来切换两个 token 版本,Bank precompile 为使用链上 bank denom 或 ERC-20 transfer() 方法的任何转账提供实时、双环境反映。
一系列由 Bank precompile 支持的 ERC-20 实现,以及 precompile 接口和抽象合约,可在 Injective 的 Solidity 合约仓库 中找到。关键合约包括:
- Bank.sol – precompile 接口
- BankERC20.sol – 由 Bank precompile 支持的抽象 ERC20 实现
- FixedSupplyBankERC20.sol – 固定供应量的去中心化 ERC20(无所有者,无铸造或销毁)
- MintBurnBankERC20.sol – 具有授权铸造和销毁 token 的所有者的 ERC20
