parent
a8e9733029
commit
2093ea8a79
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: ActivityPub compatibility |
||||
description: Interact with ActivityPub social networks from NextGraph, thanks to our collaboration with ActivityPods |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -1,7 +0,0 @@ |
||||
--- |
||||
title: API |
||||
description: NextGraph API |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
||||
|
||||
#### TODO |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Architecture |
||||
description: General Architecture of NextGraph |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Security Audit |
||||
description: NextGraph protocols and security claims have been audited |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: CLI |
||||
description: Reference of the CLI of NextGraph |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Collaboration |
||||
description: Tools available for Collaboration and Productivity |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Documents, Stores and Blocks |
||||
description: Organize your data with Documents, Stores, Branches and blocks |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Ecosystem |
||||
description: Apps developed with NextGraph integrate its ecosystem |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Encryption |
||||
description: End-to-End Encryption (E2EE) of all data in NextGraph, and encryption at rest too |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,41 @@ |
||||
--- |
||||
title: Features |
||||
description: list of features available to all users in our native apps and web app |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
||||
|
||||
### Official Apps |
||||
|
||||
Here is the list of types of Document you can create in NextGraph. In parenthesis is the type of underlying CRDT used by that type. See the [CRDTs](framework/crdts) article for more details about CRDTs. |
||||
|
||||
| Document type | Viewers | Editors | |
||||
| ------------------------ | ------------------ | ------------------ | |
||||
| Post or Article (YXml) | Post | Post Editor | |
||||
| | XML source | | |
||||
| Markdown (YXml) | Post | Post MD Editor | |
||||
| | Markdown source | | |
||||
| | XML source | | |
||||
| Plain Text (YText) | Text | Text Editor | |
||||
| Data / Graph (Graph) | Turtle | SPARQL Update | |
||||
| | SPARQL Query | | |
||||
| Data / Container (Graph) | Container (\*\*\*) | SPARQL Update | |
||||
| | Turtle | | |
||||
| | SPARQL Query | | |
||||
| Data / JSON (Automerge) | JSON (\*) | JSON Editor (\*) | |
||||
| | JSON source | | |
||||
| Data / Object (YMap) | JSON (\*\*) | JSON Editor (\*\*) | |
||||
| | JSON source | | |
||||
| Data / Array (YArray) | JSON (\*\*) | JSON Editor (\*\*) | |
||||
| | JSON source | | |
||||
| Code / Rust | Source Code | Text Editor | |
||||
| Code / JavaScript | Source Code | Text Editor | |
||||
| Code / TypeScript | Source Code | Text Editor | |
||||
| Code / Svelte | Source Code | Text Editor | |
||||
| Code / React | Source Code | Text Editor | |
||||
|
||||
Note: (\*) The JSON Editor (in read-write or read-only) is very primitive for now, it has been developed in one day, to showcase the easy binding of JSON data to some Svelte components. It lacks important features like ( insert in array at position. remove at position in array. splice range. remove from map. change type or name of property in map ). Also the general UX is ugly. But it is functional and demonstrate the potential of CRDT on JSON data, that will be leveraged by app developers. Once it will be improved, this Editor and Viewer will be reused for all Data types, including the Yjs based ones, and the Graph one. |
||||
|
||||
Note: (\*\*) The JSON Editor (in read-write or read-only) used here for the Yjs types, is based on svelte-jsoneditor which isn't so easy to use. But it is a good demonstration that the GUIs can be anything. The data layer works fine and that's the most important for now. |
||||
|
||||
Note: (\*\*\*) Containers are used for the Public Store, Protected Store and Private Store homepages. |
||||
Please note that apart from those 3 stores, creating new containers is not really useful yet as you have to add the triple `ldp:contains` manually with SPARQL Update if you want any document to be part of the container. |
@ -0,0 +1,17 @@ |
||||
--- |
||||
title: Framework |
||||
description: Build decentralized, local-first and privacy-preserving apps |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
||||
|
||||
NextGraph Framework will be available soon. |
||||
|
||||
Stay tuned! |
||||
|
||||
If you have questions or want to get in touch with us, the simplest way is to join the [forum](https://forum.nextgraph.org). |
||||
|
||||
For bug reports, please create an account and submit a new issue in our [Gitea instance](https://git.nextgraph.org/NextGraph). |
||||
|
||||
Stay tuned by subscribing to our [newsletter](https://list.nextgraph.org/subscription/form). |
||||
|
||||
Permissive license (MIT and Apache2) |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Data-First |
||||
description: NextGraph is a data-first framework where applications are just viewers and editors on Documents. |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Getting started with NextGraph Framework |
||||
description: How to use NextGraph framework to develop your decentralized App |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: DID & NURI |
||||
description: NextGraph URI scheme and the DID method |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Permissions and capabilities |
||||
description: How permissions work in NextGraph, based on cryptographic capabilities |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Framework Roadmap |
||||
description: Roadmap of future improvements on the Framework of NextGraph |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Data Schema, Context, Ontology |
||||
description: Describe the Schema of your data with a set of Semantic Ontologies that will define your JSON-LD Context |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Semantic Web, Linked Data, RDF |
||||
description: NextGraph is based on the Semantic Web principles and uses RDF as its primary data format |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Smart Contract |
||||
description: Define and use Smart Contracts to manage multi-party business processes like logistics, supply chain, e-commerce, with cross-document transactions. |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Transactions |
||||
description: Mutate your data with Async and Sync transactions inside a Repo |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -1,14 +1,160 @@ |
||||
--- |
||||
title: Getting started |
||||
description: Getting started with NextGraph |
||||
description: Getting started with NextGraph App |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
||||
|
||||
NextGraph development is just starting now. |
||||
The "Getting started" guide will be available soon. |
||||
Get started and try our official App by [installing it](https://nextgraph.org/download/), or using the web app at [nextgraph.eu](https://nextgraph.eu). |
||||
|
||||
If you want to know more, have questions or want to get in touch with us, the simplest way is to join the [forum](https://forum.nextgraph.org). |
||||
The App is available for |
||||
|
||||
For bug reports, please create an account and submit a new issue in our [Gitea instance](https://git.nextgraph.org/NextGraph). |
||||
- Android |
||||
- iOS(soon) |
||||
- Linux, specially Ubuntu |
||||
- macOS |
||||
- Windows |
||||
|
||||
Stay tuned by subscribing to our [newsletter](https://list.nextgraph.org/subscription/form). |
||||
For unsupported devices, we offer a web version at [nextgraph.eu](https://nextgraph.eu), and will also provide a local install based on ngd soon. |
||||
|
||||
#### Create a Wallet |
||||
|
||||
The first step that is waiting for you when you start using our apps, is to create a Wallet for yourself. |
||||
|
||||
The purpose and procedure is described within the app. Please follow the steps one by one. This process is a bit long at the first launch, but it is necessary. The wallet enables your digital sovereignty and independence. |
||||
|
||||
We at NextGraph will never see your wallet nor its content. When you create your wallet, there is no access to the internet that is needed. Your wallet stays local, on your device. Only your encrypted documents are sent to the Broker. |
||||
|
||||
For this reason, you will have to export and import your wallet from the first device where you created it, towards the other devices that you want to use. |
||||
|
||||
We have made the transfer of the wallet easy, and you have several options. The easiest one is to use a **QR-Code** that will be displayed on one of your device, and that you can scan from the other device. |
||||
|
||||
If this is not available to you (if none of your devices has a camera) then you can use the TextCode option, or transfer your Wallet File with a USB key. Those other options are also described inside the app. You can also find more information about that in the [Wallet section](wallet) here below. |
||||
|
||||
#### Choose a Broker |
||||
|
||||
All the apps (native or web) need to have a Broker configured in order to operate well. This is due to the **2-tier** decentralized peer-to-peer network of NextGraph. |
||||
|
||||
When you create your wallet, you will be asked to select a Broker. This is a server that is running 24/7 and that will help you synchronize your data with all your devices and with other users. |
||||
|
||||
For now, we only offer you one Broker (nextgraph.eu) located in France. In the future, there will be other options too with Brokers available in other countries, and also with the option to self-host your own broker. |
||||
|
||||
You will be able to change your broker later on. Your data will move to the new broker and all your documents will be accessible from the new broker. With NextGraph, all your data is totally **portable** and there is no fear to have with being locked-in with one provider or another. All your contacts will be transparently informed that you have moved your account to another Broker and everything will work seamlessly. |
||||
|
||||
#### Use the App |
||||
|
||||
Once your wallet is created and you are entering the App main screen for the first time, you will have to learn how to use it. here is a brief introduction to the App. |
||||
|
||||
You have created a Wallet, and inside this wallet, there is one default `Identity` that represents you. This identity is called **personal** because it represents you as an individual. You can later create more Identities if you want to separate your work life and your personal life, by example, or for other purposes of keeping your identities separated. |
||||
|
||||
Within each Identity, your data is organized into **3 different Stores**. |
||||
|
||||
##### Stores |
||||
|
||||
- the public store : is equivalent to your website, blog, or public profile on social networks. You can put in this store all the documents, pictures, videos, posts, data, etc... that you want everybody to have access to, without the need for special permissions. |
||||
|
||||
- the protected store : is a space where you can share data, documents, and media with other users, but they will need a special link and permission in order to access them and collaborate with you on those documents (or just read them). You can also create Groups here when you want to chat or collaborate with several users. This store also acts as your protected profile for social networks. Only your followers will be able to see this profile, as it is not public. |
||||
|
||||
- the private store : this is a place where you put only private and personal information that only you has access to. This store will be accessible to all your devices, so it is useful in order to synchronize private data between them. You can put sensitive data too, as everything is encrypted. Nobody else will every see this data. it is not possible to share the documents of your private store. |
||||
|
||||
You can also later, move documents from one store to another, if you are the owner of such document. |
||||
|
||||
When you arrive in the App, the first screen that you see, and this is your Homepage, is in fact, your private store, where you can organize your personal data. |
||||
|
||||
Then you can access your protected store with the icon that represents 2 users. |
||||
|
||||
And your public profile/store can be found with the icon that represents one user. |
||||
|
||||
##### Documents |
||||
|
||||
The app is based on the concept of Documents. Everything is a Document in NextGraph. Even your 3 stores' homepage are Documents themselves. |
||||
|
||||
If you want to post some article, text, image or video on social media, those are considered a Document, that you send to your Stream. |
||||
|
||||
If instead, you want to add some content to your public or protected profile, you just create a document there and it will add itself to the grid of content visible on the profile (like on instagram). |
||||
|
||||
You want to write an email? you create a document, and then send it via email from within the app (this feature will come soon). |
||||
|
||||
You want to collaborate with someone on a document? create it in your protected store, and select a contact to share it with. |
||||
|
||||
You want to add a new contact ? this is also a tiny document, that represents the contact information of the person. |
||||
|
||||
Each document has a **type** (which is called a "primary class" internally) and you have to select this type before you create it. |
||||
|
||||
The full list of available types is detailed in the [features](features) section below. It is also visible within the app, when you want to create a new Document (with the "plus" button). |
||||
|
||||
Documents can be moved from one place to another within the store. You can reorganize your store as you like, with the help of `containers` and soon with `folders` too. |
||||
|
||||
You can read more about [Documents and Stores](documents) in the corresponding section below. |
||||
|
||||
##### Document Menu |
||||
|
||||
We bring your attention shortly on the Document's Menu that is accessible from the button with 3 vertical dots, at the top right corner of the screen. |
||||
|
||||
Each Document has a double nature : |
||||
|
||||
- it has a _Document-like_ nature where you can store and edit some rich-text, or just some data, according to the class of the Document that you have chosen. This is so far very consistent with what we expect from a document in general. All the apps that you use with NextGraph, will store their data inside these Documents. |
||||
- A Document also has a _Graph_ nature, which is something new that NextGraph added (hence the name "NextGraph"). This "graph nature" of the document let's you link this document to other documents. It also let's you enter some specific data or meta-data about this document, that will be part of the Graph of all your documents. This graph is something important, that you are not used to. Social networks are all based on a Graphs. The Web itself is a huge Graph. When you follow or get followed, when you like or comment on a Post, when you write a DM to someone, all this information is stored as a Graph, that connects different documents together. Later, you will probably need to _query_ this graph. This is done transparently when you want to see all your followers, and when you want to consult the **stream** of all the posts that they have published recently, or when you want to search for something. It is also used for recommendations. But in any case, what is important to understand is that internally, each Document can be linked to any other Document (like the classical Web that links webpages) and that the applications you will use on NextGraph, will also store more Graph information. Because NextGraph is local-first and decentralized, this **graph** information is available to you at all time. And if you want to see it, you can go to any Document and in the Document Menu, you can select "Graph" and you will see options to view and edit the Graph. This is a bit technical for now (you will see things like Turtle, SPARQL etc) but in the future, we will provide here some nice tools where you will be able to explore your own graph easily. |
||||
|
||||
##### Viewer and Editor |
||||
|
||||
Also from this Document Menu, you always have the option to switch from the 2 different modes: |
||||
|
||||
- Viewer mode |
||||
- Editor mode. |
||||
|
||||
A document always opens in Viewer mode (read-only) and if you want to modify it, you have to go to the Document menu to select an Editor. |
||||
|
||||
For now, only one editor is provided for each Document type, but in the future, you will be able to install more Editors, and also more viewers. |
||||
|
||||
If you open the same document in 2 different tabs or browser windows, or with different apps (on mobile, desktop, etc), and when you edit the Document in one of the window, it automatically updates itself in the viewer or editor that is opened in the other window(s). Try it! it works great. |
||||
|
||||
But please pay attention to the fact that by default, the **live editing** mode is not activated, and instead, you have to click on the blue mark button that appears at the top right corner of the screen, in order to **save** your changes. |
||||
|
||||
If you want to switch to **live editing** you can do so with the toggle button accessible from the Document Menu. |
||||
|
||||
If you are editing a text document, please pay attention to the fact that live editing is going to send each character one by one, and this has a huge data size overhead/amplification, as each character will be encrypted and sent in our network, separately. |
||||
|
||||
Viewers and Editors are what we call "Apps". And they can be installed from the built-in App Store (not ready yet, but will be available soon) |
||||
|
||||
NextGraph comes with a set of Official Apps (listed in [Features](features)) and developers can create new apps. |
||||
|
||||
##### Attachments and Files |
||||
|
||||
From the Document Menu, you will see many other options, most of them are not implemented et, and will not do anything when clicked. There are there to tease you about the upcoming features ;) |
||||
|
||||
Two menu options are implemented for now : History and "Attachments and Files". |
||||
|
||||
The later is, as its name indicates, about adding some images or any other attachment file to the Document. Images will be useful when you want to insert some picture in a Rich-Text document (not available yet. but you can already add pictures in the Attachments and Files). |
||||
|
||||
##### History |
||||
|
||||
History is another Pane that is already implemented. It shows all the history of modifications on the Document. |
||||
You will be able (in the future) to select a specific revision and "revert" to it. Or to see more details about each modification (that are called "Commits"). |
||||
|
||||
Because NextGraph is local-first and based on CRDTs, if you modify the Document concurrently from 2 different devices while being offline on one or both of the devices, then a temporary "fork" will happen on the Document History. This is visible with a new colored branch that will pop out of the blue branch. |
||||
|
||||
Once the two devices will be back online, you will see tha they will automatically synchronize themselves and the "fork" will be automatically "merged". The colored branch will come back to the blue main branch. |
||||
|
||||
##### User Panel |
||||
|
||||
The User Panel is another menu that is accessible from the Logo of NextGraph at the left top corner of the screen. |
||||
|
||||
It offers some options to manage your connection to the Broker, your wallet, your account, and in the future, some settings. |
||||
|
||||
You can also "logout" from this menu, which will close your wallet. |
||||
|
||||
There is also an option to disconnect from the broker (with the blue toggle button called "Personal") in order to simulate a loss of internet connectivity. |
||||
|
||||
If your internet connection is down, you can also see the status here ( there will be a red Offline sign ). |
||||
|
||||
The App always tries to connect to the Broker every 5 seconds. |
||||
|
||||
##### Magic carpet |
||||
|
||||
You might ask yourself what the magic carpet is. |
||||
|
||||
It is not functional yet, but it wil lbe something like a "clipboard" where you can store temporary data. |
||||
|
||||
But unlike the clipboard we are used to (with CMD+C and CMD+V), the Magic Carpet can keep a list of many items. This is useful when you want to move things around. Also the Magic Carpet is always reachable from anywhere in the app, and let's you drag and drop things. |
||||
|
||||
Stay tuned for more features, by checking out the [roadmap](roadmap). |
||||
|
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Local-First |
||||
description: NextGraph is a local-first App and framework. Learn more about what is Local-First Software |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Network |
||||
description: The P2P (peer-to-peer) Network of NextGraph, composed of Brokers, PubSub and organized in Overlays |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Broker (ngd) |
||||
description: Reference of the Broker daemon (ngd) of NextGraph |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: NodeJS SDK |
||||
description: Reference of the NodeJS SDK and API |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Sync Protocol |
||||
description: Features of the Sync Protocol of NextGraph |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Roadmap of the Official Apps |
||||
description: See the work in progress and scheduled improvements of the Official Apps of NextGraph |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Rust SDK |
||||
description: Reference of the Rust SDK and API |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Self Hosted installation |
||||
description: Self host NextGraph broker on your own server or locally |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Social Network |
||||
description: NextGraph aims to offer a robust, private, secure and easy to use Social Network and Platform, as an alternative to the Big Tech offers (Meta Facebook Instagram Threads TikTok X Twitter) while being compatible with ActivityPub, Nostr, BlueSky and ATproto |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Solid Platform compatibility |
||||
description: NextGraph is compatible with the Solid Platform and Protocols, thanks to our collaboration with ActivityPods |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: DID method |
||||
description: Specifications of the DID method registered with IETF |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Repo format |
||||
description: Specification of the Repo format |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Wallet format |
||||
description: Specification of the Wallet format |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Admin Protocol |
||||
description: Specification of the Admin Protocol |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: App Protocol |
||||
description: Specification of the App Protocol |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Client Protocol |
||||
description: Specification of the Client Protocol |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Core Protocol |
||||
description: Specification of the Core Protocol |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Ext Protocol |
||||
description: Specification of the Ext Protocol |
||||
layout: ../../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Survey |
||||
description: Compare NextGraph Framework with other alternatives frameworks |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,25 @@ |
||||
--- |
||||
title: Verifier |
||||
description: The Verifier is decrypting the data and materializing the state of the CRDTs |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
||||
|
||||
## Remote Verifier |
||||
|
||||
Here are 3 main use-cases for the remote verifier : |
||||
|
||||
- A specific user wants to run a remote verifier on the server instead of running their verifier locally. This is the case for end-users on platforms that are not supported by Tauri which powers all the native apps. |
||||
The end-user on those platforms has to run a local ngd daemon instead, and access the app in their browser of choice, at the url http://localhost:1440 . Here the breaking of E2EE is acceptable, as the decrypted data will reside locally, on the machine of the user. |
||||
As the web app cannot save decrypted user data yet, it has to reprocess all the encrypted commits at every load. |
||||
In order to avoid this, running a remote verifier on the local ngd is a solution, as the ngd can save the decrypted user's data locally, if the user gave permission for it. |
||||
The API for that use case is `session_start_remote` and the credentials (usually stored in the user's wallet) are extracted from the wallet and passed to ngd. |
||||
The rest of the "session APIs" can be used in the same manner as with a local Verifier. This present JS library connects to the server transparently and opens a RemoteVerifier there. |
||||
The remote session can be detached, which means that even after the session is closed, or when the client disconnects from ngd, the Verifier still runs in the daemon. |
||||
This "detached" feature is useful if we want some automatic actions that only the Verifier can do, be performed in the background (signing by example, is a background task). |
||||
When the NGbox will be available, this feature of "detached verifier" will be used extensively, as the goal of the NGbox is to provide the user with an ngd daemon running 24/7 in a trusted environment (owned hardware located at home or office) that has full access to the decrypted data. |
||||
- The second use case is what we call a Headless server (because it doesn't have any wallets connecting to it). It departs a bit from the general architecture of NextGraph, as it is meant for backward compatibility with the web 2.0 federation, based on domain names and without E2EE. |
||||
This mode of operation allows users to delegate all their trust to the server. In the future, we will provide the possibility to delegate access only to some parts of the User's data. |
||||
In Headless mode, the server can be used in a traditional federated way, where the server can see the user's data in clear, and act accordingly. We have in mind here to offer bridges to existing federated protocols like ActivityPub and Solid (via the project ActivityPods) at first, and later add other protocols like ATproto, Nostr, XMPP, and even SMTP ! Any web 2.0 federated protocol could be bridged. At the same time, the bridging ngd server would still be a fully-fledged ngd daemon, thus offering all the advantages of NextGraph to its users, who could decide to port their data somewhere else, restrict the access of the server to their own data, interact and collaborate with other users (of the federation or of the whole NextGraph network) in a secure and private way, and use the local-first NG app and access their own data offline. |
||||
- A third use case will be to be able to run some services (in nodeJS or Rust) that have received partial access to the user's data, and can process it accordingly. By example, an AI service like jan.ai, or a SPARQL REST endpoint, an LDP endpoint, an endpoint to fetch data that will be displayed by a headless framework like Astro or any other REST/HTTP endpoint to access some of the user's data. |
||||
|
||||
All of those use cases are handled with the present nodeJS library, using the API described [here](https://www.npmjs.com/package/nextgraph). |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Wallet |
||||
description: What is the Wallet of NextGraph, what is its purpose, and to use it. What is the Pazzle and Mnemonic |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
@ -0,0 +1,5 @@ |
||||
--- |
||||
title: Web JS SDK |
||||
description: Reference of the Web JS SDK and API (React, Svelte, vanilla) |
||||
layout: ../../layouts/MainLayout.astro |
||||
--- |
Loading…
Reference in new issue