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

Download history 3794/week @ 2024-04-29 2643/week @ 2024-05-06 2629/week @ 2024-05-13 3582/week @ 2024-05-20 2648/week @ 2024-05-27 3533/week @ 2024-06-03 4008/week @ 2024-06-10 3998/week @ 2024-06-17 3622/week @ 2024-06-24 2906/week @ 2024-07-01 2950/week @ 2024-07-08 4654/week @ 2024-07-15 4189/week @ 2024-07-22 3765/week @ 2024-07-29 2335/week @ 2024-08-05 5162/week @ 2024-08-12

每月下载量 16,033
119 仓库使用(直接使用98个)

Apache-2.0

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 等等,并将它们分发到它们。这允许您使用自定义的 ExecuteMsgQueryMsg 进行附加调用,但可以使用底层实现来支持您想要的标准 cw20 消息。同样适用于 QueryMsg。您 可以 重用 instantiate,但您可能希望更改它。而且这相当简单。

请查看 cw20-staking 以了解如何“继承”所有这些代币功能并将其与自定义逻辑结合的示例。

依赖项

~4–7.5MB
~152K SLoC