55 个版本 (6 个稳定版)
2.0.0 | 2024年3月26日 |
---|---|
1.1.2 | 2023年11月23日 |
1.1.0 | 2023年6月20日 |
1.0.1 | 2022年12月19日 |
0.1.0 | 2020年7月7日 |
在 #cw20 中排名 1
每月下载量 16,033
被 119 个 仓库使用(直接使用98个)
165KB
3.5K SLoC
CW20 Basic
这是一个 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
以了解如何“继承”所有这些代币功能并将其与自定义逻辑结合的示例。
依赖项
~4–7.5MB
~152K SLoC