Skip to content
Super Genius edited this page Jun 1, 2023 · 11 revisions

Home Page of GeniusTokens Project

The code is based on the following patent:

Distibuted General Purpose Computing System with CryptoToken Payment System - Patent #US11451393

This is the general flow of the Genius Tokens system

Genius CryptoToken Process-Flow

These are the components of the System

Patent-Figure-1-Architecture

  • Generic BlockChain CryptoToken = Ethereum based smart contract using an Escrow like system that feeds the “Real” POW hash codes to Smart Contract to check consensus. Wiki/Repo
  • Communication Component = ipfs pub/sub using Gossip protocol. Wiki/Repo
  • Proof of Work Component = partially built, but gathers all “real” POW from all nodes and passes them to the smart contract for consensus check
  • Directed Acyclic CryptoToken = Partially built DAG system built off of IPFS DAG, POW/POS Blended Consensys. Wiki/Repo
  • Distributed File System = ipfs-lite (already built) Wiki/Repo
  • Delivery/Storage Component – RocksDB with ipfs backing, CRDT library needs to be integrated as full DAG is stored on ifps and branch roots and sub-branches need to be synchronized
  • CryptoToken Wallet = Flutter/Parabeac design and Dart code in development, Wallet is actually Wallet for two Crypto’s Genius Token (GNUS) and SuperGenius Token (SGNUS) and DApp combined. Wiki/Repo
  • Processing Component = Work to be done by for integration with Games/App Shader/OpenCL processing will be part of SDK. Wiki/Repo
  • Software Development Kit API = work to be done for interface to Processing Component and checking wallet balance for In-App Purchases. Wiki/Repo
  • (Not Shown) Third Party support library, includes cross Platform libraries for Boost, GSL, GTest, Curl, Cryptopp, 25519, flutter, Parabeac, gnostic, grpc, hat-trie, ipfs-lite-cpp, openssl, json, leveldb, libp2p, lmdb rapidjson, restclient-cpp, spdlog Repo

Please adhere to the coding standards documentation

C++ Coding Standards

Preferred contributor guidelines

  • Use the develop branch unless you are working on a major change that you think will be hard to fix breaking the develop branch, or is a major feature then use a feature branch and do a pull request to the develop branch.
  • Use git rebase instead of merge Here's Why
  • Pulls to master will be done on an as-needed basis, since we are in MVP, this won't be very often.

Also please read this blog about the appropriate way to use git rebase workflows.

Git Rebase Workflow