OriginTrail
  • Get started with OriginTrail
  • OriginTrail Ecosystem — Call for Papers (Coming Soon)
  • Key Concepts
    • Decentralized Knowledge Graph (DKG)
    • DKG key concepts
  • Build with DKG
    • Quickstart (test drive the DKG in 5 mins)
      • Quickstart with Node.js
      • Quickstart with Python
    • ChatDKG builder toolkit
      • DKG SDK
        • Development environment setup
        • DKG Javascript SDK (dkg.js)
          • Interact with DKG paranets
          • Knowledge submission & curation
          • Paranet's incentives pool implementation
        • DKG Python SDK (dkg.py)
      • DKG paranets
        • Deploying a DKG paranet
        • Building with DKG paranets
        • Syncing a DKG Paranet
        • Initial Paranet Offerings (IPOs)
          • IPO specification
          • Launching your IPO
          • Paranet's incentives pool
          • IPO voting
      • AI agents
        • ElizaOS DKG agent
        • Custom DKG Python agent
        • Custom DKG JavaScript agent
    • DKG Edge Node
      • DKG Edge Node architecture
      • Get started with the Edge Node boilerplate
        • Automated setup with the installer
        • Manual setup
        • Usage example
      • Customize & build with the Edge Node
      • Knowledge Mining and dRAG examples
      • Deploy your Edge Node based project
        • Automated deployment with installer
      • DKG Edge Node inception program
      • DKG Edge Node API documentation
    • DKG Core Node
      • Run a V8 Core Node on testnet
        • Preparation for V8 DKG Core Node deployment
        • V8 DKG Core Node installation
      • Run a V8 Core Node on mainnet
        • Preparation for V8 DKG Core Node deployment
        • V8 DKG Core Node installation
  • Delegated staking
    • Delegated staking—Introduction
      • Step-by-step staking
      • Redelegating stake
  • Integrated Blockchains
    • Base blockchain
      • Connect to Base
    • Gnosis chain
      • Connect to Gnosis
    • NeuroWeb
    • Teleport instructions - NeuroWeb
    • Bridging to Moonbeam
    • Deployed smart contracts
  • Bounties & rewards
    • General bug bounty
    • Code contributions & V8 bug bounty
  • Whitepapers & RFCs
    • OriginTrail whitepaper
    • OriginTrail RFCs
  • Useful Resources
    • What's new with OriginTrail V8
    • DKG V8 guidebook
      • Protocol updates
      • Feature roadmap
      • How to upgrade to V8?
    • Public nodes
    • Tutorials
    • Test token faucet
    • Development principles
    • Community created resources
    • Linked data & knowledge graphs
    • Available networks, network details and RPCs
    • OT Node Engine implementation details
      • Modules
      • Command Executor
    • Contribution guidelines
      • Guidelines for automated test contributions
    • Explore the OriginTrail ecosystem
Powered by GitBook
On this page
  • Module types
  • The blockchain module
  • Triple store module
  • Validation module
  • Auto-updater module
  • Network module
  • Repository module

Was this helpful?

Edit on GitHub
  1. Useful Resources
  2. OT Node Engine implementation details

Modules

OriginTrail node building blocks

PreviousOT Node Engine implementation detailsNextCommand Executor

Last updated 3 months ago

Was this helpful?

OT-node is composed of various modules that can easily be added or removed. It's even possible to have different implementations of the same module, making the ot-node very flexible.

As soon as you run the node, module configurations are picked up from the config.json file and used for module initialization. All modules must be initialized for a node to run properly.

Module types

The blockchain module

The ot-node blockchain module enables interactions with multiple blockchains in order to perform operations of the OriginTrail protocol.

Triple store module

The entire DKG state is replicated and sharded across the ODN network. Each node persists its designated replicas in its individual local triple stores (graph databases). The triple store module is responsible for connecting and communicating to a triple store avaiable to the ot-node. There are several triple-store implementations supported directly at the moment:

However, due to the standard implementation (W3C RDF / SPARQL standards), it is easy to integrate with any standardized RDF triple store.

The triple store module utilizes under the hood.

Validation module

The validation module is used to validate assertions seen on the network. More information on assertions can be found

Auto-updater module

If enabled, this module automatically updates the local node. Every 15 minutes, it checks if the remote (git) version of ot-node is different from the local version. If it is, the local node will be updated to the latest version of the code. After a successful update, the node will restart and start running on the latest version.

Network module

HTTP client module

Client applications use HTTP requests to communicate with the node. The HTTP client module implements the endpoints at which requests can be made and defines the ot-node's response to HTTP requests.

Repository module

The repository module is responsible for establishing connections with the operational database and storing, updating, and deleting commands and operations data. Storing commands and operations states makes the node fault tolerant, making it possible to, in, e.g., the case of node restart, continue from the last preserved state of operation and continue working from where it left off.

We expect additional modules to be added in the future based on the evolution of the DKG implementations.

The network module takes care of all network RPC communication between nodes in the DKG. It is utilized for implementing the necessary protocol choreographies such as the publishing choreography. Under the hood, it is utilizing an implementation of .

Ontotext GraphDB
Blazegraph
Apache Jena Fuseki
the Communica framework
here.
Kademlia