[![PoweredBy](https://raw.githubusercontent.com/Mentors4EDU/Images/master/Add%20a%20heading(15).png)](https://www.starkdrones.org/home/os)
# Decentralized Internet
![N|distributed](https://raw.githubusercontent.com/Mentors4EDU/Images/master/Screenshot_2019-11-27%20Untitled%20Design(2).png?style=centerme)

![npm](https://img.shields.io/npm/dt/decentralized-internet?label=NPM%20Downloads) | ![Crates.io](https://img.shields.io/crates/d/decentralized-internet?label=crates.io%20Downloads) | [![Discord](https://img.shields.io/discord/639489591664967700)](https://discord.gg/buTafPc) | [![Gitter](https://img.shields.io/gitter/room/Decentralized-Internet/community)](https://gitter.im/Decentralized-Internet/community?source=orgpage) | [![Read the Docs](https://img.shields.io/readthedocs/lonero)](https://lonero.readthedocs.io/en/latest/)  
[![NPM](https://nodei.co/npm/decentralized-internet.png?mini=true)](https://nodei.co/npm/decentralized-internet/) | [![N|Tweet](https://img.shields.io/badge/Tweet--lightgrey?logo=twitter&style=social)](https://twitter.com/share?ref_src=twsrc%5Etfw) | ![npm type definitions](https://img.shields.io/npm/types/decentralized-internet) | ![NPM](https://img.shields.io/npm/l/decentralized-internet)

The NPM library is a collection of the following repos made for the purpose of building [decentralized web](https://github.com/Lonero-Team/Decentralized-Internet.git) projects:

[lotion](https://github.com/nomic-io/lotion) | [bitcoin-peg](https://www.npmjs.com/package/bitcoin-peg) | [clusterpost](https://github.com/juanprietob/clusterpost) | [gridbee-framework](https://github.com/BME-IK/gridbee-framework) | [Reinvent-the-Internet](https://github.com/Mentors4EDU/Reinvent-the-Internet)

| IDEs 	| Platforms 	| Extensions 	|
|----------	|-----------	|------------	|
| [Atom](https://atom.io/packages/decentralized-internet) 	| [Linux](https://snapcraft.io/decentralized-internet) 	| [Jira](https://bitbucket.org/gamer456148/decentralized-internet/src/master/) 	|
| [Intellij](https://plugins.jetbrains.com/plugin/13735-decentralized-internet) 	| [Chrome](https://chrome.google.com/webstore/detail/decentralized-internet-sd/gdomaijaeldibcpllgjfimjgdjngojig) 	| [GitHub](https://github.com/apps/decentralized-internet) 	|
|  [Eclipse](https://marketplace.eclipse.org/content/decentralized-internet) 	| [Android](http://android.oms.apps.bemobi.com/en_us/decentralized_internet.html?ecid=1) 	|  [Swagger](https://app.swaggerhub.com/apis/Lonero/Decentralized-Internet_API/1.0.0#/info)	|
| [VS Code](https://marketplace.visualstudio.com/items?itemName=Lonero.decentralized-internet) 	| [Windows](https://github.com/Lonero-Team/Decentralized-Internet/releases/tag/win_beta_2) 	| [Mockable](https://github.com/Lonero-Team/Decentralized-Internet/blob/master/_APIs/Mockable.wsd)	|  

#### Installation Methods
Install via NPM: `npm i decentralized-internet`  
Install via DUB: `dub add decentralized-internet`  
Install via YARN: `yarn add decentralized-internet`  
Install via PIP: `pip install decentralized-internet`  
Install via APM: `apm install decentralized-internet`  
Install via GEM: `gem install decentralized-internet`  
Ember Installation:  `ember install decentralized-internet`  
Install via Spack: `./spack install decentralized-internet`  
Install via VS Code: `ext install Lonero.decentralized-internet`  
Install through Leiningen/Boot: `[decentralized-internet "0.1.0"]`  
Install via SNAP: `sudo snap install decentralized-internet --edge`  
Install via Docker: `docker pull gamer456148/decentralized-internet`  
Use Clojure CLI/deps.edn: `decentralized-internet {:mvn/version "0.1.0"}`  
Use Gradle:`Compile 'decentralized-internet:decentralized-internet:0.1.0'`  
Use wget: `sudo wget -O decentralized-internet.tar.gz "https://git.io/JvR7b"`  
##### For Mac Users:
[![MAC](https://jaywcjlove.github.io/sb/download/macos.svg)](https://github.com/Lonero-Team/Decentralized-Internet/releases/download/v1.0_mac/Decentralized-Internet.dmg)
##### Sketch Plugin:
```
brew install wget
wget https://git.io/Jv2pk
```  
##### Export Components: 
`bit export decentralized-internet.lonero_decentralized-internet`  
##### Add via Maven
```
<dependency>
  <groupId>decentralized-internet</groupId>
  <artifactId>decentralized-internet</artifactId>
  <version>0.1.0</version>
</dependency>
```  
##### Arch Linux Installation Instructions:
```
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install decentralized-internet --edge
```  
##### Install via Dart:
Add to your pubspec.yaml file:
```
dependencies:
  decentralized_internet: ^3.4.1
```
Run: `pub get`
##### Use this Module via Puppet:
Add this to your Puppetfile as a declaration:  
`mod 'gamer456148-decentralized_internet', '1.3.0'`  
Next run the command:  
`bolt puppetfile install`  
Instead of the above, you can also try adding:  
`mod 'gamer456148-decentralized_internet', '1.3.0'`  
This mod line is for those who use r10k or Code Manager  
Learn more [here](https://puppet.com/docs/pe/2019.2/managing_puppet_code.html)   
##### Cloud Deploy:
[![GitPod](https://jaywcjlove.github.io/sb/open/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Lonero-Team/Decentralized-Internet)  
[![Deploy to Salesforce](https://raw.githubusercontent.com/afawcett/githubsfdeploy/master/deploy.png)](https://githubsfdeploy.herokuapp.com?owner=Lonero-Team&repo=Decentralized-Internet) [![Deploy with ZEIT Now](https://zeit.co/button)](https://zeit.co/new/project?template=https://github.com/Lonero-Team/Decentralized-Internet) [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/Lonero-Team/Decentralized-Internet) [![Deploy](https://get.pulumi.com/new/button.svg)](https://app.pulumi.com/new?template=https://github.com/Lonero-Team/Decentralized-Internet) [![Deploy](https://codemason.io/img/deploy.svg)](https://codemason.io/apps/create?template=https://github.com/Lonero-Team/Decentralized-Internet) [![Deploy to IBM Cloud](https://cloud.ibm.com/devops/setup/deploy/button.png)](https://cloud.ibm.com/devops/setup/deploy?repository=<=https://github.com/Lonero-Team/Decentralized-Internet>&branch=<master>) [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/Lonero-Team/Decentralized-Internet) [![Deploy to Azure](https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/deploybutton.png)](https://azuredeploy.net/) [![amplifybutton](https://raw.githubusercontent.com/Mentors4EDU/Images/master/amplifybutton(1).png)](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/Lonero-Team/Decentralized-Internet)  
[![Codeship Status for Lonero-Team/Decentralized-Internet](https://app.codeship.com/projects/297a5380-f6f1-0137-5106-6248c62052ae/status?branch=master)](https://app.codeship.com/projects/376496) | [Jira Guide](https://bitbucket.org/gamer456148/decentralized-internet/src/4450483a3ada749d602e7713ee7f78510a2e1e0e/README.md?at=master) | [.travis.yml](https://github.com/Lonero-Team/Decentralized-Internet/blob/master/.travis.yml) | [Nanobox Guide](https://guides.nanobox.io/javascript/generic/) | [Deploying w/ FTP](https://documentation.codeship.com/basic/continuous-deployment/deployment-with-ftp-sftp-scp/) | [Deploy w/ Octopus](https://octopus.com/docs/deployment-process/variables/variable-substitutions) | [Run on Digital Ocean](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server) | [Deploy via Google Cloud](https://deploy.cloud.run/?git_url=https://github.com/Lonero-Team/Decentralized-Internet) | [Deploying AWS CodeDeploy](https://aws.amazon.com/getting-started/tutorials/deploy-code-vm/) | [Deploy via Alibaba Cloud](https://www.alibabacloud.com/help/doc-detail/98551.htm) | ![MicroBadger Layers](https://img.shields.io/microbadger/layers/gamer456148/decentralized-internet) | [![](https://jitpack.io/v/Lonero-Team/Decentralized-Internet.svg)](https://jitpack.io/#Lonero-Team/Decentralized-Internet) | [![StackShare](http://img.shields.io/badge/tech-stack-0690fa.svg?style=flat)](https://stackshare.io/lonero/the-lonero-foundation) | ![bit](https://img.shields.io/bit/collection/total-components/decentralized-internet/lonero_decentralized-internet?color=yellow)

|  Languages | Frameworks |
|:----------:|:----------:|
|    [Rust](https://crates.io/crates/decentralized-internet)    |   [Node.js](https://www.npmjs.com/package/decentralized-internet)  |
| [Javascript](https://github.com/Lonero-Team/Decentralized-Internet/blob/master/package.json) |  [Ember.js](https://emberobserver.com/addons/decentralized-internet)  |

#### Current Todo List:
☐ Build Developer "DAPP Store"  
☐ Deploy Live Peer Net Explorer  
☐ Add "New" Stats Counter Criteria  
🗹 Build Binaries w/ GUI Guide (Custom)

[![DOI](https://zenodo.org/badge/218808524.svg)](https://zenodo.org/badge/latestdoi/218808524)  

Check our [bit.dev](https://bit.dev/decentralized-internet)

| **Research Pre-Prints** | [IACR](https://eprint.iacr.org/2019/1467) | [JODC1](https://www.authorea.com/users/289895/articles/416340) | [JODC2](https://doi.org/10.22541/au.157807499.98003317) | [eng](https://engrxiv.org/h8cmw/)[Rxiv](https://www.preprints.org/manuscript/202001.0274/v1) |
|:-------------------:|:----:|:-----:|:-----:|:-----:|

#### Regular Classical Processing:
![N|Classic](https://raw.githubusercontent.com/Mentors4EDU/Images/master/regular.png)

#### Post-Classical Processing:
![N|PostClassic](https://camo.githubusercontent.com/6e210293449d6876117f97cff4bcbc568495f7bf/68747470733a2f2f692e696d6775722e636f6d2f615145793131332e676966)

* These are purely just mathematical "representations"

###### App to add GitHub metrics tracking to select repos [here](https://github.com/apps/decentralized-internet)

Also special thanks to: [The Lonero Dev Team](https://github.com/lonero-team)
   
 * May need some updates in Seed Migration for some of the org repos | ![Website](https://img.shields.io/website?url=http%3A%2F%2Flonero.org)

#### Lotion Sample (State Machines):
* From original [Lotion](https://lotionjs.com/) [repo](https://github.com/nomic-io/lotion) (shown on installation page for demo purposes)
```
// app.js
let lotion = require('lotion')
let app = lotion({
	initialState: {
		count: 0
	}
})
function transactionHandler(state, transaction) {
	if (state.count === transaction.nonce) {
		state.count++
	}
}
let connect = require('lotion-connect')
app.use(transactionHandler)
app.start().then(appInfo => console.log(appInfo.GCI))
```

#### ccxml Device Connection Sample Code:
- xml taken from TI's IDE in device config for driver
```
<connection XML_version="1.2" id="TI MSP430 USB1">
```

Papers worth checking out:
[Lonero Whitepaper (Original)](https://www.academia.edu/37041064/Lonero_Whitepaper_v1)  | [CrowdCoin Scientific Whitepaper](https://www.academia.edu/37832290/CrowdCoin_Scientific_Whitepaper)  
This project is being mantained by the folks [here](https://www.starkdrones.org/home/os)  
Read our Hackernoon blog posts [here](https://hackernoon.com/@TheLoneroFoundation)

#### FAQ:

> Q. Why a Decentralized Internet?  
> A. We are taking back technology in the hands of the people  
> Q. What other benefits does this provide?  
> A. An overarching mission to replace telecom towers and outdated grids  
> Q. What makes this different from other Decentralized Web projects?  
> A. Our outermost support for distributed computing, and a focus on an offline-first network  
> Q. Why do you use alot of open source or previous libraries?  
> A. We wanted to expand upon them to start building our core tech right away.

![EndLine](https://raw.githubusercontent.com/Mentors4EDU/Images/master/Untitled%20design(96).png)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FLonero-Team%2FDecentralized-Internet.svg?type=small)](https://app.fossa.com/projects/git%2Bgithub.com%2FLonero-Team%2FDecentralized-Internet?ref=badge_small) [![N|Telegram](https://raw.githubusercontent.com/Mentors4EDU/Images/master/Screenshot_2019-12-18%20decentralized-internet.png)](http://t.me/lonero) [![ForTheBadge built-with-science](http://ForTheBadge.com/images/badges/built-with-science.svg)](https://GitHub.com/Lonero-Team/)

[![LNROS](https://img.youtube.com/vi/ax-wqHntKXg/0.jpg)](https://www.youtube.com/watch?v=ax-wqHntKXg "Lonero OS: The Race is Coming!")

### Test w/ Repl.it:
[![replit](https://raw.githubusercontent.com/Mentors4EDU/Images/master/Screenshot%20from%202019-11-20%2012-13-27.png)](https://repl.it/)

### Play w/ Dependency via scrimba:
[![scrimba](https://raw.githubusercontent.com/Mentors4EDU/Images/master/Screenshot_2019-11-20%20decentralized-internet.png)](https://scrimba.com/)

### Command Line Interface **Coming Soon**:
#### Usage:
```
$ npm install -g lonero-cli
$ lonero-cli COMMAND
running command...
$ lonero-cli (-v|--version|version)
lonero-cli/0.0.4 linux-x64 node-v12.4.0
$ lonero-cli --help [COMMAND]
USAGE
  $ lonero-cli COMMAND
...
```  
![DRKLine](https://raw.githubusercontent.com/Mentors4EDU/Images/master/line-drk.png)  
This project was created in order to support a new internet. One that is more open, free, and censorship-resistant in comparison to the old internet. An internet that eventually wouldn't need to rely on telecom towers, an outdated grid, or all these other "old school" forms of tech. We believe P2P compatibility is an important part of the future of the net. Grid Computing also plays a role in having a better means of transferring information in a speedy, more cost-efficient and reliable manner.
#### For citing our software:
>> Kamal, A. M. decentralized-internet. npm (2020). Available at:
https://www.npmjs.com/package/decentralized-internet. (Accessed: 2nd March 2020)
