Reth AlphaNet is a testnet OP Stack-compatible rollup aimed at enabling experimentation of bleeding edge Ethereum Research.
Rust
178
179 commits
updated Nov 24, 2024
[!IMPORTANT] This repo has been moved to Odyssey and is no longer being maintained.
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:
AlphaNet also implements the EIPs for EOF, or The EVM Object Format.
AlphaNet has 2 goals:
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 EOF-enabled foundry, use forge-eof and follow installation instructions.
[!WARNING]
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.
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
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
Running a local network with a full AlphaNet OP stack with Kurtosis requires some extra setup, since AlphaNet uses a forked version of op-node.
To get started, follow these instructions to install Kurtosis.
Next, clone and build the modified optimism-contract-deployer image:
git clone git@github.com:paradigmxyz/optimism-package.git
cd optimism-package
git switch alphanet
docker build . -t ethpandaops/optimism-contract-deployer:latest --progress plain
[!NOTE]
The image may fail to build if you have not allocated enough memory for Docker.
Finally, run start a Kurtosis enclave (ensure you are still in optimism-package):
kurtosis run --enclave op-devnet github.com/paradigmxyz/optimism-package@alphanet \
--args-file https://raw.githubusercontent.com/paradigmxyz/alphanet/main/etc/kurtosis.yaml
This will start an enclave named op-devnet. You can tear down the enclave with kurtosis enclave rm --force op-devnet, or tear down all enclaves using kurtosis clean -a.
[!NOTE]
If you want to use a custom build of AlphaNet, simply build an AlphaNet image with
docker build . -t ghcr.io/paradigmxyz/alphanet:latest.
Consult the Kurtosis OP package repository for instructions on how to adjust the args file to spin up additional services, like a block exporer.
See SECURITY.md.
Rust
84.1%
Makefile
8.4%
Solidity
5.5%
Dockerfile
2.0%
Reth AlphaNet is a testnet OP Stack-compatible rollup aimed at enabling experimentation of bleeding edge Ethereum Research.
Rust
178
179 commits
updated Nov 24, 2024
[!IMPORTANT] This repo has been moved to Odyssey and is no longer being maintained.
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:
AlphaNet also implements the EIPs for EOF, or The EVM Object Format.
AlphaNet has 2 goals:
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 EOF-enabled foundry, use forge-eof and follow installation instructions.
[!WARNING]
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.
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
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
Running a local network with a full AlphaNet OP stack with Kurtosis requires some extra setup, since AlphaNet uses a forked version of op-node.
To get started, follow these instructions to install Kurtosis.
Next, clone and build the modified optimism-contract-deployer image:
git clone git@github.com:paradigmxyz/optimism-package.git
cd optimism-package
git switch alphanet
docker build . -t ethpandaops/optimism-contract-deployer:latest --progress plain
[!NOTE]
The image may fail to build if you have not allocated enough memory for Docker.
Finally, run start a Kurtosis enclave (ensure you are still in optimism-package):
kurtosis run --enclave op-devnet github.com/paradigmxyz/optimism-package@alphanet \
--args-file https://raw.githubusercontent.com/paradigmxyz/alphanet/main/etc/kurtosis.yaml
This will start an enclave named op-devnet. You can tear down the enclave with kurtosis enclave rm --force op-devnet, or tear down all enclaves using kurtosis clean -a.
[!NOTE]
If you want to use a custom build of AlphaNet, simply build an AlphaNet image with
docker build . -t ghcr.io/paradigmxyz/alphanet:latest.
Consult the Kurtosis OP package repository for instructions on how to adjust the args file to spin up additional services, like a block exporer.
See SECURITY.md.
Rust
84.1%
Makefile
8.4%
Solidity
5.5%
Dockerfile
2.0%