| Crates.io | aurora-engine-precompiles |
| lib.rs | aurora-engine-precompiles |
| version | 1.2.0 |
| created_at | 2024-04-16 18:35:59.371505+00 |
| updated_at | 2025-03-18 16:47:58.111258+00 |
| description | Set of precompiles that used in Aurora Engine |
| homepage | https://github.com/aurora-is-near/aurora-engine |
| repository | https://github.com/aurora-is-near/aurora-engine |
| max_upload_size | |
| id | 1210524 |
| size | 231,453 |
Aurora Engine implements an Ethereum Virtual Machine (EVM) on the NEAR Protocol. See doc.aurora.dev for additional documentation.
| Network | Contract ID | Chain ID |
|---|---|---|
| Mainnet | aurora |
1313161554 |
| Testnet | aurora |
1313161555 |
| Local | aurora.test.near |
1313161556 |
cargo install --force cargo-make
master is the current stable branch.
It must be ready, at all times, to be deployed on chain at a moment's notice.
develop is our bleeding-edge development branch.
In general, kindly target all pull requests to this branch.
Every task with cargo make must have a --profile argument.
The current available profiles are:
mainnet: suitable for mainnet.mainnet-silo: silo contract suitable for mainnet.testnet: suitable for testnet.testnet-silo: silo contract suitable for testnet.local: suitable for local development.custom: suitable for custom environments, see note below.In some circumstances, you may require a custom environment. This can
be created in the .env folder as custom.env following the structure of the
other .env files. See bin/local-custom.env for more details.
Every make invocation must follow the following pattern, though --profile is
not required in all cases (such as cleanup):
cargo make [--profile <profile>] <task>
There are several commands that can be used to build the binaries. The currently supported parameters
for the task field are listed below:
default: does not need to be specified, runs build. Requires a --profile
argument.build: builds all engine smart contract and produces the
aurora-<profile>-test.wasm in the bin folder. Requires build-contracts.
Requires a --profile argument.build-test: builds all the below using test features. Requires a --profile
argument.build-contracts: builds all the ETH contracts.build-docker: builds the aurora-<profile>-test.wasm in the bin folder using docker build environment.
The purpose of this task is to produce reproducible binaries.For example, the following will build the mainnet debug binary:
cargo make --profile mainnet build
To verify that a deployed binary matches the source code, you may want to build it reproducibly and then verify that the SHA256 hash matches that of the deployed binary. The motivation behind this is to prevent malicious code from being deployed.
Run these commands to produce the binary hash:
cargo make --profile <profile> build-docker
shasum -a 256 bin/aurora-<profile>.wasm
To run tests, there are a few cargo make tasks we can run:
test-workspace: tests only the cargo workspace.test-contracts: tests only the contracts.test: tests the whole cargo workspace, ETH contracts and runs modexp benchmarks. Requires a --profile argument.test-flow: tests the whole cargo workspace and ETH contracts. Requires a --profile argument.bench-modexp: runs modexp benchmarks. Requires a --profile argument.For example, the following will test the whole workspace and ETH contracts:
cargo make --profile mainnet test
The following tasks are available to run lints and checks:
check: checks the format, clippy and ETH contracts.check-contracts runs yarn lints on the ETH contracts.check-fmt: checks the workspace Rust format only.clippy: checks the Rust workspace with clippy only.For example, the following command will run the checks. profile is not required
here:
cargo make check
The following tasks are available to clean up the workspace:
clean: cleans all built binaries and ETH contracts.clean-cargo: cleans with cargo.clean-contracts: cleans the ETH contracts.clean-bin: cleans the binaries.Additionally, there is also but not included in the clean task:
sweep: sweeps the set amount of days in the ENV, default to 30 days.For example, the following command will clean everything. profile is not
required:
cargo make clean
aurora-engine has multiple licenses:
engine-test have CCO-1.0 licenseengine-test has GPL-v3 license