1 个稳定版本
2.0.0 | 2021 年 7 月 6 日 |
---|
#11 在 #lottery
57 每月下载量
235KB
4.5K SLoC
CosmWasm Starter Pack
这是一个用于在所有支持它的链上构建智能合约的 Rust 模板,以便在 Cosmos SDK 模块内运行。为了更好地理解框架,请阅读 cosmwasm 仓库 中的概述,并深入研究 cosmwasm 文档。这假设您已经理解了理论,只想开始编码。
从模板创建新仓库
假设您已安装了 rust 和 cargo(v1.44.1+)(通过 rustup),则以下操作应为您提供一个新仓库,以便开始编写合约
首先,安装 cargo-generate。除非您之前已经安装,否则现在运行此命令
cargo install cargo-generate --features vendored-openssl
现在,使用它来创建您的新合约。转到您想放置它的文件夹,并运行
0.11(最新版本)
cargo generate --git https://github.com/CosmWasm/cosmwasm-template.git --name PROJECT_NAME
0.10
cargo generate --git https://github.com/CosmWasm/cosmwasm-template.git --branch 0.10 --name PROJECT_NAME
0.9
cargo generate --git https://github.com/CosmWasm/cosmwasm-template.git --branch 0.9 --name PROJECT_NAME
0.8
cargo generate --git https://github.com/CosmWasm/cosmwasm-template.git --branch 0.8 --name PROJECT_NAME
现在,您将拥有一个名为 PROJECT_NAME
的新文件夹(我希望您将其更改为其他名称),其中包含一个简单的可工作合约和构建系统,您可以对其进行自定义。
创建仓库
生成后,您将有一个初始化的本地 git 仓库,但没有提交,也没有远程仓库。转到服务器(例如 GitHub)并创建一个新的上游仓库(如下所示)。然后运行以下命令
# this is needed to create a valid Cargo.lock file (see below)
cargo check
git checkout -b master # in case you generate from non-master
git add .
git commit -m 'Initial Commit'
git remote add origin YOUR-GIT-URL
git push -u origin master
CI 支持
在生成的项目中,我们提供了 GitHub Actions 和 Circle CI 的模板配置,因此您可以立即开始使用 CI。
需要注意的是,CI运行所有cargo
命令时使用--locked
选项,以确保它使用与本地完全相同的版本。这也意味着您必须有一个最新的Cargo.lock
文件,该文件不是自动生成的。第一次设置项目(或添加任何依赖项后),您应确保Cargo.lock
文件已更新,以便CI可以正确测试。这可以通过简单地运行cargo check
或cargo unit-test
来实现。
使用您的项目
一旦您有了自定义仓库,您应该检出Developing来了解如何运行测试和开发代码。或者浏览在线教程以更好地了解如何开发。
发布包含有关如何将合约发布到全球的信息,一旦您准备好在运行的区块链上部署它。而导入包含有关拉取其他已发布合约或crate的信息。
请用您具体项目的信息替换这个README文件。您可以将Developing.md
和Publishing.md
文件作为有用的参考,但请在README中设置一些适当的描述。
依赖项
~8MB
~159K SLoC