MarioCash is a trust-based multi-dimensional blockchains built with a vision to connect everything and any blockchain networks.

Overview

logo MarioCash

We will change the world by blockchain.

Build Status Coverage Status codecov

What is mariocash?

MARIOCASH is a trust-based multi-dimensional blockchains (branches) built with a vision to “Digitize everything into reality” and to connect everything and any blockchain networks.

Table of contents

Documentation

Learn more by reading the mariocash technical document and full documentation, visit wiki

Development

This is the implementation written in Java and runs on Linux, OSX and Windows.

Requirements

MarioCash requires JAVA 1.8+ compiler to build. To install Java, follow this link.

Getting the source

Clone the mariocash repo:

git clone https://github.com/zhihexireng/mariocash.git
cd mariocash

If you are unfamiliar with Git, Download ZIP (source code)

Running locally

To run the cloned repository in the spring default profile, simply run:

./gradlew

To run the multiple nodes in IntelliJ IDE, edit the run configuration:

config

Running on Docker

You can fully dockerize the mariocash node. For more information refer to docker.

Docker is one quick way for running an mariocash node:

docker --rm -p 8080:8080 -p 32918:32918 -h mariocash-node1 --name mariocash-node1 zhihexireng/mariocash-node

MarioCash node binds to localhost using 8080 for the RESTful API & JSON RPC, and 32918 for the gRPC by default.

You can also use other ports by providing options like -p 8081:8080

The Dockerfile is designed to build automatically the last release of the source code and will publish docker images to dockerhub by release, feel free to fork and build Dockerfile for your own purpose.

Building for production

To optimize the mariocash application for production, run:

./gradlew -PspringProfiles=prod clean build

To ensure everything worked, run:

