6 个版本 (稳定)
3.0.0 | 2024 年 7 月 11 日 |
---|---|
2.0.0 | 2024 年 5 月 1 日 |
2.0.0-rc | 2024 年 4 月 25 日 |
1.4.0 |
|
1.0.1 | 2023 年 6 月 22 日 |
#720 in 魔法豆
每月下载量 3,250
用于 6 个crate
175KB
3.5K SLoC
CW20 基础
这是 cw20 合约的基本实现。它实现了 CW20 规范,旨在直接部署或导入其他合约以轻松构建具有自定义逻辑的 cw20 兼容代币。
实现
- CW20 Base
- 可铸造扩展
- 允许扩展
运行此合约
您需要安装 Rust 1.44.1+,并配置 wasm32-unknown-unknown
目标。
您可以通过以下方式运行单元测试:
cargotest
一旦您对内容满意,您可以通过以下方式将其编译为 wasm:
RUSTFLAGS='-C link-arg=-s' cargo wasm
cp ../../target/wasm32-unknown-unknown/release/cw20_base.wasm .
ls -l cw20_base.wasm
sha256sum cw20_base.wasm
或者,为了进行生产就绪(优化)构建,在仓库根目录中运行构建命令:https://github.com/CosmWasm/cw-plus#compiling。
导入此合约
您还可以导入此合约的大部分逻辑以构建另一个 ERC20 合约,例如一个债券曲线,覆盖或扩展您所需的部分。
基本上,您只需要编写您的处理函数,并导入 cw20_base::contract::handle_transfer
等模块,并将它们分发出去。这允许您使用自定义的 ExecuteMsg
和 QueryMsg
与您的附加调用一起使用,但仍然使用标准 cw20 消息的底层实现。同样也适用于 QueryMsg
。您 可以 重新使用 instantiate
作为它,但您可能希望修改它。而且这相当简单。
查看 cw20-staking
了解如何“继承”所有这些令牌功能并将其与自定义逻辑结合的示例。
依赖关系
~5–17MB
~191K SLoC