Skip to content
/ maru Public

Consensus layer client implementing QBFT protocol adhering to Eth 2.0 CL / EL separation and API

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Consensys/maru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maru

A consensus layer client implementing QBFT protocol adhering to Eth 2.0 CL / EL separation and API

Requirements

  • Java 21+
  • Make 3.81

Quick Start

docker-run-stack

Build from sources

To build Maru from source code:

# Create a distribution ready to run
./gradlew :app:installDist

After building, you can run Maru using:

./app/build/install/app/bin/app [options]

The distribution will be created in app/build/install/app/ with all necessary dependencies included.

Build Docker Image Locally

docker-build-local-image
MARU_TAG=local make docker-run-stack

Contribution

Release process

Release process is not automated at this time, so this section aims to help to streamline it

⚠️To speed up the hotfixes, release process doesn't enforce tests. Always ensure the tests are passing, before releasing a new version of Maru! ⚠️

  • Each released version follows the template <semver>-<product-label-ver>? e.g. v2.0.1-betav4 OR v2.0.1.
  • Check the changelog for the changes. Cheatsheet:
    • ! / BREAKING CHANGE = major version update
    • feat = minor version update
    • fix = patch version update
  • MAJOR.MINOR.PATCH should be incremented manually. Changelog and conventional commits are aimed to help to make it easy
  • Tag the latest commit on main with the new version, like git tag v2.0.1 or v2.0.1-major-upgrade
  • Push tag to main with git push --tags
  • This will trigger a release draft with the distributive artifact created, and it will push a new docker image to Dockerhub. -<date>-<commit-hash> suffix is added to the actual docker image and archive distribution like v2.0.1-betav4-20251027155452-cd25bfd
  • Changelog will be pulled automatically into the release description. Review it and publish the release
  • Make a PR to clean up the changelog

About

Consensus layer client implementing QBFT protocol adhering to Eth 2.0 CL / EL separation and API

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Contributors 10

Languages