From 3d9875adf4a58a4431c681a50bb0ea8591d93076 Mon Sep 17 00:00:00 2001 From: Jamie Hewitt Date: Wed, 14 Aug 2024 12:32:52 +0000 Subject: [PATCH] GITBOOK-31: No subject --- .../OceanNode-arhitecture.drawio (light).png | Bin 0 -> 56496 bytes .../assets/OceanNode-arhitecture.drawio.png | Bin 0 -> 54643 bytes developers/ocean-node/README.md | 16 ++++++---------- developers/ocean-node/node-architecture.md | 12 ++++++------ 4 files changed, 12 insertions(+), 16 deletions(-) create mode 100644 .gitbook/assets/OceanNode-arhitecture.drawio (light).png create mode 100644 .gitbook/assets/OceanNode-arhitecture.drawio.png diff --git a/.gitbook/assets/OceanNode-arhitecture.drawio (light).png b/.gitbook/assets/OceanNode-arhitecture.drawio (light).png new file mode 100644 index 0000000000000000000000000000000000000000..ab60d7a62a87bc40ad8fb842ad1ab71b897ad990 GIT binary patch literal 56496 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

bHOmi%7+ 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 literal 0 HcmV?d00001 diff --git a/.gitbook/assets/OceanNode-arhitecture.drawio.png b/.gitbook/assets/OceanNode-arhitecture.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..fe7e1b92a06479dd456ae31bd7a7448df988f016 GIT binary patch literal 54643 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

t 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 W;Kvum^znW0A5|p{#exgQ0sjl9KU8G^ literal 0 HcmV?d00001 diff --git a/developers/ocean-node/README.md b/developers/ocean-node/README.md index b73560a1..bba0d583 100644 --- a/developers/ocean-node/README.md +++ b/developers/ocean-node/README.md @@ -10,7 +10,7 @@ It integrates multiple services for secure and efficient data operations, utiliz The node is structured into separate layers, including the network layer for communication, and the components layer for core services like the Indexer and Provider. This layered architecture ensures efficient data management and high security. -Flexibility and extensibility are key features of Ocean Node, allowing multiple compute engines, such as Docker and Kubernetes, to be managed within the same framework. The orchestration layer coordinates interactions between the core node and execution environments, ensuring the smooth operation of compute tasks. +Flexibility and extensibility are key features of Ocean Node, allowing multiple compute engines, such as Docker and Kubernetes, to be managed within the same framework. The orchestration layer coordinates interactions between the core node and execution environments, ensuring the smooth operation of compute tasks. For details on how to run a node see the [readme](https://github.com/oceanprotocol/ocean-node/) in the GitHub repository. @@ -35,11 +35,9 @@ For details on how to run a node see the [readme](https://github.com/oceanprotoc **Ocean Nodes replace the Subgraph:** * Indexing the data from the smart contact events. -* The data is indexed and updated in real-time. +* The data is indexed and updated in real-time. * Providing an API which receives and responds to queries. -* Simplifying the development experience for anyone building on Ocean. - - +* Simplifying the development experience for anyone building on Ocean. ### API @@ -47,13 +45,11 @@ For details on all of the HTTP endpoints exposed by the Ocean Nodes API, refer t {% embed url="https://github.com/oceanprotocol/ocean-node/blob/develop/API.md" %} -### Compute to Data (C2D) +### Compute to Data (C2D) -The Ocean nodes provide a convenient and easy way to run a compute-to-data environment. This gives you the opportunity to monetize your node as you can charge fees for using the C2D environment and there are also additional incentives provided Ocean Protocol Foundation (OPF). Soon we will also be releasing C2D V2 which will provide different environments and new ways to pay for computation. +The Ocean nodes provide a convenient and easy way to run a compute-to-data environment. This gives you the opportunity to monetize your node as you can charge fees for using the C2D environment and there are also additional incentives provided Ocean Protocol Foundation (OPF). Soon we will also be releasing C2D V2 which will provide different environments and new ways to pay for computation. +For more details on the C2D V2 architecture, refer to the documentation in the repository:\ -For more details on the C2D V2 architecture, refer to the documentation in the repository: \ - - {% embed url="https://github.com/oceanprotocol/ocean-node/blob/develop/docs/C2DV2.md" %} diff --git a/developers/ocean-node/node-architecture.md b/developers/ocean-node/node-architecture.md index a49e4039..b94379b1 100644 --- a/developers/ocean-node/node-architecture.md +++ b/developers/ocean-node/node-architecture.md @@ -1,8 +1,8 @@ # Node Architecture -Ocean Nodes are the core infrastructure component within the Ocean Protocol ecosystem, designed to facilitate decentralized data exchange and management. It operates by leveraging a multi-layered architecture that includes network, components, and module layers. +Ocean Nodes are the core infrastructure component within the Ocean Protocol ecosystem, designed to facilitate decentralized data exchange and management. It operates by leveraging a multi-layered architecture that includes network, components, and module layers. -Key features include secure peer-to-peer communication via libp2p, flexible and secure encryption solutions, and support for various Compute-to-Data (C2D) operations. +Key features include secure peer-to-peer communication via libp2p, flexible and secure encryption solutions, and support for various Compute-to-Data (C2D) operations. Ocean Node's modular design allows for customization and scalability, enabling seamless integration of its core services—such as the Indexer for metadata management and the Provider for secure data transactions—ensuring robust and efficient decentralized data operations. @@ -14,7 +14,7 @@ The Node stack is divided into the following layers: * Components layer (Indexer, Provider) * Modules layer -

Ocean Nodes Infrastructure diagram

+

Ocean Nodes Infrastructure diagram

### Features @@ -55,7 +55,7 @@ Features: * Monitors MetadataCreated, MetadataUpdated, MetadataState and stores DDOs in the database. * Validates DDOs according to multiple SHACL schemas. When hosting a node, you can provide your own SHACL schema or use the ones provided. * Provides proof for valid DDOs. -* Monitors all transactions and events from the data token contracts. This includes minting tokens, creating pricing schema (fixed & free pricing), and orders. +* Monitors all transactions and events from the data token contracts. This includes minting tokens, creating pricing schema (fixed & free pricing), and orders. * Allows queries for all the above. #### Provider @@ -66,11 +66,11 @@ Features: * Decrypts the URL when the dataset is downloaded or a compute job is started. * Encrypts/decrypts files before storage/while accessing. * Provides access to data assets by streaming data (and never the URL). -* Provides compute services. +* Provides compute services. * The node operator can charge provider fees, compensating the individuals or organizations operating their own node when users request assets. * Currently, we are providing the legacy Ocean C2D compute services (which run in Kubernetes) via the node. In the future, we will soon be releasing C2D V2 which will also allow connections to multiple C2D engines: light, Ocean C2D, and third parties. -For more details on the C2D V2 architecture, refer to the documentation in the repository: +For more details on the C2D V2 architecture, refer to the documentation in the repository: {% embed url="https://github.com/oceanprotocol/ocean-node/blob/develop/docs/C2DV2.md" %}