Sova Labs
  • Introduction
  • FAQ
  • MEV on TON
    • Overview
  • MEV Searcher Guide
    • FAQ
    • Rust SDK
    • Golang SDK
    • Javascript SDK
  • API Overview
  • Blockchain Node
    • Overview
    • First Validator Setup
    • Existing Validator Update
    • Configuration Validator client or LiteServer
    • Rollback to the original TON version
Powered by GitBook
On this page
  • Validator Workflow
  • Block generation
  1. Blockchain Node

Overview

PreviousAPI OverviewNextFirst Validator Setup

Last updated 3 months ago

A Sova client is a fork of official TON client and is backward compatible with TON consensus.

Validator Workflow

Sova client in validator mode collects external messages from mempool (1) and then sends a packet with external messages to the Sova engine (2). The searcher obtains external messages from the engine (3), creates bundles and then sends them back (4). Engine simulates received bundles. After the simulation engine will perform an auction, which allows to determine the most profitable bundles. Winning bundles will be sent to Sova clients (5). Sova client will apply those bundles during a block generation process (6).

Block generation

Validator ensures a consistent message order. This is achieved through manipulation with logical time (lt). The validator increments the logical time of messages to ensure that transactions are applied to the blockchain in the correct sequence. By "correct order," it means that a transaction triggered by the first message in the bundle will be executed before the transaction triggered by the second message in the bundle.

For instance, let's consider a that was applied to a on the testnet. The first three transactions were applied from the bundle, followed by the fourth transaction, which is from an external user.

bundle
block