1 个不稳定版本
0.1.0 | 2023年10月17日 |
---|
#54 in #entry
24 个月下载量
在 4 crates 中使用
14KB
315 行
CosmWasm Starter Pack
这是一个用于在所有支持其功能的链上的 Cosmos SDK 模块中运行智能合约的 Rust 模板。为了更好地了解框架,请阅读 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(持续集成)使用cargo
命令时都会带上--locked
参数,以确保使用与本地完全相同的版本。这也意味着你必须有一个最新的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入门指南启动您的 workspace。
依赖项
~5–7MB
~148K SLoC