Skip to content

atiwari-circle/arc-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Arc Node

The Economic OS for the internet

Website

An open Layer-1 blockchain purpose-built to unite programmable money and onchain innovation with real-world economic activity. Built on Reth with Malachite consensus, Arc delivers the performance, reliability, and liquidity needed to meet the demands of the global internet economy.

Arc is engineered for mass adoption with stablecoins as native gas, opt-in configurable privacy, and deterministic sub-second finality — making it uniquely suited for use cases like onchain credit, capital markets, stablecoin FX, and cross-border payments.

Features

  • Stablecoins as Native Gas - Low, predictable, fiat-based gas fees starting with USDC, enabling seamless transactions whether sending $1 or $1B
  • Opt-in Configurable Privacy - Native privacy tooling enables selective shielding of sensitive financial data while preserving auditability
  • Deterministic Sub-second Finality - Instant settlement finality powered by Malachite BFT consensus engine, meeting institutional regulatory standards
  • EVM Compatible - Full Ethereum compatibility with custom precompiles for native coin operations, post-quantum signatures, and system accounting
  • Advanced Transaction Pool - Configurable pool with custom validation, transaction denylist, and enterprise-grade reliability
  • Production-Ready Infrastructure - Built on Reth's proven codebase with comprehensive testing, monitoring, and modular architecture

Documentation

  • 🚀 Execution - Execution binary and configuration
  • 🗳️ Consensus - Consensus binary and configuration
  • 📊 Profiling - CPU and heap profiling with pprof

Development

Repository setup

Clone the repository (or pull the latest changes). This repository uses Git submodules for Foundry dependencies; initialize and update them with:

git submodule update --init --recursive

Tip: To automatically fetch submodules on git pull, run in the repo root:

git config submodule.recurse true
git config fetch.recurseSubmodules on-demand

Note: USDC contract artifacts are committed to assets/artifacts/stablecoin-contracts/ and do not require a separate build step.

Prerequisites

Install required tools on MacOS with Homebrew:

# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

brew install protobuf node yarn bufbuild/buf/buf

curl -L https://foundry.paradigm.xyz | bash
foundryup

Note: Hardhat only supports even Node.js versions (e.g., 20.x, 22.x). Odd versions like 25.x are not supported. See Hardhat's Node.js support policy for details.

Install JavaScript dependencies:

npm install

Build

Build the project:

make build

Code Quality

Format and lint your code:

make lint

Testing

The test suite includes unit tests, integration tests, contract tests, and smoke tests.

Run tests:

# Unit tests (Rust + linting)
make test-unit

# Integration tests
make test-it

# Contract tests (Solidity)
make test-unit-contract

# Smoke tests (end-to-end validation)
make smoke

# Run all tests
make test-all

Coverage

Generate and view test coverage (requires cargo-llvm-cov):

# Install cargo-llvm-cov on MacOS with Homebrew (one-time setup)
brew install cargo-llvm-cov

# Generate coverage for unit tests
make cov-unit

# Generate HTML report and open in browser
make cov-show

Local testnet

Note: This refers to private, ephemeral testnets for local development, not the public Arc Testnet. See Quake's README for more details.

Launch a full local testnet with 5 execution nodes, 5 consensus nodes, plus Prometheus, Grafana, and Blockscout:

make testnet

Note

If your development environment requires installing custom CA certificates, you can add them to the deployments/certs directory. They must be PEM-encoded and have a .crt extension. They will be automatically installed into the Docker images at build time.

To export a certificate from your system's keychain (macOS):

security find-certificate -p -c '<cert name>' > deployments/certs/<cert name>.crt

Interact with the testnet:

# Send transaction load
make testnet-load

# Stop the testnet
make testnet-down

# Clean up all resources
make testnet-clean

For an in-depth look at system design and individual components, check out the Architecture Guide. For architectural decisions and their rationale, refer to our Architecture Decision Records (ADRs).

Contributing

We welcome contributions! Please follow these steps:

  1. Format and lint: make lint
  2. Build: make build
  3. Test: make test-unit
  4. Check coverage: make cov-show

For more details, see our Contributing Guide.

Resources

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors