906 releases (73 breaking)

new 0.106.3 May 15, 2024
0.106.0-alpha.5 Apr 25, 2024
0.105.3 Mar 28, 2024
0.100.31 Dec 29, 2023
0.25.18 Dec 21, 2020

#1598 in Network programming

Download history 385/week @ 2024-01-22 190/week @ 2024-01-29 163/week @ 2024-02-05 871/week @ 2024-02-12 1499/week @ 2024-02-19 240/week @ 2024-02-26 465/week @ 2024-03-04 3501/week @ 2024-03-18 465/week @ 2024-03-25 517/week @ 2024-04-01 218/week @ 2024-04-08 209/week @ 2024-04-15 433/week @ 2024-04-22 9/week @ 2024-04-29 472/week @ 2024-05-06

1,128 downloads per month
Used in sn_node_rpc_client

GPL-3.0 license

1.5MB
23K SLoC

Safe Network Node (sn_node)

Overview

The sn_node directory provides the safenode binary, which is the node implementation for the Safe Network. This directory contains the core logic for node operations, including API definitions, error handling, event management, and data validation.

Table of Contents

Installation

Follow the main project's installation guide to set up the safenode binary.

Usage

To run the safenode binary, follow the instructions in the main project's usage guide.

Directory Structure

  • src/: Source code files
    • api.rs: API definitions
    • error.rs: Error types and handling
    • event.rs: Event-related logic
    • get_validation.rs: Validation for GET requests
    • put_validation.rs: Validation for PUT requests
    • replication.rs: Data replication logic
    • spends.rs: Logic related to spending tokens or resources
  • tests/: Test files
    • common/mod.rs: Common utilities for tests
    • data_with_churn.rs: Tests related to data with churn
    • sequential_transfers.rs: Tests for sequential data transfers
    • storage_payments.rs: Tests related to storage payments
    • verify_data_location.rs: Tests for verifying data locations

Testing

To run tests, navigate to the sn_node directory and execute:

cargo test

Contributing

Please feel free to clone and modify this project. Pull requests are welcome.

Conventional Commits

We follow the Conventional Commits specification for all commits. Make sure your commit messages adhere to this standard.

License

This Safe Network repository is licensed under the General Public License (GPL), version 3 (LICENSE http://www.gnu.org/licenses/gpl-3.0.en.html).


Feel free to modify or expand upon this README as needed. Would you like to add or change anything else?

Dependencies

~61–100MB
~2M SLoC