#contract #first #version #machine #cw #github #git-branch

cw-luke-vending-machine

Luke 的第一个 CW 合约,一个简单的自动售货机

3 个不稳定版本

0.2.1 2022年4月14日
0.2.0 2022年4月14日
0.1.0 2022年4月14日

#10 in #cw

MIT 许可证

22KB
250 代码行

CosmWasm 启动包

这是一个用于构建在所有启用其功能的链上的 Cosmos SDK 模块中运行的智能合约的 Rust 模板。为了更好地理解框架,请阅读 cosmwasm 仓库 中的概述,并深入研究 cosmwasm 文档。这假设您已经理解了理论,只想开始编码。

从模板创建新仓库

假设您已安装了最新的 rust 和 cargo (v1.51.0+)(通过 rustup),然后以下命令将帮助您创建一个新的仓库以启动合约

安装 cargo-generate 和 cargo-run-script。除非您之前已经安装,否则现在运行以下行

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

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

最新版本:0.16

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.14 --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 master

CI 支持

在生成的项目中,我们提供了 GitHub ActionsCircle CI 的模板配置,因此您可以直接设置 CI。

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

使用您的项目

一旦您有了自定义仓库,您应该检出 开发 来了解如何运行测试和开发代码。或者浏览 在线教程 以更好地了解如何开发。

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

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

Gitpod 集成

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

工作空间包含

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

按照 Gitpod 入门 指南启动您的 workspace。

依赖关系

~3–4.5MB
~101K SLoC