Skip to content

A complete environment for nitro-based service including sequencer, batch-poster, validator, and a coordinator.

License

Notifications You must be signed in to change notification settings

Ferret-san/nitro-testnode

 
 

Repository files navigation

Nitro Testnode

Nitro-testnode brings up a full environment for local nitro testing (with or without Stylus support) including a dev-mode geth L1, and multiple instances with different roles.

Requirements

  • bash shell
  • docker and docker-compose

All must be installed in PATH.

Using latest nitro release (recommended)

Without Stylus support

Check out the release branch of the repository.

Notice: release branch may be force-pushed at any time.

git clone -b release --recurse-submodules https://github.com/OffchainLabs/nitro-testnode.git
cd nitro-testnode

Initialize the node

./test-node.bash --init

To see more options, use --help.

With Stylus support

Check out the stylus branch of the repository.

Notice: stylus branch may be force-pushed at any time.

git clone -b stylus --recurse-submodules https://github.com/OffchainLabs/nitro-testnode.git
cd nitro-testnode

Initialize the node

./test-node.bash --init

To see more options, use --help.

Using current nitro code (local compilation)

Check out the nitro or stylus repository. Use the test-node submodule of nitro repository.

Notice: testnode may not always be up-to-date with config options of current nitro node, and is not considered stable when operated in that way.

Without Stylus support

git clone --recurse-submodules https://github.com/OffchainLabs/nitro.git
cd nitro/nitro-testnode

Initialize the node in dev-mode (this will build the docker images from source)

./test-node.bash --init --dev

To see more options, use --help.

With Stylus support

git clone --recurse-submodules https://github.com/OffchainLabs/stylus.git
cd stylus/nitro-testnode

Initialize the node in dev-mode (this will build the docker images from source)

./test-node.bash --init --dev

To see more options, use --help.

Further information

Working with docker containers

sequencer is the main docker to be used to access the nitro testchain. It's http and websocket interfaces are exposed at localhost ports 8547 and 8548 ports, respectively.

Stopping, restarting nodes can be done with docker-compose.

Helper scripts

Some helper scripts are provided for simple testing of basic actions.

To fund the address 0x1111222233334444555566667777888899990000 on l2, use:

./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000

For help and further scripts, see:

./test-node.bash script --help

Named accounts

./test-node.bash script print-address --account sequencer
sequencer:                  0xe2148eE53c0755215Df69b2616E552154EdC584f
validator:                  0x6A568afe0f82d34759347bb36F14A6bB171d2CBe
l2owner:                    0x5E1497dD1f08C87b2d8FE23e9AAB6c1De833D927
l3owner:                    0x863c904166E801527125D8672442D736194A3362
l3sequencer:                0x3E6134aAD4C4d422FF2A4391Dc315c4DDf98D1a5
user_l1user:                0x058E6C774025ade66153C65672219191c72c7095
user_token_bridge_deployer: 0x3EaCb30f025630857aDffac9B2366F953eFE4F98
user_fee_token_deployer:    0x2AC5278D230f88B481bBE4A94751d7188ef48Ca2

While not a named account, 0x3f1eae7d46d88f08fc2f8ed27fcb2ab183eb2d0e is funded on all test chains.

Contact

Discord - Arbitrum

Twitter: Arbitrum

About

A complete environment for nitro-based service including sequencer, batch-poster, validator, and a coordinator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 73.6%
  • Shell 25.7%
  • Dockerfile 0.7%