933 releases (79 breaking)

0.112.6 Nov 27, 2024
0.112.2 Oct 29, 2024
0.110.0 Jul 29, 2024
0.105.3 Mar 28, 2024
0.25.18 Dec 21, 2020

#720 in Network programming

Download history 151/week @ 2024-08-26 238/week @ 2024-09-09 71/week @ 2024-09-16 163/week @ 2024-09-23 247/week @ 2024-09-30 181/week @ 2024-10-07 21/week @ 2024-10-14 295/week @ 2024-10-21 157/week @ 2024-10-28 132/week @ 2024-11-04 254/week @ 2024-11-11 29/week @ 2024-11-18 152/week @ 2024-11-25 189/week @ 2024-12-02

630 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

~70–110MB
~2M SLoC