MobyCrypt - tokenize your brand

Tokens & Cryptocurrency Platform. Design, create, use, trade tokens & cryptocurrencies. Crypto trading platform with built-in trading markets creation feature for tokens creators.

MobyCrypt - Tokenize your brand

Tokens & Cryptocurrency Platform. Design, create, use, trade tokens & cryptocurrencies. Crypto trading platform with built-in trading markets creation feature for tokens creators.

Platform overview

MobyCrypt is Token & Cryptocurrency platform. It’s the tokenization centre dedicated for creating, buying, selling and utilizing tokens. It consist of:

  • Tokens Catalog – we connect brands with the audience by creating the Personal Tokens Catalog. We enable contact, we deliver the service’s description. Users explore the tokens and its use cases. The tokens creators reach the potential audience.
  • Cryptocurrency & Token Exchange – we enable trading of known cryptocurrencies (e.g. BTC – ETH pair) and tokens created in our platform (e.g. BTC – Token pairs). Our exchange has the built-in markets creation feature available for the tokens creators – everyone can create efficient exchange market with few mouse clicks.
  • Personal Token Creator & Manager – complex tool dedicated for blockchain tokens allowing design, creation, distribution, transfer for the service.

Business idea

The idea of MobyCrypt was to create cryptocurrency trading and tokens platform where everyone could issue own brand token (personal, loyalty or NFT) and provide ready to use exchange market within few minutes.

MobyCrypt contains built-in cryptorrency tokens creation feature. Cryptocurrency tokens exist in the Blockchain (e.g. Ethereum blockchain). MobyCrypt hides the interaction with the Blockchain for end user and automates the process of token token smart contract deployment to the network.

The heart of MobyCrypt is the sophisticated cryptocurrency exchange engine. The platform has the possibility to create exchange trading markets in run time – just with the single button click. This allows anyone to provide ready to use trading market for the token without any need of technical interaction (manual actions are completely unnecessary).

Token creators can provide trading markets for their tokens. They can also publish their “brand” information in Tokens Catalog. Users can explore tokens existing in MobyCrypt platform. Creators have the possibility to share their tokens to others (sending via link/e-mail). Users can “use” tokens – exchange them on the services/products offered by the creators (all the information are included in Tokens Catalog).

MobyCrypt platform is centralized. Trading exchange is not DEX. Most token features are also centralized (like sending/sharing tokens between platform users) – what solves a lot of blockchain bottleneck problems such as high fees or performance issues. But sill it is opened to implement more decentralized approach features.

