Giter Site home page Giter Site logo

john-itcsolutions / elastos Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.08 MB

Elastos.Trinity Distributed Application Development System

Home Page: https://github.com/elastos/Elastos.Trinity

Shell 0.93% TypeScript 22.92% HTML 13.61% CSS 0.04% JavaScript 13.93% Java 41.36% SCSS 7.20%
blockchains carrier elastos runtime hive database smartweb

elastos's Introduction

Elastos Trinity

Android & IOS Android(Windows)
Build Status Build status

NOTE FROM JOHN OLSEN: I HAVE CLONED THE MAIN Elastos.Trinity SHELL AND FILLED IT WITH OTHER CLONED Elastos.Trinity SECTIONS TO COMPLETE THE SKELETON TRINITY PACKAGE (FROM https://github.com/elastos/Elastos.Trinity et al). I HAVE THEN CREATED A 'KITCHEN SINK' IONIC APP CALLED ChubbaMorris WHICH DOES RUN. IT IS ACTUALLY A 'Conference' APP AS IT STANDS. YOU CAN CLONE MY REPO, TO A MACOSX MACHINE, AND ENTER Dapps/Ionic/ChubbaMorris AND RUN "ionic serve" TO SEE THE RESULT. You must install Cordova and Ionic on your machine first. You will also require Android Studio.

The addition of our 320 Use Cases to the Kitchen Sink 'Conference' App, and connections to the Elastos Blockchain and Carrier Systems, as well as connecting to the Postgres database, are as yet unmapped territory for me. Non-Relational Data (ie in file format) will be stored on Hive (the IPFS distributed file storage system). The connection to Hive is via Carrier. I think (but am not certain yet) that also the Postgres Database Connection is via Carrier between the Ionic Dapp and the GO Rest API server. I am also hoping to be able to connect via Carrier to external Websites (eg Banks). Please refer to http://itcsolutions.com.au/mobile-first-development for a diagram of Systems Architecture.

Also note that at this stage in the development of the Elastos Trinity Developer's System there is expected to be breakage of existing Dapps due to Elastos updates, as new releases will not be required to be backwards compatible intil March 2020.

I have set up this Dapp as an Angular.js application with the intention of eventually using the rich set of web components available via Sencha and their Ext.js Packages.

Introduction

Elastos Trinity integrates all the services that Elastos provides and combines them into a singular framework for DApp developers to use. For this reason, DApp developers only need to write their application using ionic javascript framework and have only one set of Runtime APIs to manage.

Elastos Trinity is supported on both Android and iOS, DApp developers only need to develop their application using one set of code in order to run on both platforms.

Table of Contents

Roadmap

S1 2019 - "Roots"

  • Base concepts for trinity
  • DApp isolations
  • Hive, Carrier, Wallet and base plugins
  • Basic launcher, SPV wallet DApp
  • Runtime bases (installations, uninstallations, manifest information…)
  • Basic toolchain to create, pack and sign DApp packages

Q4 2019/Q1 2020 - "Focus on developers"

  • Advanced runtime concepts (inter app communications, elastos scheme, API permissions)
  • Wallet DApp phase 2 (Trinity as an SPV wallet) - payments requests support
  • DID DApp (Trinity as user identity management)
  • Voting DApps (Vote for DPOS, CRC…)
  • RedPackets DApp
  • Temporary centralized DApp store
  • Ethereum and DID plugins
  • DMA-light for trinity
  • Efficient tool chain (easy initial setup, package, debug, publish, easy switch between dev and prod env or mainnet and testnet)
  • Documentation
  • Automated testing
  • Frequent releases that can break existing DApps
  • DApps community programme

Q2/Q3 2020 - "Focus on end users"

  • Versioning / Backward compatibility management (fewer releases, branches strategy)
  • Developers able to write production ready DApps
  • Releases based on stable sub-module releases
  • Great user experience for end users (great UI design, dynamic launcher, home screen widgets, notifications, animations, convenient menus, onboarding information, ELA purchases made easy…)
  • DApp store based on the DApp sidechain
  • Maintenance of everything existing
  • New features to be defined according to initial feedback from both developers and end users during previous phases
  • New features integrated according to the main Elastos product roadmap (ex: new sidechains)

Download Trinity for Android

stable version

latest version(tag starting with daily)

Checking out the source code

To clone the repository in your environment:

git clone --recurse-submodules [email protected]:elastos/Elastos.Trinity.git

We use --recurse-submodules here because we need to download the submodules as well. If you forgot to use the argument, you could download the submodules later by typing:

git submodule update --init --recursive

And then use git add, commit and push to submit your changes to current project.

To update the whole Trinity (main repo + submodules), run this:

git pull --rebase
git submodule update --init

At that time, submodules will be in detached HEAD state. To commit changes, run this from the submodule folder before make changes:

git checkout master
git add/commit/push

How to build

Requirements

  • cordova
  • ionic
  • node
  • npm
  • python
For Android:
  • Java JDK 1.8 or greater
  • Android SDK
  • Android NDK (android-ndk-r16b or higher)

The supported way of doing this nowadays is to use Android Studio.

Set the ANDROID_HOME environment variable to match the Android SDK path.

on Mac and Linux, add the following line to your login script (e.g., ~/.bashrc, ~/.bash_profile, etc...):

export ANDROID_HOME="YOU-PATH/sdk"

On Windows, set the environment variable in the control panel.

For iOS:
  • Xcode 10 or higher

Build on Ubuntu / Debian / Linux Host

cd YOU-PATH/Elastos.Trinity
./ToolChains/bin/build all

NOTE:You could type ./ToolChains/bin/build --help for more detail

Using Android Studio:

Open project from YOU-PATH/Elastos.Trinity/Runtime/platforms/android

Build on MacOS Host

cd YOU-PATH/Elastos.Trinity
./ToolChains/bin/build all

Using Android Studio:

Open project from YOU-PATH/Elastos.Trinity/Runtime/platforms/android

Using Xcode:

Open project from YOU-PATH/Elastos.Trinity/Runtime/platforms/ios

Build on Windows Host

cd YOU-PATH/Elastos.Trinity
python ToolChains/bin/build all

Using Android Studio:

Open project from YOU-PATH/Elastos.Trinity/Runtime/platforms/android

Repositories

Elastos.Trinity is composite repository to Elastos Trinity infrastructure, which can be divided into the following submodules:

where category DApps includes several specific DApps repositories:

while category Plugins includes the following repostiories:

Contribution

We welcome contributions to the Elastos Trinity Project.

Acknowledgments

A sincere thank you to all teams and projects that we rely on directly or indirectly.

elastos's People

Contributors

jacky8048 avatar jmsaulnier avatar john-itcsolutions avatar kuit avatar stiartsly avatar zhouhouhong avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.