1 unstable release
new 0.3.0 | Dec 18, 2024 |
---|
#36 in #messages
165KB
3K
SLoC
ant_protocol
Overview
The ant_protocol
directory contains the core protocol logic for the Safe Network. It includes various modules that handle different aspects of the protocol, such as error handling, messages, and storage.
Table of Contents
Error Handling
The error.rs
file contains the definitions for various errors that can occur within the protocol.
Error Types
ChunkNotFound(ChunkAddress)
: Indicates that a chunk was not found.- Example:
Result::Err(Error::ChunkNotFound(chunk_address))
- Example:
ChunkNotStored(XorName)
: Indicates that a chunk was not stored.- Example:
Result::Err(Error::ChunkNotStored(xor_name))
- Example:
RegisterNotFound(Box<RegisterAddress>)
: Indicates that a register was not found.- Example:
Result::Err(Error::RegisterNotFound(register_address))
- Example:
Messages
The messages
module contains different types of messages that can be sent or received within the protocol.
Cmd Messages
Cmd::Replicate
- Description: Write operation to notify peer fetch a list of
NetworkAddress
from the holder. - Parameters:
holder: NetworkAddress
: Holder of the replication keys.keys: Vec<NetworkAddress>
: Keys of the copy that shall be replicated.
Query Messages
Query::GetStoreCost
- Description: Retrieve the cost of storing a record at the given address.
- Parameters:
address: NetworkAddress
: The address where the record will be stored.
Response Messages
QueryResponse::GetStoreCost
- Description: The store cost in nanos for storing the next record.
- Parameters:
store_cost: Result<Token>
: The cost of storing the record.payment_address: PublicAddress
: The address to pay the store cost to.
CmdResponse::Replicate
- Description: Response to replication cmd.
- Parameters:
Result<()>
: The result of the replication command.
Storage
The storage
module handles the storage aspects of the protocol.
API Calls
ChunkAddress
: Address of a chunk in the network.TransactionAddress
: Address of a Transaction in the network.Header
: Header information for storage items.
Protobuf Definitions
The antnode_proto
directory contains the Protocol Buffers definitions for the Safe Network.
Files
req_resp_types.proto
: Definitions for request and response types.antnode.proto
: Main Protocol Buffers definitions for the Safe Network.
Dependencies
~49–65MB
~1.5M SLoC