Matryx Platform source code.
Clone or download
Max Howard
Max Howard Merge branch 'QA'
Latest commit db9a26f Aug 20, 2018
Permalink
Failed to load latest commit information.
Optimization Begining of Optimization Jul 16, 2018
assets Modified architecture diagram Apr 11, 2018
build/contracts Restored MatryxToken Aug 20, 2018
contracts Made Tournament enterable if notYetOpen Aug 17, 2018
coverage Added coverage files Apr 4, 2018
docs Documentation Aug 14, 2018
ethers_tester Cut down gas by 400,000! GO TEAM!!! Jul 18, 2018
interfaces Added Platform.isTournament Aug 17, 2018
libraries Fixed some thangs Aug 17, 2018
migrations Merge branch 'QA' Aug 20, 2018
preloadScripts Entering Tournament Logic and getNow() for Platform Jun 25, 2018
privateChain private chain data and beta architecture to assets/ Jan 5, 2018
test Small changes. Aug 13, 2018
truffle Put back leAutomatedPreload Aug 20, 2018
.gitignore QA should ignore changes to the token by default. Aug 17, 2018
.solcover.js added .solcover.js Jan 6, 2018
.soliumignore Solium integration Jan 22, 2018
.soliumrc.json Solium integration Jan 22, 2018
.travis.yaml added travisCI integration Mar 25, 2018
.travis.yml added travisCI integration Mar 25, 2018
JULIA Examples.txt Entire MatryxTournament contract...ASSEMBLIFIED! Go team!!! Jul 30, 2018
LICENSE Update LICENSE Jan 16, 2018
Lessons.txt Entire MatryxTournament contract...ASSEMBLIFIED! Go team!!! Jul 30, 2018
Matryx_Black_Full_Logo.png added code coverage and readme Dec 13, 2017
README.md Update README.md May 5, 2018
TOS.txt terms of service Jan 4, 2018
codeCoverage.sh Increased code coverage on Tournament\.sol to 100 percent. Dec 15, 2017
coverage.json Added coverage files Apr 4, 2018
ganache-local.sh Added network flag back to ganache-local.sh Jul 13, 2018
index.rst Okay really last thing Mar 30, 2018
package-lock.json Small changes. Aug 13, 2018
package.json Merge resolution with develop Aug 13, 2018
truffle-config.js Added working oracle contract Nov 13, 2017
truffle.js Fixed some thangs Aug 17, 2018

README.md

Matryx Platform logo

travisCI Telegram Latest News

Jenkins coverage Jenkins tests

Introduction

Matryx.ai: The Collaborative Research and Development Engine Optimized for Virtual Reality Interfaces

A full description about our platform is in our whitepaper.

This branch is where the latest development happens. As we develop code during our sprints for the next release, merge our user stories to this branch. So this is the most up to date branch. All merges undergo peer reviewed Pull Requests prior to being merged and must pass strict non-functional requirements such as code coverage.

For each tagged release, we will identify the major changes and add them to the CHANGELOG. Our next major release is March 31, 2018 so keep you eyes open for that huge push.

How to use the platform on Develop Branch

Here you can test everything locally and run it as well. Running either our private chain or your own testRPC and then migrating the platform will be easy.

truffle migrate

There are some major changes between Matryx Alpha v1 and the develop branch. In the first iteration since we focused on end-to-end integration, it is one main platform smart contract. Now we have multiple contracts such as Platform, Tournament, and Round.

This increases the complexity on the UI side to interact with the platform, but not that much. Coming soon is an API you can call for the 3 tiered system's contract addresses and related ABIs.

If you migrate the Platform locally, we recommend using truffle console to interact with it's ease of use. Here you can start typing MatryxPlatform and hit tab and it will be able to recognize the contract. You can grab the ABI by calling MatryxPlatform.abi if you want to interact with it through a testRPC/ganache-cli/geth console.

Documentation

Visit the docs for the Platform Documentation

Interfaces

The are several interfaces that are being built that are designed to plug in to the Matryx Platform

  • Calcflow: A Virtual Reality tool for mathematical modeling (Oculus and HTC Vive)
  • Matryx WebApp: A Web native application for interacting with the Matryx Platform and Marketplace
  • MatryxCore (Coming Soon): A OS native application for interacting with the Matryx Platform and Marketplace (Windows, Linux, Mac OSX)
  • Nano-one: A consumer Virtual Reality tool for chemical design and visualization
  • Nano-pro: An enterprise ready Virtual Reality Platform for Chemical and Pharmaceutical drug development
  • Third party Interfaces: Any third party integrated application utilizing the Matryx Platform- Contact us for details if you or your team is interested!

Additonal information on the various interfaces supporting the Matryx Platform can be found on the Matryx Interfaces Wiki

Below is a GIF of Matryx's Calcflow VR interface viewing Matryx tournaments on the private chain.

Calcflow

Calcflow

Build, Deploy, and Test the Platform

Launching the Platform

Specify the network configuration in the truffle.js file. Ours is originally pointed to localhost:8545 which is common for TestRPC/Ganache-CLI.

Make sure your have TestRPC or Ganache-CLI installed and run it a different tab.

truffle migrate

This will move the platform on to your network. You can then interact with the contract by attaching to it using truffle console.

truffle console

From there, when you type 'MatryxPlatform', it will recognize the contract and you can start to call functions with ease.

Check out the Matryx Wiki on Technical Overview and API

Testing the Platform

The big ways we test the platform is through javascript tests using Mocha. You can see in the /tests/ folder some of our examples. We require extremely high code coverage for each contract to be know that we are covering all our bases.

To run the tests:

./retest.sh

To run the code coverage:

./codeCoverage

If ./codecoverage.sh or retest.sh isnt able to be executed, make sure you change the permissions.

chmod +x codecoverage.sh

Contributing

Our team at Matryx knows that the community is what will really drive the vision we all believe. So we strongly recommend that the community help us make improvements and we all make solid and sound decisions for the future direction of the platform. To report bugs with this package, please create an issue in this repository on the master branch.

Please read our contribution guidelines before getting started.

Install npm

Install Truffle

npm install -g truffle

Install Ganache-cli

npm install -g ganache-cli

Make sure you pull the correct branch, which is called "develop"

git clone https://github.com/matryx/matryx-alpha-source -b develop

Install dependencies

npm install

For the develop branch, make sure you install the code coverage dependency.

Before running the tests, run the ganache-cli

ganache-cli -u 0,1,2,3,4,5

In a separate terminal, navigate to the project directory and run the following:

./retest.sh
truffle migrate
./codeCoverage.sh

Make sure that the code coverage is as close to 100% as possible (99%+ is required)

Please submit support related issues to the issue tracker

We look forward to seeing the community feedback and issue identifications to make this platform the long term vision we all believe in!

Please take a look at our Terms of Service for using the platform that we have deployed

-The Matryx Team

Architecture Below:

Architecture