Skip to content
This repository has been archived by the owner on Nov 8, 2022. It is now read-only.

hyahatiph-labs/mass

Repository files navigation

MASS

Server-Build Server-Test CodeQL

[ POC ] / [ WIP ] Java implementation of monero anon swaps suite

This is an experimental Spring Boot Application that utilizes LND hold invoices

If successfully settled the equivalent amount in Monero or Bitcoin is sent

MASS - Server Development

Manual

  1. Run as Spring Boot App from your favorite IDE or do mvn clean install && java -jar target/mass-x.x.x.jar
  2. The src/main/resources/application.yml can be configured as needed.
  3. Run bitcoind on regtest
  4. Setup LND nodes for invoice generation and settling. *Polar is a cool tool! See LND Reference API for documentation.
  5. Run Monero on two stagenet servers. Get those lovely piconeros at the Stagenet Faucet or by mining.
  6. H2 db runs at host/h2-console.
  7. Currently working on Bitcoin core 0.21, LND 0.13.x, Fedora 34, Java 11, Maven 3.6 and Monero 0.17.2

NOTE: currently have an issue with Monero digest authentication rpc calls, so use --disable-rpc-login

~/monero-x86_64-linux-gnu-v0.17.2.3/monero-wallet-rpc --rpc-bind-port=18083 --wallet-dir=/home/USER/Monero/wallets/mass/ --disable-rpc-login --stagenet

Docker

see docker.md

API

see api.md

Tests

MASS uses JUnit5 - junit-jupiter framework

Run mvn clean install from the root directory

View test coverage with web browser ./target/site/jacoco/index.htm

image

APM

MASS works well with the Glowroot open-source project

  • Extract the zip to your home directory
  • Run MASS with java -javaagent:/home/USER/glowroot/glowroot.jar -jar target/mass-x.x.x-beta.jar
  • Application performance dashboard is located at http://localhost:4000

TODOs

See milestones

Contributing

  • Styling
    • MASS uses prettier pre-commit hooks
    • Install Node.js 10+
    • run npm install from the root directory
  • Fork and open pr.
  • Working code is underrated