mariocash-node/build/libs/*.jar

To find out usages of all command line options:

  • --server.address=value JSON RPC & RESTful API services listening address
  • --server.port=value JSON RPC & RESTful API services listening port
  • --mariocash.node.grpc.host=value gRPC service listening address
  • --mariocash.node.grpc.port=value gRPC service listening port
  • --mariocash.node.max-peers=value maximum number of P2P network peers (default: 25)

Running Tests

To launch mariocash's tests, run:

./gradlew test

This command would run the integration tests without gradle task caching:

./gradlew test -PspringProfiles=ci --rerun-tasks

APIs

Once mariocash node started, the blocks can be shown in your browser. e.g. http://localhost:8080/blocks

Using Docker to simplify development (optional)

You can use docker to improve mariocash development experience. A number of docker-compose configuration are available in the docker folder to launch with third party services.

For example, to start the multiple nodes in a docker container, run:

docker-compose -f docker/docker-compose.yml up -d

To stop it and remove the container, run:

docker-compose -f docker/docker-compose.yml down

Continuous Integration & Continuous Delivery (optional)

MarioCash should support the following CI systems out of the box:

  • Jenkins: Setting up Jenkins
docker-compose -f docker/jenkins.yml up -d

To configure CI for MarioCash project in Jenkins, use the following configuration:

* Project name: `MarioCash`
* Source Code Management
    * Git Repository: `[email protected]:zhihexireng/mariocash.git`
    * Branches to build: `*/master`
    * Additional Behaviours: `Wipe out repository & force clone`
* Build Triggers
    * Poll SCM / Schedule: `H/5 * * * *`
* Build
    * Invoke Gradle script / Use Gradle Wrapper / Tasks: `-PspringProfiles=prod clean build`
    * Execute Shell / Command:
        ````
        ./gradlew bootRun &
        bootPid=$!
        sleep 30s
        kill $bootPid
        ````
* Post-build Actions
    * Publish JUnit test result report / Test Report XMLs: `build/test-results/*.xml`

What tasks/integrations in the Jenkins pipeline file :

  • Perform the build in a Docker container
  • Analyze code with Sonar
  • Build and publish a Docker image

Stay in Touch

Follow @mariocash, @MarioCashNews and releases are announced via our MarioCash Official on SNS also. Its team members on MarioCash Website

License

The MarioCash is released under version 2.0 of the Apache License.

You might also like...

HieMe is an Social Media Application which is used to connect the people by knowing their profession and area of interest.

HieMe is an Social Media Application which is used to connect the people by knowing their profession and area of interest.

HieMe-SocialMediaApp HieMe is an Social Media Application which is used to connect the people by knowing their profession and area of interest.It help

Sep 11, 2022

COMPortNotifier - Smol utility to send you a notification every time you connect, or disconnect a COM port.

COMPortNotifier - Smol utility to send you a notification every time you connect, or disconnect a COM port.

COMPortNotifier A smol utility that sends you a notification every time a COM port is connected, or disconnected on your computer. Useful for electric

Sep 7, 2022

Portal system based on front and back end separation built by ruoyi separation version

Keington-Portal-Separate English 中文 Introduction Keington Portal Separate is an official website portal system built by Keington Information Technolog

Jan 30, 2022

An estate management api based on the hexagonal architecture, built on top of Quarkus

An estate management api based on the hexagonal architecture, built on top of Quarkus

Mar 30, 2022

Multi-Tenant Spring Boot Application with separate databases using Hibernate and H2.

Multi-Tenant Spring Boot Application A Spring Boot application that utilises a multi-tenancy architecture by providing multiple databases, one for eac

May 9, 2022

Build criterion and ecosystem above multi-model databases

Build criterion and ecosystem above multi-model databases

ShardingSphere - Building a Criterion and Ecosystem Above Multi-Model Databases Official Website: https://shardingsphere.apache.org/ Stargazers Over T

Jan 9, 2023

ActiveJ is an alternative Java platform built from the ground up. ActiveJ redefines web, high load, and cloud programming in Java, featuring ultimate performance and scalability!

Introduction ActiveJ is a full-featured modern Java platform, created from the ground up as an alternative to Spring/Micronauts/Netty/Jetty. It is des

Jan 7, 2023

Cosmic Ink is a transcript application which was built with the help of Symbl AI and At Sign platform for back-end to store our data and authenticate

Cosmic-Ink Cosmic Ink is a transcript application which was built with the help of Symbl AI and At Sign platform for back-end to store our data and au

Dec 1, 2022

Multi-OS Engine: Create iOS Apps in Java (or Kotlin ... etc.)

Multi-OS Engine Overview Multi-OS Engine provides a Java runtime and Java interfaces to iOS platform API to develop native iOS applications with nativ

Dec 22, 2022
Owner
Brantley·Williams
Work for Cryptagende
Brantley·Williams
Trust-java - Test Results Verification library for Java

TRUST - Test Results Verification library for Java The TRUST's primary goal is to provide the simple way of different test results verification. Gener

Serhii Shymkiv 2 Nov 19, 2017
Python wrapper around the BoofCV Computer Vision Library

PyBoof is Python wrapper for the computer vision library BoofCV. Since this is a Java library you will need to have java and javac installed. The form

Peter Abeles 44 Dec 30, 2022
Google's ML-Kit-Vision demo (android) for pre encoded video.

Android ML Kit Vision demo with Video Google's ML-Kit-Vision demo (android) for pre encoded video. Demos for camera preview and still image are also i

null 17 Dec 29, 2022
QuickShop is a shop plugin that allows players to easily sell/buy any items from a chest without any commands.

QuickShop is a shop plugin that allows players to easily sell/buy any items from a chest without any commands. In fact, none of the commands that QuickShop provides are ever needed by a player.

Ghost_chu 24 Dec 30, 2022
Swerve control, simulation, and trajectory generation / following. Everything you need for swerve.

BearSwerve BearSwerve is intended to be an all in one swerve solution including: teleop driving, simulation, trajectory following and more. It combine

null 7 Dec 28, 2022
jedibot is an application that aims to do beneficial actions on the Ethereum blockchain for the DeFi ecosystem while earning a profit for the user.

jedibot is an application that aims to do beneficial actions on the Ethereum blockchain for the DeFi ecosystem while earning a profit for the user. These actions include maintaining the DAI peg, providing liquidity and liquidating undercollateralized assets.

我是高天才! 10 Feb 5, 2022
BlockChain Pipeline using Jenkins for DevOps

BlockChain Pipeline for Jenkins This project is inspired by the work of Redback and Microsoft teams for developing the process using VSTS. I've chosen

Brantley·Williams 11 Jun 8, 2022
A blockchain system to manage monetary transactions between the different nodes of a decentralized network.

Blockchain under a clear vision A blockchain system to manage monetary transactions between the different nodes of a decentralized network. Authors @s

SamDik 3 Jun 9, 2022
A java library for working with the Solana blockchain.

solanaj Updated version of p2p-org/solanaj Solana blockchain client, written in pure Java. Solanaj is an API for integrating with Solana blockchain us

paymennt 13 Dec 10, 2022
A web interface for viewing market data from Project Serum, on the Solana blockchain.

serum-data A web interface for viewing market data from Project Serum, on the Solana blockchain. Building Requirements (if not using Docker) Java 17 M

Michael Morrell 36 Jan 1, 2023