#smart-contracts #contract #testing #command-line-tool #cargo-toml #networking #casper-labs

已删除 cargo-casperlabs

CasperLabs 网络上创建 Wasm 智能合约及其测试的命令行工具

0.9.1 2020年7月31日
0.8.1 2020年7月2日
0.7.0 2020年3月31日

#19 in #casper-labs

每月 31 次下载

自定义许可

380KB
583 行代码

cargocasperlabs

LOGO

Build Status Crates.io Documentation License

一个用于在 CasperLabs 网络上创建 Wasm 智能合约及其测试的命令行工具。

安装

cargo casperlabs 是一个 Cargo 子命令,可以通过 cargo install 安装

cargo install cargo-casperlabs

从最新的 dev 分支安装

git clone https://github.com/CasperLabs/CasperLabs
cd CasperLabs/execution-engine/cargo-casperlabs
cargo install cargo-casperlabs --path=.

用法

创建一个名为 "my_project" 的文件夹,包含一个示例合约和一个用于合约的单独测试包

cargo casperlabs my_project

这将创建以下文件

my_project/
├── contract
│   ├── .cargo
│   │   └── config
│   ├── Cargo.toml
│   ├── rust-toolchain
│   └── src
│       └── main.rs
├── tests
│   ├── build.rs
│   ├── Cargo.toml
│   ├── rust-toolchain
│   ├── src
│   │   └── integration_tests.rs
│   └── wasm
│       ├── mint_install.wasm
│       ├── pos_install.wasm
│       ├── standard_payment_install.wasm
│       └── standard_payment.wasm
└── .travis.yml

构建合约

要构建合约,必须安装正确的 Rust 版本以及 Wasm 目标

cd my_project/contract
rustup install $(cat rust-toolchain)
rustup target add --toolchain=$(cat rust-toolchain) wasm32-unknown-unknown

现在可以使用以下命令构建合约

cargo build --release

并将在 my_project/contract/target/wasm32-unknown-unknown/release/contract.wasm 中构建。

测试合约

运行测试将自动以发布模式构建合约,将其复制到 "tests/wasm" 文件夹,然后构建并运行测试

cd my_project/tests
cargo test

许可

CasperLabs 开源许可 (COSL) 下许可。

依赖关系

~3MB
~41K SLoC