Features

  • users sign-up – registration form (Google captcha protection, password strength estimator)
  • users sign-in – login form
  • account confirmation – confirmation via e-mail after registration
  • password reset – reset via e-mail
  • cryptocurrency exchange features in live time (websockets) (e.g. https://demo.mobycrypt.com/market/Litecoin/Bitcoin):
    • create buy order – placing buy order
    • create sell order – placing sell order
    • cancel orders – remove order
    • execute buy transaction
    • execute sell transaction
    • market history transactions log table view
    • user history transactions log table view
    • trading charts based on TradingView (https://www.tradingview.com/) – professional chart with sophisticated features
    • market depth chart based on Amcharts (https://www.amcharts.com/)
    • markets switching – switching to another exchange market
    • wallet view – current balances
  • Bitcoin, Litecoin and Ethereum integration – connection with Bitcoin, Litecoin and Ethereun full nodes
    • accounts generation – new addresses for users
    • deposits registration – periodical balance checker for user deposits
    • withdraws execution – sending cryptocurrencies to users
  • user wallet
    • balances view – current wallet balances
    • withdraw – executing withdraw to own cryptocurrency wallet
    • deposit – address generation for cryptocurrency deposit
    • history log – withdraws and deposits
  • tokens creation tool – creating token in blockchain with few mouse clicks
    • specify type (ERC_20)
    • specify name
    • specify symbol
    • specify logo
    • specify total supply
    • token creation in blockchain
    • fee charging mechanism – users are charged for token creation
  • Ethereum integration for tokens – connection with Ethereum full node
    • accounts generation – new addresses for users
    • deposits registration – periodical balance checker for user deposits
    • withdraws execution – sending cryptocurrencies to users
  • token market creation – users can create exchange markets for their token (e.g. Token / USDT) with single mouse click
    • multiple exchange markets creation – users can create many exchange markets for their token
    • fee charging mechanism – users pay fee for creating exchange market for their token
    • market enable/disable – users can enable disable exchange markets of their token
  • user tokens view – user created tokens list view
  • user token details view – information, statistics of the user’s token
    • total supply
    • owned/shared supply
    • token type
    • token contract address
  • tokens sharing – users can share their created tokens with others via:
    • dedicated link – opening link causes tokens transfer to new user
    • e-mail – mail contains dedicated link for receiving tokens
  • token usage – users can use received tokens exchanging them for the services/products offered by token creators
    • token usage modal – users who own token can choose the service/product and “buy” it for the token they own. Transfer tokens to token creator is made automatically.
  • tokens sharing statistics view – shared tokens details
    • quantity of tokens shares – how many times token were shared with above methods (link/e-mail)
    • shared tokens sum – how many tokens were shared
  • token showcase – users can define their “brand” information related with their token:
    • description – users can define their token/business/brand description
    • social media links – users can provide their social media links for Facebook, Twitter, LinkedIn, YouTube, Instagram, Snapchat, Medium
    • contact details – users can define their address, phone number, e-mail address, website
    • hashtags – users can provide hashtags for their tokens
    • price list –  users can define the services/products their offer for the token specifying the price in tokens
  • tokens catalog – list of all MobyCrypt brand tokens (https://demo.mobycrypt.com/tokensCatalog/showcase/PTPersonalToken)
  • KYC module – users can go through identity verification process
    • required details form – users provide their name, surname, nationality, born date, place of birth, ID card number and series,
    • ID document pictures – users provide their identity document pictures for verification
  • admin module – admin interface for managing the MobyCrypt platform dedicated for admin users
    • users to verify list – shows the MobyCrypt users waiting to be verified with KYC process – it also enables accepting/rejection KYC submissions
    • withdraw list – shows the cryptocurrency withdraw requests and allows to accept/reject withdraw
    • all users – shows all MobyCrypt users
    • fees – shows and allows to change MobyCrypt fees such as withdraw fees, create token fee, token market creation fees
    • wallet fees – shows current amounts of cryptocurrencies stored on MobyCrypt wallets (hot & cold)

Technologies

Technical overview

MobyCrypt platform backend is sophisticated mechanism based on async communication and processing. Modeled with Domain Driven Design the application model is split per domains and coded as independent services (from source cod perspective). It is currently monolith application with separate domains – ready to be split for microservices architecture if needed.

MobyCrypt domains (Gradle modules).

Most domains communication is based on Kafka. It’s the reliable messaging system responsible for asynchronous data processing. Most MobyCrypt logic flow is internally executed in various domains what means message flow is involved in most processing (Kafka Streams).

Data are mostly stored in the PostgreSQL relational database. For performance reasons some of data are cached in Redis (like user sessions).

The database model as well as the application logic of the platform were develop to enable runtime trading markets creation. No restart needed, no manual data structure manipulation needed. Users can request trading market creation and will be redirected to the market view within few seconds.

MobyCrypt platform exchange transaction engine handles up to ~5k transactions per second on single matching engine. The engine is running in memory (RAM) including the logic of offers matching and calculations. It is very efficient and safe – the calculations are done completely in memory and thread safe language mechanisms protects the flow. Engine data (processing result) are persisted and saved to PostgreSQL database. Using various database transaction levels as well as messaging system reliability – good performance could be achieved. The engine domain is separated so it can scale well with microservices architecture.

Backend is developed with Java. Spring Boot framework is used including many Spring framework components.

Frontend framework is Vue.js with SemanticUI components. Crucial live data communication (exchange market data) is based on websockets. Except that MobyCrypt platform uses RESTful API.

TradingView, Amcharts and Chart.js are used for data visualisation.

MobyCrypt integrates with the Bitcoin, Litecoin and Ethereum nodes.

Integration with Ethereum node based on Truffle enables programmable, automatic smart contract creation (tokens creation). Small Node.js based service serves backend API for automated token creation.

Platform uses third party services: MailGun for e-mail sending, Google reCAPTCHA.

It is currently Dockerized setup configuration running with docker-compose on Digital Ocean.

User interface (web application) is exposed via Nginx.

MobyCrypt backend code base is about 65k lines of code. It is covered with ~ 520 unit tests (BDD). There are no other automated tests.

MobyCrypt backend code statistics.

MobyCrypt client (frontend) code base is about 25k lines of code. There are no unit tests.

MobyCrypt client (frontend) code statistics.

Technology stack

Components

  • backend main application (Java)
  • backend token creation service (Node.js and Truffle)
  • client (frontend) application
  • PostgreSQL 13 – Open-source relational database system.
  • Nginx 1.19.4 – High-performance web server and reverse proxy.
  • Redis 5.0.6 – In-memory data structure store.
  • Kafka 2.12-2.1.1 – Distributed streaming platform.
  • Zookeeper – Distributed coordination service.
  • Ethereum Geth v.1.10.3 – Ethereum blockchain client.
  • Bitcoin, Litecoin full nodes (missing in running demo setup)

Backend technology stack

Source code level: Java 11.

  • Spring Boot 2.1.0.RELEASE – Framework for building Java applications with ease.
    • Spring Boot Gradle Plugin – Plugin to integrate Spring Boot with Gradle build system.
    • Spring Boot Starter Web – Starter pack for building web applications with Spring Boot.
    • Spring Boot Starter Actuator – Starter pack for monitoring and managing Spring Boot applications.
    • Spring Boot Starter Data JPA – Starter pack for integrating JPA (Java Persistence API) with Spring Boot.
    • Spring Boot Starter Data Redis – Starter pack for integrating Redis with Spring Boot.
    • Spring Boot Starter Log4j2 – Starter pack for using Log4j2 logging framework with Spring Boot.
    • Spring Boot Starter Websocket – Starter pack for implementing WebSockets in Spring Boot applications.
    • Spring Boot Starter Test – Starter pack for testing Spring Boot applications.
  • Lettuce core 5.0.4.RELEASE – Java Redis client for asynchronous data access.
  • Postgresql driver 42.1.4 – JDBC driver for PostgreSQL database.
  • Commons Lang-3 3.5 – Library with utility classes for working with Java.
  • Spring Kafka 2.2.0.RELEASE – Integration of Kafka with Spring applications.
  • Kafka Streams 2.0.0 – Library for building stream processing applications using Kafka.
  • liquibase-core 3.6.2 – Tool for database schema management.
  • Spring Security Web 5.1.1.RELEASE – Security framework for web applications.
  • Spring Session 2.1.1.RELEASE – Framework for managing user sessions in Spring applications.
  • Commons Validator 1.6 – Library for data validation.
  • Commons Codec 1.11 – Library for encoding and decoding data.
  • nv-i18n (neovisionaries) 1.23 – Library for internationalization in Java.
  • Unirest Java 1.4.9 – Lightweight HTTP client library.
  • Stomp Websocket 2.3.3 – STOMP protocol client for WebSockets communication.
  • Spring Security Test 5.1.1.RELEASE – Testing utilities for Spring Security applications.
  • Owasp Java Html Sanitizer 20180219.1 – Library for sanitizing HTML content to prevent XSS attacks.
  • Spring Security Messaging 5.1.1.RELEASE – Security framework for messaging in Spring applications.
  • Vavr 0.9.2 – Functional programming library for Java.
  • Commons Collections-4 4.1 – Collection utilities for Java.
  • DbUnit 1.3.0 – Library for database unit testing.
  • Spring Test DbUnit 1.3.0 – Integration of DbUnit with Spring for database testing.
  • H2 database 1.4.197 – Lightweight in-memory database written in Java.
  • Redis embedded (com.github.kstyrc) 0.6 – Embedded Redis server for Java unit testing.
  • Spring Kafka Test 2.2.0.RELEASE – Utilities for testing Kafka in Spring applications.

Client (frontend) technology stack

  • stomp/stompjs 3.1.2 – STOMP protocol client for WebSockets communication.
  • amcharts3 githubamcharts/amcharts3 – JavaScript library for interactive charts.
  • animate.css 3.7.0 – Library for CSS animations.
  • animejs 2.2.0 – JavaScript animation library.
  • animsition 4.0.2 – Library for page transitions.
  • aos 2.3.4 – Animate On Scroll library for CSS animations.
  • axios 0.16.2 – Promise-based HTTP client for JavaScript.
  • build 0.1.4 – Build system for JavaScript projects.
  • chart.js 2.7.3 – JavaScript charting library.
  • country-list 1.1.0 – List of world countries in JavaScript.
  • cryptocurrency-icons-font 0.1.9 – Font icons for cryptocurrencies.
  • decimal.js 10.0.1 – Library for arbitrary-precision decimal arithmetic.
  • gulp 3.9.1 – Task runner for JavaScript projects.
  • image-compressor.js 1.1.4 – Library for image compression in JavaScript.
  • izitoast 1.4.0 – Elegant and responsive notification library.
  • jquery 3.3.1 – JavaScript library for DOM manipulation.
  • later 1.2.0 – Library for scheduling tasks in JavaScript.
  • loglevel 1.6.1 – Minimalistic logging library for JavaScript.
  • moment 2.22.2 – Date and time manipulation library.
  • net 1.0.2 – JavaScript library for network information.
  • prerender-spa-plugin 3.4.0 – Plugin to pre-render JavaScript applications for SEO purposes.
  • quill 1.3.6 – Modern WYSIWYG editor for the web.
  • rxjs 5.5.12 – Library for reactive programming in JavaScript.
  • semantic-ui 2.3.1 – Front-end development framework using human-friendly HTML.
  • sockjs-client 1.3.0 – WebSocket client library.
  • typed.js 2.0.9 – Library for typing animations.
  • uninstall 0.0.0 – JavaScript library to uninstall itself (funny joke library).
  • unit 0.0.1-alpha – JavaScript unit testing library (alpha version).
  • vue 2.5.17 – JavaScript framework for building user interfaces.
  • vue-cookie-law 1.8.0 – Vue.js component for displaying cookie consent banner.
  • vue-form 4.10.1 – Vue.js form validation library.
  • vue-i18n 7.8.1 – Internationalization plugin for Vue.js.
  • vue-router 2.8.1 – Vue.js router library.
  • vuejs-logger 1.10.2 – Logger for Vue.js applications.
  • vuex 2.5.0 – State management pattern and library for Vue.js.
  • zxcvbn 4.4.2 – Password strength estimator library.

Gallery


Project status

Project is already suspended. It was formally registered company, with good potential collaboration but due to formal requirements it was shut down.

The project is already suspended. It's no longer online.