{"id":13341470,"url":"https://github.com/andrcmdr/aurora-engine","last_synced_at":"2025-03-11T21:31:08.122Z","repository":{"id":92839155,"uuid":"428401666","full_name":"andrcmdr/aurora-engine","owner":"andrcmdr","description":"⚙️ Aurora Engine implements an Ethereum Virtual Machine (EVM) on the NEAR Protocol.","archived":false,"fork":false,"pushed_at":"2021-12-12T12:47:35.000Z","size":8029,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"custom-borsh-de-ser-for-wei","last_synced_at":"2024-10-24T08:30:54.924Z","etag":null,"topics":["blockchain","evm","rust","smart-contracts","wasm","web-assembly","webassembly"],"latest_commit_sha":null,"homepage":"https://doc.aurora.dev/develop/compat/evm","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrcmdr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-15T19:50:39.000Z","updated_at":"2021-11-18T16:30:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"65a1850b-eebf-4ffb-a8a1-056032190560","html_url":"https://github.com/andrcmdr/aurora-engine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrcmdr%2Faurora-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrcmdr%2Faurora-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrcmdr%2Faurora-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrcmdr%2Faurora-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrcmdr","download_url":"https://codeload.github.com/andrcmdr/aurora-engine/tar.gz/refs/heads/custom-borsh-de-ser-for-wei","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243115380,"owners_count":20238749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","evm","rust","smart-contracts","wasm","web-assembly","webassembly"],"created_at":"2024-07-29T19:25:28.501Z","updated_at":"2025-03-11T21:31:08.115Z","avatar_url":"https://github.com/andrcmdr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aurora Engine\n\n[![Project license](https://img.shields.io/badge/License-Public%20Domain-blue.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n[![Discord](https://img.shields.io/discord/490367152054992913?label=Discord)](https://discord.gg/jNjHYUF8vw)\n[![Lints](https://github.com/aurora-is-near/aurora-engine/actions/workflows/lints.yml/badge.svg)](https://github.com/aurora-is-near/aurora-engine/actions/workflows/lints.yml)\n[![Tests](https://github.com/aurora-is-near/aurora-engine/actions/workflows/tests.yml/badge.svg)](https://github.com/aurora-is-near/aurora-engine/actions/workflows/tests.yml)\n[![Builds](https://github.com/aurora-is-near/aurora-engine/actions/workflows/builds.yml/badge.svg)](https://github.com/aurora-is-near/aurora-engine/actions/workflows/builds.yml)\n\nAurora Engine implements an Ethereum Virtual Machine (EVM) on the NEAR Protocol.\nSee [doc.aurora.dev](https://doc.aurora.dev/develop/compat/evm) for additional\ndocumentation.\n\n## Deployments\n\nNetwork | Contract ID         | Chain ID   | Version\n------- | ------------------- | ---------- | ------\nMainnet | [`aurora`][Mainnet] | 1313161554 | 2.2.0\nTestnet | [`aurora`][Testnet] | 1313161555 | 2.2.0\nBetanet | [`aurora`][Betanet] | 1313161556 | 2.2.0\nLocal   | `aurora.test.near`  | 1313161556 | 2.2.0\n\n[Mainnet]: https://explorer.near.org/accounts/aurora\n[Testnet]: https://explorer.testnet.near.org/accounts/aurora\n[Betanet]: https://explorer.betanet.near.org/accounts/aurora\n\n## Prerequisites\n\n### Prerequisites for Building\n\n- Rust nightly (2021-03-25) with the WebAssembly toolchain\n- GNU Make (3.81+)\n\n```sh\nrustup install nightly-2021-03-25\nrustup target add wasm32-unknown-unknown --toolchain nightly-2021-03-25\n```\n\n### Prerequisites for Development\n\n- Node.js (v14+)\n\n## Development\n\n### Branches\n\n- [`master`] is the current stable branch.\n  It must be ready, anytime, to deployed on chain at a moment's notice.\n\n- [`develop`] is our bleeding-edge development branch.\n  In general, kindly target all pull requests to this branch.\n\n### Building the EVM binary\n\n```sh\nmake release  # produces mainnet-release.wasm (300+ KiB)\nmake -B mainnet  # produces Mainnet build\nmake -B testnet  # produces Testnet build\nmake -B betanet  # produces Betanet build\n\nmake debug    # produces mainnet-debug.wasm (1+ MiB), which includes symbols\nmake -B mainnet-debug # produces Mainnet debug build\nmake -B testnet-debug # produces Testnet debug build\nmake -B betanet-debug #produces Betanet debug build\n```\n\n### Running unit \u0026 integration tests\n\n```sh\nmake check\n```\n\n## Deployment\n\n### Downloading the latest EVM release\n\n```sh\nwget https://github.com/aurora-is-near/aurora-engine/releases/download/latest/mainnet-release.wasm\n```\n\n### Installing the Aurora CLI tool\n\n```sh\nnpm install -g aurora-is-near/aurora-cli\n```\n\n### Deploying the EVM with the CLI\n\n```sh\nexport NEAR_ENV=local\nnear delete aurora.test.near test.near  # if needed\nnear create-account aurora.test.near --master-account=test.near --initial-balance 1000000\naurora install --chain 1313161556 --owner test.near mainnet-release.wasm\n```\n\n### Deploying the EVM without the CLI\n\n```sh\nexport NEAR_ENV=local\nnear delete aurora.test.near test.near  # if needed\nnear create-account aurora.test.near --master-account=test.near --initial-balance 1000000\nnear deploy --account-id=aurora.test.near --wasm-file=mainnet-release.wasm\naurora initialize --chain 1313161556 --owner test.near\n```\n\n## Usage\n\n### Examining deployed EVM metadata\n\n```sh\naurora get-version\naurora get-owner\naurora get-bridge-prover\naurora get-chain-id\n```\n\n### Deploying EVM contract bytecode\n\n```sh\naurora deploy-code @contract.bytecode\n```\n\n```sh\naurora deploy-code 0x600060005560648060106000396000f360e060020a6000350480638ada066e146028578063d09de08a1460365780632baeceb714604d57005b5060005460005260206000f3005b5060016000540160005560005460005260206000f3005b5060016000540360005560005460005260206000f300\n```\n\n### Examining EVM contract state\n\n```console\n$ aurora encode-address test.near\n0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B\n```\n\n```sh\naurora get-nonce 0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B\naurora get-balance 0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B\naurora get-code 0xFc481F4037887e10708552c0D7563Ec6858640d6\naurora get-storage-at 0xFc481F4037887e10708552c0D7563Ec6858640d6 0\n```\n\n### Calling an EVM contract read-only\n\n```console\n$ aurora encode-address test.near\n0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B\n```\n\n```sh\naurora view --sender 0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B 0xFc481F4037887e10708552c0D7563Ec6858640d6 0x8ada066e  # getCounter()\naurora view --sender 0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B 0xFc481F4037887e10708552c0D7563Ec6858640d6 0xd09de08a  # increment()\naurora view --sender 0xCBdA96B3F2B8eb962f97AE50C3852CA976740e2B 0xFc481F4037887e10708552c0D7563Ec6858640d6 0x2baeceb7  # decrement()\n```\n\n### Calling an EVM contract mutatively\n\n```sh\naurora call 0xFc481F4037887e10708552c0D7563Ec6858640d6 0xd09de08a  # increment()\naurora call 0xFc481F4037887e10708552c0D7563Ec6858640d6 0x2baeceb7  # decrement()\n```\n\n## Debugging\n\n### Inspecting EVM storage state\n\n```sh\nnear state aurora.test.near\naurora dump-storage\n```\n\n[`master`]:  https://github.com/aurora-is-near/aurora-engine/commits/master\n[`develop`]: https://github.com/aurora-is-near/aurora-engine/commits/develop\n\n## License\n**aurora-engine** has multiple licenses:\n* all crates except `engine-test` has **CCO-1.0** license\n* `engine-test` has **GPL-v3** license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrcmdr%2Faurora-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrcmdr%2Faurora-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrcmdr%2Faurora-engine/lists"}