/babylon-node

The Radix node, updated for Babylon. Embeds the Radix engine which lives at https://github.com/radixdlt/radixdlt-scrypto.

Primary LanguageJavaOtherNOASSERTION

Radix Babylon Node

This is the repository for the RadixDLT node, for the Babylon release and beyond.

License

The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.

Integrators

To run a node against our latest test environment, install docker and run ./testnet-node/run.sh. See further details on running a testnet node for development here.

Also check out the Babylon documentation for exchanges and integrators.

Subdirectories

Here we have:

  • core: The core node, consensus and networking modules - written in Java. It includes a variant implementation of the HotStuff BFT-style consensus.
  • core-rust-bridge: A bridge between the Java core and the Rust core-rust - written in Java. This will likely be merged into core at some point.
  • core-rust: Includes the Core API, and the "State Manager" which wraps the Babylon engine - this is written in Rust. We pull in the Babylon engine from the radixdlt-scrypto repository.
  • cli-tools: Various basic command line helpers to assist with spinning up nodes and networks.
  • common: Common Java utilities used by various modules. This will likely be merged into core once the Olympia Engine has been removed.
  • shell: Examples for how to run Radix shell, which can enable spinning up temporary interactive nodes. The Radix Shell code itself is in cli-tools.
  • docker: An option for running a network of nodes locally. You can also use the "Run Single Validator" IntelliJ option.
  • testnet-node: The easiest way to set up a development environment for integrators (check the README)

Until the Babylon engine is feature-compatible with Olympia, we are keeping around the Olympia engine for some of our tests.

  • olympia-engine: The Olympia Radix execution layer which provides a UTXO-based state machine

Contribute

To contribute, you'll need to setup development environment.

Contributions are welcome, we simply ask to:

  • Fork the codebase
  • Make changes
  • Submit a pull request for review

When contributing to this repository, we recommend discussing with the development team the change you wish to make using a GitHub issue before making changes.

Please follow our Code of Conduct in all your interactions with the project.

Links

Link Description
radixdlt.com Radix DLT Homepage
docs-babylon.radixdlt.com Radix Babylon Technical Documentation
learn.radixdlt.com Radix Knowledge Base
discord invite Radix Discord Server