2 个稳定版本
| 1.1.0 | 2024 年 4 月 16 日 |
|---|---|
| 1.0.0 | 2023 年 4 月 21 日 |
5 在 #aurora 中排名
每月下载量 3,437
用于 2 crates
175KB
4K SLoC
Aurora Engine
Aurora Engine 在 NEAR 协议上实现了以太坊虚拟机 (EVM)。有关更多文档,请参阅 doc.aurora.dev。
部署
| 网络 | 合约 ID | 链 ID |
|---|---|---|
| 主网 | aurora |
1313161554 |
| 测试网 | aurora |
1313161555 |
| 本地 | aurora.test.near |
1313161556 |
开发
先决条件
- Node.js (v14+)
- cargo-make
cargo install --force cargo-make
开发先决条件
- Node.js (v14+)
- Docker
- cargo-make
开发
分支
构建和制作命令
所有带有 cargo make 的任务都必须具有 --profile 参数。
当前可用的 profile 有
mainnet:适合主网。mainnet-silo:适合主网的 silo 合约。testnet:适合测试网。testnet-silo:适合测试网的 silo 合约。local:适合本地开发。custom:适合自定义环境,见下文说明。
在某些情况下,您可能需要一个自定义环境。这可以在 .env 文件夹中创建,名称为 custom.env,遵循其他 .env 文件的结构。有关更多详细信息,请参阅 bin/local-custom.env。
每次调用 make 都必须遵循以下模式,尽管在某些情况下(例如清理)不需要 --profile。
cargo make [--profile <profile>] <task>
构建引擎和合约
有几个命令可以用来构建二进制文件。下面列出了目前支持的 task 字段参数:
default:不需要指定,运行build。需要--profile参数。build:构建所有引擎智能合约,并在bin文件夹中生成aurora-<profile>-test.wasm。需要build-contracts。需要--profile参数。build-test:使用测试功能构建以下所有内容。需要--profile参数。build-contracts:构建所有 ETH 合约。build-docker:使用 docker 构建环境在bin文件夹中构建aurora-<profile>-test.wasm。此任务的目的是生成可重复的二进制文件。
例如,以下命令将构建主网调试二进制文件:
cargo make --profile mainnet build
验证二进制哈希
为了验证已部署的二进制文件与源代码匹配,您可能需要可重复构建它并验证 SHA256 哈希与已部署的二进制文件匹配。这样做是为了防止恶意代码被部署。
运行以下命令以生成二进制哈希:
cargo make --profile <profile> build-docker
shasum -a 256 bin/aurora-<profile>.wasm
运行单元测试和集成测试
要运行测试,我们可以运行一些 cargo make 任务
test:测试整个 cargo 工作空间和 ETH 合约。需要--profile参数。test-workspace:仅测试 cargo 工作空间。test-contracts:仅测试合约。test:测试整个 cargo 工作空间、ETH 合约并运行 modexp 基准测试。需要--profile参数。test-flow:测试整个 cargo 工作空间和 ETH 合约。需要--profile参数。bench-modexp:运行 modexp 基准测试。需要--profile参数。
例如,以下命令将测试整个工作空间和 ETH 合约:
cargo make --profile mainnet test
运行检查和 lint
以下任务可用于运行 lint 和检查:
check:检查格式、clippy 和 ETH 合约。check-contracts在 ETH 合约上运行 yarn lints。check-fmt:仅检查工作空间的 Rust 格式。clippy:仅使用 clippy 检查 Rust 工作空间。
例如,以下命令将运行检查。这里不需要 profile。
cargo make check
清理
以下任务可用于清理工作空间:
clean:清理所有构建的二进制文件和 ETH 合约。clean-cargo:使用 cargo 清理。clean-contracts:清理 ETH 合约。clean-bin:清理二进制文件。
此外,还有一些任务未包含在 clean 任务中:
sweep:清除 ENV 中的指定天数,默认为 30 天。
例如,以下命令将清理所有内容。这里不需要 profile。
cargo make clean
许可
aurora-engine 有多个许可证
- 除了
engine-test之外的所有crate都有 CCO-1.0 许可证 engine-test拥有 GPL-v3 许可证
依赖项
~4–6MB
~108K SLoC