Giter Site home page Giter Site logo

fgimenez / alphanet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paradigmxyz/alphanet

0.0 0.0 0.0 1.18 MB

Reth AlphaNet is a testnet OP Stack-compatible rollup aimed at enabling experimentation of bleeding edge Ethereum Research.

License: Apache License 2.0

Rust 90.38% Makefile 4.80% Dockerfile 1.29% Solidity 3.52%

alphanet's Introduction

alphanet

MIT License Apache-2.0 License CI Status

What is Reth AlphaNet?

Reth AlphaNet is a testnet OP Stack rollup aimed at enabling experimentation of bleeding edge Ethereum Research. AlphaNet is not a fork of reth. AlphaNet implements traits provided by the reth node builder API, allowing implementation of precompiles and instructions of experimental EIPs without forking the node.

Specifically, AlphaNet currently implements the following EIPs:

  • EIP-3074: AUTH and AUTHCALL instructions.
  • EIP-7212: Precompile for secp256r1 curve support.
  • EIP-2537: Precompiles for BLS12-381 curve operations.

Why AlphaNet?

AlphaNet has 2 goals:

  1. Showcase Reth's performance at the extremes. We intend to launch a hosted version of AlphaNet on Conduit, targeting 50mgas/s, and eventually ramping up to 1ggas/s and beyond. In the process we hope to hit the state growth performance bottleneck, and discover ways to solve it. If our hosted chains end up getting too big, we may possibly restart the experiment from zero, and try again.
  2. Showcase how Reth's modular architecture can serve as a distribution channel for research ideas. Specifically, AlphaNet's node extensions were chosen for their ability to enable applications that enhance the onchain user experience, and drastically reduce cost for existing applications that improve UX.

AlphaNet Local Development

AlphaNet does not yet have a running testnet, but can be run locally for development and testing purposes. To do this, the binary can be run with the --dev flag, which will start the node with a development configuration.

First, alphanet should be built locally:

git clone https://github.com/paradigmxyz/alphanet
cd alphanet
cargo install --path bin/alphanet
alphanet node --chain etc/alphanet-genesis.json --dev --http --http.api all

This will start the node with a development configuration, and expose the HTTP API on http://localhost:8545.

To use 3074-enabled foundry, use eip-3074-foundry and follow installation instructions.

Running AlphaNet

⚠️ AlphaNet does not yet have a running testnet, please use the local development instructions above! ⚠️

Running AlphaNet will require running additional infrastructure for the archival L1 node. These instructions are a guide for running the AlphaNet OP-stack node only.

For instructions on running the full AlphaNet OP stack, including the L1 node, see the Reth book section on running the OP stack, using the alphanet binary instead of op-reth.

Running the alphanet execution node

To run AlphaNet from source, clone the repository and run the following commands:

git clone https://github.com/paradigmxyz/alphanet.git
cd alphanet
cargo install --path bin/alphanet
alphanet node
    --chain etc/alphanet-genesis.json \
    --rollup.sequencer-http <TODO> \
    --http \
    --ws \
    --authrpc.port 9551 \
    --authrpc.jwtsecret /path/to/jwt.hex

Running op-node with the alphanet configuration

Once alphanet is started, op-node can be run with the included alphanet-rollup.json:

cd alphanet/
op-node \
    --rollup.config ./etc/alphanet-rollup.json \
    --l1=<your-sepolia-L1-rpc> \
    --l2=http://localhost:9551 \
    --l2.jwt-secret=/path/to/jwt.hex \
    --rpc.addr=0.0.0.0 \
    --rpc.port=7000 \
    --l1.trustrpc

Security

See SECURITY.md.

Note on EIP-3074 integration tests

If you are modifying the EIP-3074 solidity smart contracts used in the alphanet-testing crate you should regenerate the built artifacts with:

$ make build-eip3074-bytecode

This command uses the docker image from the foundry-alphanet repo which contains patched versions of solc and forge compatible with the instructions introduced by EIP-3074.

The changes in the artifacts should be committed to this repo, this way we don't have to rely on docker being available to generate the artifacts and run the tests. There's a CI step that will check if the committed artifacts match the smart contracts source code.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

alphanet's People

Contributors

fgimenez avatar rjected avatar mattsse avatar github-actions[bot] avatar danipopes avatar anna-carroll avatar enitrat avatar jxom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.