#cosmwasm #contract #version #template #timeout #github

bin+lib wasm-test-2

简单带仲裁员和超时的CosmWasm托管合约

1 个不稳定版本

0.1.0 2024年8月1日

#956 in 魔法豆

Download history 103/week @ 2024-07-28 3/week @ 2024-08-04

106 每月下载量

自定义许可

25KB
282

CosmWasm入门套件

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

从模板创建新仓库

假设你已经安装了最新版本的Rust和Cargo(通过rustup),然后以下命令可以为你创建一个新的仓库来开始合约

安装cargo-generate和cargo-run-script。除非你已经安装了它们,否则现在运行此行

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

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

最新版本

cargo generate --git https://github.com/CosmWasm/cw-template.git --name PROJECT_NAME

用于克隆最小代码仓库

cargo generate --git https://github.com/CosmWasm/cw-template.git --name PROJECT_NAME -d minimal=true

现在,你将有一个名为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 ActionsCircle CI提供了模板配置,因此您可以立即开始使用CI。

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

使用您的项目

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

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

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

依赖关系

~4–7.5MB
~150K SLoC