#github #git #contract #experience #dev #generated #cosmwasm

devx1

使用简单计数器进行的开发经验测试,由 https://github.com/confio/cosmwasm-template.git 生成

1 个不稳定版本

0.1.0 2020年3月15日

#27 in #experience

Apache-2.0

27KB
200 代码行

Cosmwasm Starter Pack

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

从模板创建新仓库

假设你已经安装了最新版本的 rust 和 cargo(通过 rustup),那么以下步骤应该能帮你创建一个新的仓库来开始编写合约

首先,安装 cargo generate。除非你之前已经安装,否则现在运行这条命令

cargo install cargo-generate --features vendored-openssl

现在,使用它来创建你的新合约。进入你想要放置合约的文件夹,然后运行

cargo generate --git https://github.com/confio/cosmwasm-template.git --name YOUR_NAME_HERE

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

创建仓库

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

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

持续集成支持

我们在生成的项目中提供了 GitHub Actions 和 Circle CI 的模板,因此你可以立即开始使用 CI。需要注意的是,CI 使用 cargo 命令的 --locked 选项运行,以确保它使用与你本地相同的确切版本。这也意味着你必须有一个最新的 Cargo.lock 文件,该文件不是自动生成的。

第一次设置项目(或添加任何依赖项后),你应该确保更新 Cargo.lock 文件,以便 CI 可以正确测试。这可以通过简单地运行 cargo checkcargo unit-test

使用你的项目

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

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

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

依赖项

~1.6–3MB
~64K SLoC