1个不稳定版本

0.1.0 2023年10月18日

#67 in #warp

MIT许可证

120KB
2.5K SLoC

CosmWasm 入门包

这是一个用于在支持它的所有链上的Cosmos SDK模块中运行Rust智能合约的模板。为了更好地了解框架,请阅读cosmwasm repo中的概述,并深入了解cosmwasm文档。这假设你已经理解了理论,只是想开始编码。

从模板创建新仓库

假设你已经安装了最近版本的rust和cargo(v1.58.1+)(通过rustup),然后以下命令将为你创建一个新的仓库以启动合约

安装 cargo-generate 和 cargo-run-script。除非你之前已经这样做,否则现在运行此命令

cargo install cargo-generate --features vendored-openssl
cargo install cargo-run-script

现在,使用它来创建你的新合约。转到你想放置它的文件夹,并运行

最新版本:1.0.0-beta6

cargo generate --git https://github.com/CosmWasm/cw-template.git --name PROJECT_NAME

旧版本

通过分支标志传递版本

cargo generate --git https://github.com/CosmWasm/cw-template.git --branch <version> --name PROJECT_NAME

示例

cargo generate --git https://github.com/CosmWasm/cw-template.git --branch 0.16 --name PROJECT_NAME

现在你将有一个名为 PROJECT_NAME 的新文件夹(我希望你已经将其更改为其他名称),其中包含一个简单的可工作合约和构建系统,你可以自定义。

创建仓库

生成后,你有一个初始化的本地git仓库,但没有提交,也没有远程仓库。转到服务器(例如github)并创建一个新的上游仓库(如下面的YOUR-GIT-URL)。然后运行以下命令

# this is needed to create a valid Cargo.lock file (see below)
cargo check
git branch -M main
git add .
git commit -m 'Initial Commit'
git remote add origin YOUR-GIT-URL
git push -u origin main

CI支持

在生成的项目中,我们提供了GitHub ActionsCircle CI的模板配置,因此你可以立即开始使用CI。

需要注意的一点是,CI 会使用 cargo 命令与 --locked 选项一起运行,以确保它使用与您本地完全相同的版本。这也意味着您必须有一个最新的 Cargo.lock 文件,该文件不是自动生成的。第一次设置项目(或在添加任何依赖后),您应确保 Cargo.lock 文件已更新,以便 CI 能够正确测试。这可以通过简单地运行 cargo checkcargo unit-test 来完成。

使用您的项目

一旦您有了自定义仓库,您应该检出 Developing 来了解如何运行测试和开发代码的更多信息。或者通过 在线教程 来更好地了解如何开发。

发布 包含有关如何将合约发布到全球的信息,一旦您准备在运行的区块链上部署它。而 导入 包含有关拉取已发布的其他合约或 crate 的信息。

请用您项目的具体信息替换此 README 文件。您可以保留 Developing.mdPublishing.md 文件作为有用的参考资料,但请在 README 中添加一些适当的描述。

Gitpod 集成

Gitpod 基于容器的开发平台将默认启用您的项目。

工作区包含

  • rust: 用于构建
  • wasmd: 用于本地节点设置和客户端
  • jq: 壳 JSON 操作工具

按照 Gitpod 入门指南 进行操作并启动工作区。

依赖项

~5–7MB
~148K SLoC