Skip to content

gasp-xyz/mangata-node

Repository files navigation

Mangata brand

Mangata Node

Omnichain zk-rollup for L1-grade native liquidity. Implementation includes MEV solution, Proof-of-Liquidity, gas-free swaps, algorithmic buy & burn, weight voting & liquidity gauges, time-incentivized liquidity provision, 3rd party incentives, and more.

Themis

Issues Pull Request GitHub last commit Build Status Language

Description

Mangata operates as a cross-chain liquidity protocol, facilitating seamless transactions between Ethereum and various other blockchains through a omnichain zk-rollup Infrastructure. We leverage the power of ZK-rollup, a second-layer (L2) solution, to ensure universal connectivity with first-layer (L1) blockchains. Additionally, our decentralized exchange platform is designed to provide robust protection against Miner Extractable Value (MEV) and frontrunning attempts, thereby safeguarding the interests of our users.

API

Mangata API Docs

Build mangata-node locally

Compile mangata-node binary and wasms artifacts

  • use docker wrapper for cargo to build mangata-node
./docker-cargo.sh build --release -p mangata-node

build artifacts will be placed in <REPO ROOT>/docker-cargo/release

Run tests and generate code coverage report

Run unit tests only:

cargo test

Run unit tests and generate code coverage report in html format:

cargo install cargo-tarpaulin
cargo tarpaulin --timeout 120 --workspace -e runtime-integration-test mangata-node common-runtime mangata-kusama-runtime mangata-rococo-runtime --exclude-files **/mock.rs **/weights.rs **/weights/* --out Html

Generate docker image

You can use build-image.sh script to build & generate docker image

./scripts/build-image.sh mangatasolutions/mangata-node:dev

or you can use already compiled build atributes generated in previous step

SKIP_BUILD=1 BUILD_DIR=./docker-cargo/release ./scripts/build-image.sh

This will generate new local docker image mangatasolutions/mangata-node:dev

Run

In order to run mangata-parachain locally one need to set up both:

  • local relay network
  • local parachain network

Because of number of parameters is quite troublesome thats why we came up with dedicated dockerized environment.

Set up network using parachain-launch

Dockerized setup requires you to build development docker image mangatasolutions/mangata-node:dev.

Start docker environment using, you need to

cd ./launch
yarn install
yarn gen
yarn up

once started, you can access nodes using port forwards

Docker setup can be stopped using

cd ./launch
yarn down

Sudo access

Alice is set as sudo account for parachain-launch docker setup

Mangata node configuration

There is number of chain configurations available for both development and production environements:

chainspec (--chain) Sudo Description
mangata-kusama ******* production kusama public mainnet
mangata-kusama-local Alice development kusama local testnet
mangata-rococo ******* production rococo public testnet
mangata-rococo-local Alice development rococo local testnet