Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ocean Node Docs Update #1447

Merged
merged 33 commits into from
Aug 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
48e9b34
GITBOOK-1: No subject
jamiehewitt15 Jun 17, 2024
be79635
GITBOOK-2: No subject
jamiehewitt15 Jun 17, 2024
f5e94e8
GITBOOK-3: No subject
jamiehewitt15 Jun 17, 2024
b52da45
GITBOOK-4: No subject
jamiehewitt15 Jun 17, 2024
c65bdd6
GITBOOK-5: No subject
jamiehewitt15 Jun 18, 2024
7d29546
GITBOOK-6: Adding image
jamiehewitt15 Jun 18, 2024
3b894df
GITBOOK-7: No subject
jamiehewitt15 Jun 18, 2024
43c71c1
GITBOOK-8: No subject
jamiehewitt15 Jun 18, 2024
b58be15
GITBOOK-9: No subject
jamiehewitt15 Jun 18, 2024
cdd912a
GITBOOK-10: No subject
jamiehewitt15 Jul 2, 2024
8ca667b
GITBOOK-11: Adding HTTP endpoints
jamiehewitt15 Jul 2, 2024
0a435ed
GITBOOK-12: No subject
jamiehewitt15 Jul 2, 2024
dd628c2
GITBOOK-13: No subject
jamiehewitt15 Jul 4, 2024
51a7262
GITBOOK-15: Updating architecture image
jamiehewitt15 Jul 9, 2024
8bfb662
GITBOOK-16: Updating ocean node functions in architecture page
jamiehewitt15 Jul 9, 2024
7b6ce7c
GITBOOK-17: Update Architecture
jamiehewitt15 Jul 22, 2024
9a9d893
GITBOOK-18: Update Ocean overview
jamiehewitt15 Jul 22, 2024
02d88f4
GITBOOK-19: Update Node Architecture
jamiehewitt15 Jul 22, 2024
7f4a32a
GITBOOK-20: Removing TBD section
jamiehewitt15 Jul 23, 2024
e0da1fa
GITBOOK-21: No subject
jamiehewitt15 Jul 23, 2024
61d5420
GITBOOK-22: Adding a section on the Indexer
jamiehewitt15 Jul 23, 2024
48adc72
GITBOOK-23: No subject
jamiehewitt15 Jul 23, 2024
b34cd22
GITBOOK-25: Creating a preview
jamiehewitt15 Jul 25, 2024
36fa270
Embed documentation from github
jamiehewitt15 Jul 25, 2024
3cd02f1
GITBOOK-26: No subject
jamiehewitt15 Jul 25, 2024
c98ae17
GITBOOK-27: No subject
jamiehewitt15 Jul 29, 2024
6e4e4b2
GITBOOK-28: No subject
jamiehewitt15 Jul 29, 2024
acbda23
GITBOOK-29: No subject
jamiehewitt15 Jul 29, 2024
7aa4fb0
GITBOOK-30: No subject
jamiehewitt15 Jul 29, 2024
b4ffd6c
Removing TEE from documentation
jamiehewitt15 Aug 8, 2024
2e30e4e
Updating to say ocean nodes instead of ocean node
jamiehewitt15 Aug 12, 2024
55de250
Removing all mentions of MPC
jamiehewitt15 Aug 14, 2024
3d9875a
GITBOOK-31: No subject
jamiehewitt15 Aug 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/OceanNode-arhitecture.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure1 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure2 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure3 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure4 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure5 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure6 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure7 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure8 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/hosting/azure9 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image.webp
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/wallet/manage-tokens (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/wallet/manage-tokens (2).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 20 additions & 17 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
* [Liquidity Pools \[deprecated\]](user-guides/remove-liquidity-pools.md)
* [💻 Developers](developers/README.md)
* [Architecture Overview](developers/architecture.md)
* [Ocean Nodes](developers/ocean-node/README.md)
* [Node Architecture](developers/ocean-node/node-architecture.md)
* [Contracts](developers/contracts/README.md)
* [Data NFTs](developers/contracts/data-nfts.md)
* [Datatokens](developers/contracts/datatokens.md)
Expand All @@ -45,14 +47,6 @@
* [Get API Keys for Blockchain Access](developers/get-api-keys-for-blockchain-access.md)
* [Barge](developers/barge/README.md)
* [Local Setup](developers/barge/local-setup-ganache.md)
* [Subgraph](developers/subgraph/README.md)
* [Get data NFTs](developers/subgraph/list-data-nfts.md)
* [Get data NFT information](developers/subgraph/get-data-nft-information.md)
* [Get datatokens](developers/subgraph/list-datatokens.md)
* [Get datatoken information](developers/subgraph/get-datatoken-information.md)
* [Get datatoken buyers](developers/subgraph/get-datatoken-buyers.md)
* [Get fixed-rate exchanges](developers/subgraph/list-fixed-rate-exchanges.md)
* [Get veOCEAN stats](developers/subgraph/get-veocean-stats.md)
* [Ocean.js](developers/ocean.js/README.md)
* [Configuration](developers/ocean.js/configuration.md)
* [Creating a data NFT](developers/ocean.js/creating-datanft.md)
Expand All @@ -74,19 +68,28 @@
* [Workflow](developers/compute-to-data/compute-workflow.md)
* [Writing Algorithms](developers/compute-to-data/compute-to-data-algorithms.md)
* [Compute Options](developers/compute-to-data/compute-options.md)
* [Aquarius](developers/aquarius/README.md)
* [Asset Requests](developers/aquarius/asset-requests.md)
* [Chain Requests](developers/aquarius/chain-requests.md)
* [Other Requests](developers/aquarius/other-requests.md)
* [Provider](developers/provider/README.md)
* [General Endpoints](developers/provider/general-endpoints.md)
* [Encryption / Decryption](developers/provider/encryption-decryption.md)
* [Compute Endpoints](developers/provider/compute-endpoints.md)
* [Authentication Endpoints](developers/provider/authentication-endpoints.md)
* [Uploader](developers/uploader/README.md)
* [Uploader.js](developers/uploader/uploader-js.md)
* [Uploader UI](developers/uploader/uploader-ui.md)
* [Uploader UI to Market](developers/uploader/uploader-ui-marketplace.md)
* [Old Infrastructure](developers/old-infrastructure/README.md)
* [Aquarius](developers/old-infrastructure/aquarius/README.md)
* [Asset Requests](developers/old-infrastructure/aquarius/asset-requests.md)
* [Chain Requests](developers/old-infrastructure/aquarius/chain-requests.md)
* [Other Requests](developers/old-infrastructure/aquarius/other-requests.md)
* [Provider](developers/old-infrastructure/provider/README.md)
* [General Endpoints](developers/old-infrastructure/provider/general-endpoints.md)
* [Encryption / Decryption](developers/old-infrastructure/provider/encryption-decryption.md)
* [Compute Endpoints](developers/old-infrastructure/provider/compute-endpoints.md)
* [Authentication Endpoints](developers/old-infrastructure/provider/authentication-endpoints.md)
* [Subgraph](developers/old-infrastructure/subgraph/README.md)
* [Get data NFTs](developers/old-infrastructure/subgraph/list-data-nfts.md)
* [Get data NFT information](developers/old-infrastructure/subgraph/get-data-nft-information.md)
* [Get datatokens](developers/old-infrastructure/subgraph/list-datatokens.md)
* [Get datatoken information](developers/old-infrastructure/subgraph/get-datatoken-information.md)
* [Get datatoken buyers](developers/old-infrastructure/subgraph/get-datatoken-buyers.md)
* [Get fixed-rate exchanges](developers/old-infrastructure/subgraph/list-fixed-rate-exchanges.md)
* [Get veOCEAN stats](developers/old-infrastructure/subgraph/get-veocean-stats.md)
* [Developer FAQ](developers/dev-faq.md)
* [📊 Data Scientists](data-scientists/README.md)
* [Ocean.py](data-scientists/ocean.py/README.md)
Expand Down
8 changes: 4 additions & 4 deletions developers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Example live dapps:
## How do developers start using Ocean?

* **App level:** [**Use an Ocean Template**](https://oceanprotocol.com/templates).
* **Library level:** [**Use ocean.js**](ocean.js/) is a library built for the key environment of dApp developers: JavaScript. Import it & use it your frontend or NodeJS.
* **Library level:** [**Use ocean.js**](ocean.js) is a library built for the key environment of dApp developers: JavaScript. Import it & use it your frontend or NodeJS.
* **Contract level:** [**Call Ocean contracts**](contracts/) on Eth mainnet [or other chains](../discover/networks/).

## Developer Docs Quick-links
Expand All @@ -31,11 +31,11 @@ Example live dapps:
* Schemas: [Metadata](metadata.md), [identifiers/DIDs](identifiers.md), [identifier objects/DDOs](ddo-specification.md), [storage](storage.md), [fine-grained permissions](fg-permissions.md)
* Components:
* [Barge](barge/) - local chain for testing
* [Ocean subgraph](subgraph/) - grabbing event data from the chain
* [Ocean subgraph](old-infrastructure/subgraph/) - grabbing event data from the chain
* [Ocean CLI](ocean-cli/) - command-line interface
* [Compute-to-data](compute-to-data/) - practical privacy approach
* [Aquarius](aquarius/) - metadata cache
* [Provider](provider/) - handshaking for access control
* [Aquarius](old-infrastructure/aquarius/) - metadata cache
* [Provider](old-infrastructure/provider/) - handshaking for access control
* [FAQ](dev-faq.md)

***
Expand Down
33 changes: 24 additions & 9 deletions developers/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Ocean Protocol Architecture Adventure!

Embark on an exploration of the innovative realm of Ocean Protocol, where data flows seamlessly and AI achieves new heights. Dive into the intricately layered architecture that converges data and services, fostering a harmonious collaboration. Let us delve deep and uncover the profound design of Ocean Protocol.🐬

<figure><img src="../.gitbook/assets/architecture/architecture_overview.png" alt=""><figcaption><p>Overview of the Ocean Protocol Architecture</p></figcaption></figure>
<figure><img src="../.gitbook/assets/image.webp" alt=""><figcaption><p>Overview of the Ocean Protocol Architecture</p></figcaption></figure>

### Layer 1: The Foundational Blockchain Layer

Expand All @@ -20,18 +20,33 @@ Above the smart contracts, you'll find essential [libraries](architecture.md#lib

#### Libraries

These libraries include [Ocean.js](ocean.js/), a JavaScript library, and [Ocean.py](../data-scientists/ocean.py/), a Python library. They serve as powerful tools for developers, enabling integration and interaction with the protocol.
These libraries include [Ocean.js](ocean.js), a JavaScript library, and [Ocean.py](../data-scientists/ocean.py), a Python library. They serve as powerful tools for developers, enabling integration and interaction with the protocol.

1. [Ocean.js](ocean.js/): Ocean.js is a JavaScript library that serves as a powerful tool for developers looking to integrate their applications with the Ocean Protocol ecosystem. Designed to facilitate interaction with the protocol, Ocean.js provides a comprehensive set of functionalities, including data tokenization, asset management, and smart contract interaction. Ocean.js simplifies the process of implementing data access controls, building dApps, and exploring data sets within a decentralized environment.
2. [Ocean.py](../data-scientists/ocean.py/): Ocean.py is a Python library that empowers developers to integrate their applications with the Ocean Protocol ecosystem. With its rich set of functionalities, Ocean.py provides a comprehensive toolkit for interacting with the protocol. Developers and [data scientists](../data-scientists/) can leverage Ocean.py to perform a wide range of tasks, including data tokenization, asset management, and smart contract interactions. This library serves as a bridge between Python and the decentralized world of Ocean Protocol, enabling you to harness the power of decentralized data.
1. [Ocean.js](ocean.js): Ocean.js is a JavaScript library that serves as a powerful tool for developers looking to integrate their applications with the Ocean Protocol ecosystem. Designed to facilitate interaction with the protocol, Ocean.js provides a comprehensive set of functionalities, including data tokenization, asset management, and smart contract interaction. Ocean.js simplifies the process of implementing data access controls, building dApps, and exploring data sets within a decentralized environment.
2. [Ocean.py](../data-scientists/ocean.py): Ocean.py is a Python library that empowers developers to integrate their applications with the Ocean Protocol ecosystem. With its rich set of functionalities, Ocean.py provides a comprehensive toolkit for interacting with the protocol. Developers and [data scientists](../data-scientists/) can leverage Ocean.py to perform a wide range of tasks, including data tokenization, asset management, and smart contract interactions. This library serves as a bridge between Python and the decentralized world of Ocean Protocol, enabling you to harness the power of decentralized data.

#### Middleware components
#### Ocean Nodes

Additionally, in supporting the discovery process, middleware components come into play:
Ocean Node is a single component which runs all core middleware services within the Ocean stack. It replaces the roles of Aquarius, Provider and the Subgraph. It integrates the Indexer for metadata management and the Provider for secure data access. It ensures efficient and reliable interactions within the Ocean Protocol network.

1. [Aquarius](aquarius/): Aquarius acts as a metadata cache, enhancing search efficiency by caching on-chain data into Elasticsearch. By accelerating metadata retrieval, Aquarius enables faster and more efficient data discovery.
2. [Provider](provider/): The Provider component plays a crucial role in facilitating various operations within the ecosystem. It assists in asset downloading, handles [DDO](ddo-specification.md) (Decentralized Data Object) encryption, and establishes communication with the operator-service for Compute-to-Data jobs. This ensures secure and streamlined interactions between different participants.
3. [Subgraph](subgraph/): The Subgraph is an off-chain service that utilizes GraphQL to offer efficient access to information related to datatokens, users, and balances. By leveraging the subgraph, data retrieval becomes faster compared to an on-chain query. This enhances the overall performance and responsiveness of applications that rely on accessing this information.
Ocean Nodes handles network communication through libp2p, supports secure data handling, and enables flexible compute-to-data operations.&#x20;

The functions of Ocean nodes include:

* It is crucial in handling the asset downloads, it streams the purchased data directly to the buyer.
* It conducts the permission an access checks during the consume flow.&#x20;
* The Node handles [DDO](https://docs.oceanprotocol.com/developers/ddo-specification) (Decentralized Data Object) encryption.
* It establishes communication with the operator-service for initiating Compute-to-Data jobs.
* It provides a metadata cache, enhancing search efficiency by caching on-chain data into a Typesense database. This enables faster and more efficient data discovery.
* It supports multiple chains.

#### Old components

Previously Ocean used the following middleware components:

1. [Aquarius](old-infrastructure/aquarius/)
2. [Provider](old-infrastructure/provider/)
3. [Subgraph](old-infrastructure/subgraph/)

#### Compute-to-Data

Expand Down
7 changes: 3 additions & 4 deletions developers/barge/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: 🧑🏽‍💻 Local Development Environment for Ocean Protocol

The Barge component of Ocean Protocol is a powerful tool designed to simplify the development process by providing Docker Compose files for running the full Ocean Protocol stack locally. It allows developers to set up and configure the various services required by Ocean Protocol for local testing and development purposes.

By using the Barge component, developers can spin up an environment that includes default versions of [Aquarius](../aquarius/README.md), [Provider](../provider/README.md), [Subgraph](../subgraph/README.md), and [Compute-to-Data](../compute-to-data/README.md). Additionally, it deploys all the [smart contracts](../contracts/README.md) from the ocean-contracts repository, ensuring a complete and functional local setup. Barge component also starts additional services like [Ganache](https://trufflesuite.com/ganache/), which is a local blockchain simulator used for smart contract development, and [Elasticsearch](https://www.elastic.co/elasticsearch/), a powerful search and analytics engine required by Aquarius for efficient indexing and querying of data sets. A full list of components and exposed ports is available in the GitHub [repository](https://github.com/oceanprotocol/barge#component-versions-and-exposed-ports).
By using the Barge component, developers can spin up an environment that includes default versions of [Aquarius](../old-infrastructure/aquarius/), [Provider](../old-infrastructure/provider/), [Subgraph](../old-infrastructure/subgraph/), and [Compute-to-Data](../compute-to-data/). Additionally, it deploys all the [smart contracts](../contracts/) from the ocean-contracts repository, ensuring a complete and functional local setup. Barge component also starts additional services like [Ganache](https://trufflesuite.com/ganache/), which is a local blockchain simulator used for smart contract development, and [Elasticsearch](https://www.elastic.co/elasticsearch/), a powerful search and analytics engine required by Aquarius for efficient indexing and querying of data sets. A full list of components and exposed ports is available in the GitHub [repository](https://github.com/oceanprotocol/barge#component-versions-and-exposed-ports).

<figure><img src="../../.gitbook/assets/components/barge.png" alt=""><figcaption><p>Load Ocean components locally by using Barge</p></figcaption></figure>

Expand All @@ -15,8 +15,7 @@ To explore all the available options and gain a deeper understanding of how to u
By utilizing the Barge component, developers gain the freedom to conduct experiments, customize, and fine-tune their local development environment, and offers the flexibility to override the Docker image tag associated with specific components. By setting the appropriate environment variable before executing the start\_ocean.sh command, developers can customize the versions of various components according to their requirements. For instance, developers can modify the: `AQUARIUS_VERSION`, `PROVIDER_VERSION`, `CONTRACTS_VERSION`, `RBAC_VERSION`, and `ELASTICSEARCH_VERSION` environment variables to specify the desired Docker image tags for each respective component.

{% hint style="warning" %}
⚠️ We've got an important heads-up about Barge that we want to share with you. Brace yourself, because **Barge is not for the faint-hearted**! Here's the deal: the barge works great on Linux, but we need to be honest about its limitations on macOS. And, well, it doesn't work at all on Windows. Sorry, Windows users!

To make things easier for everyone, we **strongly** recommend giving a try first on a **testnet**. Everything is configured already so it should be sufficient for your needs as well. Visit the [networks](../../discover/networks/README.md) page to have clarity on the available test networks. ⚠️
⚠️ We've got an important heads-up about Barge that we want to share with you. Brace yourself, because **Barge is not for the faint-hearted**! Here's the deal: the barge works great on Linux, but we need to be honest about its limitations on macOS. And, well, it doesn't work at all on Windows. Sorry, Windows users!

To make things easier for everyone, we **strongly** recommend giving a try first on a **testnet**. Everything is configured already so it should be sufficient for your needs as well. Visit the [networks](../../discover/networks/) page to have clarity on the available test networks. ⚠️
{% endhint %}
Loading