A consensus layer client implementing QBFT protocol adhering to Eth 2.0 CL / EL separation and API
- Java 21+
- Make 3.81
docker-run-stackTo build Maru from source code:
# Create a distribution ready to run
./gradlew :app:installDistAfter 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.
docker-build-local-image
MARU_TAG=local make docker-run-stack- Please stick to https://www.conventionalcommits.org/en/v1.0.0/#specification for the ease of changelog maintenance when creating PRs
Release process is not automated at this time, so this section aims to help to streamline it
- Each released version follows the template
<semver>-<product-label-ver>?e.g.v2.0.1-betav4ORv2.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.1orv2.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 likev2.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