Skip to content
View GRIDNETOS's full-sized avatar
Block or Report

Block or report GRIDNETOS

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
GRIDNETOS/README.md

⋮⋮⋮ GRIDNET OS

What you are about to Discover is the very first 100% decentralized Operating System.

The best of it all? It has been implemented by Wizards🧙🧙 (..) oh yes (...)🧙🧙 are Real!

The decentralized operating system aims to allow for user experience resembling the one known from DOS, LINUX, Windows and Mac OS X centralized operating systems.

GRIDNET OS screenshot


We have borrowed from all of these. Yes, boards a Graphical User Interface. Which is also 100% decentralized. How can a UI be decentralized? Once user connects to a node, it would deliver what we call a Bootloader, which encapsulates IP addresses of other nodes discovered through Kademlia. The Bootloader would then keep fetching assets (code, images,JavaScript modules, whatever) from possibly multiple peers at once, even for a single UI session, while verifying integrity of these. The system, especially the UI is in alpha stage, even still, it already boards quite a few useful UI dApps (decentralized applications).

These allow for anonymous web-browsing, file sharing, drag&drop file uploads from native OS, communication, collaboration, end-to-end encrypted group audio / video streaming, multi-party conferencing where you share you screen(s) or particular window(s) from your native operating system, value transfers (both on-the-chain and off-the-chain) and gaming (feeling like looking for some Gold? Launch GridCraft, grab a metal detector and be on your way! It's a game but under the hood it employs some cutting-edge achievements in cryptography to allow for rewards for such miniscule activities as finding stuff within a game).. or you might want to play Snake (also multiplayer!) through the decentralized SSH Terminal Services.. yes.. each node operating the decentralized state-machine is capable of spawning a Shell for you. Most commands are compatible with Unix/Linux and to some extent, with DOS. Decentralized File System supporting Access Control Lists (ACLs) through SETFACL, GETFACL commands? Sure! Many in-terminal commands come with built-in MAN-pages.
Maybe you are feeling like deploying a decentralized web-site of your own? Editing it straight within the UI? Be our guest! Maybe you would like to deploy a NFT, by dragging and dropping a file from you computer and setting ownership through CHOWN ? It's all possible.

As for communication note that we were the first to come up with a data-exchange protocol provably Sybil-proof in any kind of computer networks. All of the communication sub-system employ these research findings. If you use collaboration, communication UI dApps on , data does not flow throuh any server. No server is involved even during the WebRTC connection establishment phase. It's all decentralized. Definitely feel invited to check out some of our research papers. The only trusted thing from your perspective is your mobile device. Once you install the app (available for both iOS and Android), Hexi (our in-system AI) would guide you through setting up your public/private key pairs. Then, whenever your consent is needed, you would simply scan QR code displayed on screen (it can be rendered in UI session rendered through WebGL, but also in terminal session over SSH through UNICODE 1.1. half-blocks for maximum-terminal data-density). Remember, it's an alpha stage. We've been implementing it on YouTube LIVE almost each and every day since the early 2017. Private Investments are now open, soon we'll be opening up to a Public Investment Round.

Quick Start Guide

1. Read The ⋮⋮⋮Constitution

2. Download the ⋮⋮⋮Mobile App

3. Access the ⋮⋮⋮Terminal Services and Enjoy!

4. Join the ⋮⋮⋮Community and Contribute!

What's In The Repository

The repository contains source codes of UI dApps currently available on GRIDNET OS. We believe the package to contain superb in-code documentation so it is a great place to get you started. These sample UI dApps take use of all of the sub-systems of GRIDNET OS. Storage, inter-browser communication through Swarms, UI mechanics, communication with the mobile app, invocation of #GridScript core apps residing on the decentralized state-machine, ad-hoc invocation of #GridScript commands, Decentralized Processing Threads, onion routing, user's settings and preferences mechanics etc. We believe the system to allow for any kind of applications you know from platforms such as Windows, Mac OS X and/or Linux.

Rationale?

To make your decentralized ideas a reality. Any kind of these. Games, multi-player games, decentralized YouTube, Twitter, any kind of services and applications. Just decentralized. Don't you dare your imagination to have any kinds of limits.

Learning Curve

If you know your way around JavaScript, HTML and CSS.. there is almost nothing new to learn. Yeah, really. In most of the cases. GRIDNET OS attempts to hide away all of the aspects of decentralization and make all the components available to you through some nice JavaScript APIs and events. For some advanced programming one may need to use #GridScript which is largely compatible with Forth.

How to Create an UI dApp

UI dApps are a mixture of JavaScript, WebGL, CSS, HTML and #GridScript.

All the synchronization, compartmentation - these are assured by the system. The system provides so that you could focus on making the ideas of yours a reality. No need to worry about any of the details. Windows, communication, UI mechanics and stuff - it is all taken care of by the system. Shadow DOM Mechanics, WebWorkers, Monitors.. these are all in place assuring proper development and end-user's experience.

Now, are you willing to deploy an UI dApp of your own? Take a look at 'AppTemplate.js".

You will quickly find out that it is an ECMA6 class inheriting from CWindow.

All the sub-systems of GRIDNET OS are available to developers through the CVMContext object.

You may access it through `CVMContext.getInstance()` static accessor.

Each UI dApp has its package identifier ex. `"org.gridnetproject.UIdApps.helloWorld"` make sure to change it within the template.

How to Deploy an UI dapp

Once having at least the Package Identifier changed, simply change extension of the file to *.app and drag and drop it to your state-domain within the ⋮⋮⋮ File Manager UI dApp and commit. Congratulations! You have just deployed you very first decentralized windowed UI dApp!

How to install an UI dApp?

Simply tap on the already deployed *.app file. The Package Manager has this file-type extension associated. it would automatically kick-in and attempt to parse the package, looking for a default export. The export would be checked for having inherited from CWindow. For testing you need not have committed the package in the first place. Just drag and drop the file onto the File Manager and tap on it to see the package getting installed. On success the icon of your package would appear right on your Desktop. The app's name is derived autonomously from the Package Identifier. Should anything go wrong you would find error messages within the retractable Log Pane. Just make sure event logging for dApps is enabled. For daily use, enabling excessive logging might affect system performance.

Where are my UI dApps hosted?

GRIDNET OS comes with a decentralized file system. The decentralized file system boards full-redundancy storage directly by the decentralized state-machine and off-the-chain storage at arbtirary redundancy guarantess. The second type of storage under the hood employes an incentive-compatible version of the Torrent protocol in short. In any case, the system implemented full Access-Control-Lists based provisioning system. Typically, the main code of UI dApps would get stored straight onto the Decentralized State Machine, meaking full-redundancy storage. Should your application require to storage large assets such as textures etc. feel free to use the other type of storage. Once you upload files, you get to choose the type of desired storage to be used. All in all, once your UI dApp gets commited, it would be available right away from anywhere!

Where to Learn?

Additional guidelines are available at https://mag.gridnet.org and https://gridnet.org. Now, pay special attention to https://talk.gridnet.org , even though full docs are pending we can guarantee that Wizards would aid you with development with any idea you might have right away, just let them know on the forums what you need and they would gladly assist!

What to expect?

We are to be making the entire source code of GRIDNET OS available right over here. That includes source codes of the iOS / Android mobile apps, source codes of nodes comprising the decentralized State-Machine (C++) and source code of components running straight within the web-browser (ECMA6).

Why not make the entire source code available right away?

GRIDNET OS consumed millions of dollars in development. We want to protect our interests and interests of our investors to the best extent possible. In the decentralized realm there are lots and lots of hyenas (such as Dominic W. from ICP/dFinity just waiting to scrape all the code available around and claim as theirs). As soon as all of our investment rounds are over we will be releasing 100% of the code base. If you are worried about code quality, worry no more. The entire development process has been streamed and recorded LIVE on YouTube almost each and every day since the early 2017. There are now well over 35 TB of live programming sessions stored by Google.

Popular repositories

  1. GRIDNETOS GRIDNETOS Public

    The very first decentralized operating system.

    JavaScript 10 2