Welcome to Elastos!
What is Elastos? Short Video 1:49
Script:
Blockchains are ideal for recording transactions but not for storing data. There is simply not enough space to store large numbers of files which means the blockchain easily gets congested. To prevent overload, Elastos provides the flexible main chain-sidechains design structure. The main chain is responsible for necessary transactions and transfer payments while the sidechains execute smart contracts to support various applications and services. The Elastos Operating System runs as a highly secure flexible layer around the blockchain to free up more space. Identification and authentication come from the blockchain ID which are then transferred to the elastos runtime OS. The Elastos OS has been in development for 18 years and has over 10 million lines of code. To put this into perspective, the space shuttle needed 400,000, android took 11.8 million and the F35 required 24.7 million lines of code. The Elastos Platform targets decentralized applications that run on a peer to peer network with no centralized control. It provides an environment where digital assets can be traded safely. Both creators and users are protected by Elastos. Welcome to the Elastos Smart Web - own your data.
With 18 years of development, Elastos is the first completely secure and decentralized environment on the internet, offering a revolutionary C++ operating system in two forms. The first is a general-purpose OS that because of its agnostic environment, can be directly installed on any hardware in the world, giving unparalleled security to self-driving cars, AR/VR platforms, internet of things devices, smart phones, and smart routers. The second is the Elastos runtime, a sandbox environment that can be installed on your smart phone as an application from the app store. Built with blockchain, Elastos creates a virtual ecosystem where decentralized applications are protected from direct access with the internet while allowing near infinite scalability to billions of users. Elastos allows content creators to create an economy around their work and allows developers to actually ‘write once, run anywhere’—applications are equipped with maximum security, built with high scalibility and run with total decentralization.
A Beginner's Guide to Elastos for Non-Developers
This is material for any non-developer who wants to learn about Elastos and what it has to offer to an end-user/consumer/investor. This guide explains the Elastos core technology and how it differs from various other projects in the blockchain industry. First and foremost, it's important to note that Elastos is not a blockchain project. It is an operating system project powered by the blockchain technology so in that sense, Elastos is not competing with any other blockchain projects but can work together with them to form this new ecosystem where the DApps run directly on the device instead of running on the blockchain along with decentralized peer to peer network to transfer assets in a completely closed sandboxed environment, thereby solving the three pillar issues that are prevalent in the world of today - security, scalibility and decentralization all in one.
A Beginner's Guide to Elastos for Developers
This is material for any developer who has some experience with programming languages like Javascript/NodeJS, HTML5, Java, Swift, C++, Golang, etc and wants to get started with various github projects that are open sourced by Elastos. This includes the core development of the product such as the Elastos Runtime environment, Elastos Blockchain, creating and integrating ELA into wallets, or creating applications using the SDK if you're a DApp developer. In order to make it very easy for any developer(even to someone who's not very familiar with blockchain), Elastos provides the SDK in various languages that makes it easy to start developing a decentralized application integrated with blockchain technology without having to fully learn about how blockchain works underneath.
Elastos is a work in progress!
Elastos is a general-purpose operating system for intelligent terminals. It is based on Android's open resources and is developed using CAR component technology. The Elastos operating system has a system architecture similar to WinRT (Windows Runtime) and supports C++, Java, and JavaScript application development with a consistent application model.
Elastos is a C++ operating system that can run directly on the hardware - eg. IoT devices, smart phones, routers, AR/VR headsets, etc. The operating system kernel is implemented using CAR technology. The programming idea with CAR is the essence technology in Elastos OS. It runs through the entire technology system implementation. Components from different sources can interoperate(java can call javascript code, javascript can call C++, etc).
Elastos Runtime can be thought of as an App Engine or a Virtual Machine(VM). It is a runtime sandboxed closed environment that runs on top of existing OS, such as Android, iOS, Linux, etc. It provides SDK for DApps to be running on top of RT. As for the DApp developers, they do not need to worry too much about the technical details of the layer underneath(blockchain layer). They just need to call the RT.SDK. Building DApps will be much eaiser than before. DApp developers will be using Cordova to develop their HTML5 applications that will be running on trinity browser. Non-Elastos apps can access the Elastos Smart Web via the RT SDK(C++ SDK) because android and iOS apps can call C++ SDK. This is done to make it easier for existing mobile developers to integrate their existing mobile apps with Elastos.
ELA is the digital currency solution within Elastos ecosystem. This project is the source code that can build a full node of ELA.
Elastos SPV is a SDK of SPV (Simplified Payment Verification) implementation of the Elastos digital currency. The Elastos SPV SDK is a set of encryption algorithm, peer to peer network and SPV related implementation like bloom filter, merkleblock and util methods. As an example, this project includes an spv wallet implementation located in spvwallet folder. It will help you understand how to use this SDK and build your own apps. After installing, you can do some things locally like creating your own wallet, seeing account balance and a wide variety of other options.
This project implements an ELA node like program base on ELA.SPV SDK. It provides the same RPC interfaces as the ELA full node program like getblock gettransaction etc, and several extra interfaces registeraddresses, registeraddress, etc. With a SPV node, you can do almost the same thing as an ELA full node through JSON-RPC interaction, with reduced data size and less computing resource.
This is the client program of the ELA node, which is a command line tool to control node and see node info etc. Also, this project includes a light implementation of ELA wallet that can create your ELA account, receive, create, sign or send transactions. You can run a node locally and set the miner address to your wallet account and then run the node to get your own ELAs and do whatever you want after that.
This is a set of tools and utilities for generating a transaction signature. THere are two forms of signature - calling the API and standard web request.
This is a common library referenced by all the repos of ELA nodes and clients, including Elastos.ELA, Elastos.ELA.Client, Elastos.ELA.SPV, etc. It is the basic component of these repos. This repo contains some common data structures like the message protocol of p2p network and the crypto algorithm of ELA coin. Changes to this repo will affect all the repos that reference it. Thus, any new commit to this repo should be treated very cautiously.
Elastos Carrier is a decentralized peer to peer communication framework and this repository is the Native SDK from which all other SDKs are based on.
This is the Node.js wrapper for Elastos Carrier Native. It allows javascript code to call Carrier C++ functions. This project is just a wrapper to the Native SDK for Node developers.
This is a Swift API wrapper(and Objective C APIs) for Elastos Carrier Native. This project is just an iOS wrapper to the Native SDK for iOS developers.
This is a Java API wrapper for Elastos Carrier Native. This project is just a wrapper to the Native SDK for Android developers.
This demo introduces how to use the Elastos Android SDK to achieve communication between phones and realizes a simple version of Chat DApp.
This is a demo application to show what can be done over carrier network. It shows you how you can use this app to control each other via what's known as NAT traversal. Some of the items for remote control includes - turning on/off torch(or light), turning on/off ringtone, increase/decrease ringtone volume, turning on/off camera, etc
This is the basic service to help new nodes join and bootstrap the Elastos Carrier network. You can think of these nodes as the seed nodes.
Trinity is a project name that aims to implement a cross-platform application that can run on android, iOS, windows and mac OS. It is the entrance from the classical internet into the trusted elastos internet. The official application name is called "Elastos". This is an Elastos web browser project still in stealth mode and will be released to the public shortly. It is home for web DApps.
This projects hosts Trinity code for android.
DittoBox server integrates ownCloud Server and Elastos Carrier. You can access your files at anytime from anywhere over Elastos Carrier network even if the server is deployed behind the router.
This is an iOS demo application integrating ownCloud over Elastos Carrier network through which we can access or save personal files to ownCloud server that could be deployed at home behind the router. This app demonstrates that all traditional http(/https)-based application can be refactored to elastos carrier apps running over carrier network. Being elastos carrier web app, the app server can be deployed without requirement of direct network accessibility. For example, through elastos carrier network, you can deploy ownCloud server at local network at your home, and access ownCloud service at anywhere.
This is an android demo application integrating ownCloud over Elastos Carrier network through which we can access or save personal files to ownCloud server that could be deployed at home behind the router. This app demonstrates that all traditional http(/https)-based application can be refactored to elastos carrier apps running over carrier network. Being elastos carrier web app, the app server can be deployed without requirement of direct network accessibility. For example, through elastos carrier network, you can deploy ownCloud server at local network at your home, and access ownCloud service at anywhere.
- What kind of community members are you hiring? We Want You! Elastos Community Recruitment
- How to contribute to the community? Contribution Guide
- How to raise an issue? Issue Submission Checklist
- Is there a gitlab repo dedicated to Elastos Developer Community? Elastos Developer Community Repo
- Can I find other Elastos developers in my city? Elastos Developer Community Global
Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html