1 个不稳定版本
0.1.0 | 2021年7月26日 |
---|
#26 in #legacy
73KB
2K SLoC
CW20 基础版
这个版本的 cw20 基础合约与在 Terra 链 Columbus-4 上运行的旧版合约兼容。
这是一个 cw20 合约的基本实现。它实现了 CW20 规范,并设计为可以直接部署或导入到其他合约中,以轻松构建具有自定义逻辑的 cw20 兼容代币。
实现
- CW20 基础
- 可铸造扩展
- 允许扩展
运行此合约
您需要安装 Rust 1.44.1+,并带有 wasm32-unknown-unknown
目标。
您可以通过以下方式在此处运行单元测试:
cargo测试
一旦您对内容满意,您可以通过以下方式将其编译为 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/cosmwasm-plus#compiling。
导入此合约
您还可以导入此合约的大部分逻辑来构建另一个 ERC20 合约,例如债券曲线,覆盖或扩展所需的内容。
基本上,您只需要编写您的处理函数,导入 cw20_base::contract::handle_transfer
等等,并将它们调度到它们。这允许您使用自定义 ExecuteMsg
和 QueryMsg
与您的附加调用一起使用,但仍然使用底层实现来支持您想要支持的标准化 cw20 消息。同样,对于 QueryMsg
。您 可以 重复使用 instantiate
,但您可能想要更改它。并且这相当简单。
查看 cw20-staking
以了解如何“继承”所有这些代币功能并将其与自定义逻辑相结合的示例。
依赖关系
~3.5–5MB
~106K SLoC