18 个版本 (7 个破坏性更改)
0.8.2 | 2024 年 8 月 16 日 |
---|---|
0.7.0 | 2024 年 8 月 6 日 |
0.6.4 | 2024 年 7 月 22 日 |
0.6.1 | 2024 年 2 月 23 日 |
0.1.0 | 2022 年 6 月 1 日 |
#891 in 魔法豆
每月下载量 5,463 次
在 5 个包中使用 (通过 near-workspaces)
155KB
3.5K SLoC
发布说明
发布说明和未发布更改可在 CHANGELOG 中找到
安装
通过 shell 脚本安装预构建的二进制文件(Linux,macOS)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/near/cargo-near/releases/latest/download/cargo-near-installer.sh | sh
通过 powershell 脚本安装预构建的二进制文件(Windows)
irm https://github.com/near/cargo-near/releases/latest/download/cargo-near-installer.ps1 | iex
将预构建的二进制文件安装到您的 Node.js 应用程序中
npm install cargo-near
从源代码编译和安装(Cargo)
cargo install --locked cargo-near
或,从 Git 仓库安装最新版本
$ git clone https://github.com/near/cargo-near
$ cargo install --locked --path cargo-near
使用方法
查看 cargo near --help
以获取所有可用命令的完整列表,或者运行 cargo near
进入交互模式。使用 --help
标志,每个单独的命令也有帮助,例如 cargo near build --help
。
cargo near
启动交互模式,允许探索所有可用命令。
cargo near new
初始化一个新的项目骨架,从模板创建合约。
cargo near build
构建 NEAR 智能合约及其 ABI(在包含合约 Cargo.toml 的目录中)。
默认情况下,这将在一个 Docker 容器中运行可重复构建。
- 与源代码版本运行,提交到 Git,忽略任何未提交的更改。
- 需要创建项目
Cargo.lock
(例如,通过cargo update
)并将其添加到 Git 中。- 这使下游
cargo
命令能够使用--locked
构建功能。
- 这使下游
- 将使用合约
Cargo.toml
的[package.metadata.near.reproducible_build]
部分- 此部分默认值也可以在由
cargo near new
生成的模板项目的Cargo.toml
中找到。
- 此部分默认值也可以在由
重要标志
-
--no-docker
- 标志可用于使用安装在主机上的 rust 工具链执行常规构建,并运行
cargo-near
命令行工具。 - 无-Docker 构建针对文件系统中的实际代码状态运行,而不是针对源控制中提交的版本。
- 标志可用于使用安装在主机上的 rust 工具链执行常规构建,并运行
-
--no-locked
- 标志允许在 无-Docker 构建中使用,例如生成
Cargo.lock
并 同时构建合约。 - 标志允许在 Docker 构建中使用,但
- 由于依赖项的可能更新和编译
wasm
不匹配,这些构建不可重复。
- 由于依赖项的可能更新和编译
- 标志允许在 无-Docker 构建中使用,例如生成
cargo near abi
在合约的 Cargo.toml 目录中生成 NEAR 智能合约的 ABI。
合约部署后,这将允许您通过调用视图函数 __contract_abi
来检索一个 ZST 压缩的 ABI。
cargo near create-dev-account
指导您在 testnet 上创建新的 NEAR 账户。
cargo near deploy
构建智能合约(相当于 cargo near build
)并指导您将其部署到区块链。
默认情况下,这将在一个 Docker 容器中运行可重复构建。
deploy
命令从 Docker 构建中需要合约的源代码
- 没有任何修改后的跟踪文件,任何已暂存更改或任何未跟踪内容。
- 已推送到远程仓库,由
package.repository
识别。
重要标志
-
--no-docker
- 标志可用于执行常规的 NO-Docker 构建 和 部署。
- 类似于
build
命令,在这种情况下,不适用任何与 git 相关的担忧和限制。
- 类似于
- 标志可用于执行常规的 NO-Docker 构建 和 部署。
-
--no-locked
- 标志因对
build
结果的影响而被拒绝用于部署
- 标志因对
贡献
除非你明确说明,否则根据 Apache-2.0 许可证定义的,你提交的任何有意提交以包含在作品中的贡献,都将按照以下方式双重许可,没有任何附加条款或条件。
许可协议
根据以下任一项许可
- Apache 许可证2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由你选择。
依赖关系
~60–85MB
~1.5M SLoC