1 个不稳定版本
0.1.0 | 2023年10月18日 |
---|
#68 in #warp
88KB
2K SLoC
CosmWasm入门包
这是一个在所有启用它的链上运行Rust智能合约的模板,在Cosmos SDK模块内。为了更好地了解框架,请阅读cosmwasm仓库中的概述,并深入研究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 Actions和Circle CI的模板配置,因此您可以立即开始使用CI。
注意一点是,CI 会使用带有 --locked
的命令来运行所有的 cargo
命令,以确保它与本地使用的版本完全相同。这也意味着你必须有一个最新的 Cargo.lock
文件,该文件不是自动生成的。第一次设置项目(或添加任何依赖后),你应该确保 Cargo.lock
文件已更新,以便 CI 可以正确地进行测试。这可以通过简单地运行 cargo check
或 cargo unit-test
来完成。
使用您的项目
一旦您有了自定义的仓库,您应该检出 开发 来了解如何运行测试和开发代码。或者查看 在线教程 以更好地了解如何进行开发。
发布 包含有关如何将您的合约发布到世界的有用信息,一旦您准备在运行的区块链上部署它。而 导入 包含有关拉取已发布的其他合约或crate的信息。
请用您特定项目的信息替换此 README 文件。您可以保留 Developing.md
和 Publishing.md
文件作为有用的参考资料,但在 README 中请设置一些适当的描述。
Gitpod 集成
Gitpod 基于容器的开发平台将默认启用您的项目。
工作区包含
- rust:用于构建
- wasmd:用于本地节点设置和客户端
- jq:shell JSON 操作工具
遵循 Gitpod 入门 并启动您的工作区。
依赖项
~7.5MB
~163K SLoC