• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    Rust
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Safe Network. A libp2p backed data and transfer network

The Safe Network

This is the Safe Network as it was supposed to be, on a kademlia network, enabled by libp2p.

Running the network

killall safenode || true && RUST_LOG=safenode,safe cargo run --bin testnet -- -b --interval 100

Actions undertaken by a client accessing the network

  • Create Register with nickname 'myregister' cargo run --release --bin safe -- --create-register myregister

  • Get Register using its nickname from the previous command cargo run --release --bin safe -- --query-register myregister

  • Put files cargo run --release --bin safe -- --upload-chunks ~/dir/with/files

  • Get files; copy the XorName of the file from the previous command cargo run --release --bin safe -- --get-chunk xor_name

Using example app which exercises the Register APIs

You can run the registers example client app from multiple consoles simultaneously, to write to the same Register on the network, identified by its nickname and using different user names from each instance launched, e.g.:

From first console:

cargo run --release --example registers -- --user alice --reg-nickname myregister

From a second console:

cargo run --release --example registers -- --user bob --reg-nickname myregister

Notes

  • Currently we've pulled in testnet bin from the main sn repo for ease of spinning up nodes.
  • Logs are output to the standard ~/.safe/node/local-test-network dir.

TODO

  • Add RPC for simplest node/net interaction (do libp2p CLIs help here?)

Archive

The elder-membership agreed, section tree backed implementation of the safe network can be found here

More Repositories

1

qp2p

peer-to-peer communications library for Rust based on QUIC protocol
Rust
359
star
2

sn_routing

Routing - specialised storage DHT
Rust
276
star
3

sn_browser

Safe Network Browser Application
TypeScript
201
star
4

crdt_tree

Rust
117
star
5

self_encryption

file self encryptor
Rust
107
star
6

lru_time_cache

LRU cache settable via size or time to live
Rust
100
star
7

rfcs

Request for Comment (RFC) papers and discussions on Project SAFE core libraries and APIs
Rust
97
star
8

rust_sodium

This crate is no longer maintained. Looking for maintainers.
Rust
78
star
9

sn

The Safe Network Core. API message definitions, routing and nodes, client core api.
Rust
68
star
10

safe_network

Rust
56
star
11

sn_data_types

Safe Network Data Types
Rust
24
star
12

maidsafe-utilities

Utility functions
Rust
22
star
13

bls_dkg

Implementation of a BLS DKG mechanism, requires signing key, encryption key and SocketAddr of participants
Rust
20
star
14

sn_nodejs

Rust
18
star
15

blsttc

poanetwork/threshold_crypto using supranational/blst for sign+verify
Rust
18
star
16

safenetwork.tech

JavaScript
16
star
17

QA

JavaScript
15
star
18

sn_launch_tool

A cross platform tool to easily launch a SAFE Network test section from home
Rust
12
star
19

sn_transfers

Implementation of Transfers in the SAFE Network.
Rust
11
star
20

xor_name

Small library. XorName is an array that is useful for calculations in DHT etc.
Rust
11
star
21

safe-web-id-manager-js

JavaScript
10
star
22

maidsafe.net

Repository for maidsafe.net company website
CSS
10
star
23

sn_dbc

Safe Network DBCs
Rust
10
star
24

qjsonrpc

Provides the implementation of JSON-RPC over QUIC, which is required by the Authenticator daemon communication protocol.
Rust
10
star
25

dev-website

SAFE Network Dev Website source.
JavaScript
9
star
26

brb

Rust
9
star
27

safe-patter-js

JavaScript
8
star
28

sn_messaging

Rust
8
star
29

sn_testnet_tool

Just
7
star
30

sn_entropy_check

Rust
6
star
31

sn_fs

Rust
5
star
32

sn_cli

A Rust application which implements a CLI (Command Line Interface) for the Safe Network.
Rust
5
star
33

routing_model

Documentation of the control and message flows in Routing, and tests for validating these.
Rust
5
star
34

Whitepapers

MaidSafe Whitepapers
TeX
4
star
35

brb_membership

Rust
4
star
36

brb_node_qp2p

Rust
4
star
37

sn_authd

Rust
4
star
38

sn_sdkg

Synchronous Distributed Key Generation
Rust
4
star
39

sn_consensus

Rust
4
star
40

pr_size_checker

A GitHub Action which checks the number of additions and deletions made in each submitted PR, adding them together to come up with a total lines changed value, then checking whether this value exceeds the default or set max_lines_changed value. If it does exceed then the CI job will exit with code 1, i.e. fail.
4
star
41

sn_diagrams

Diagrams of the Safe Network codebase structure
HTML
3
star
42

brb_dt_orswot

Rust
3
star
43

brb_dt_at2

Rust
3
star
44

bls_ringct

Rust
3
star
45

bls_signature_aggregator

A Generic BLS Signature Accumulator for SAFE Network
Rust
3
star
46

brb_dt_tree

Rust
3
star
47

rust-version-bump-branch-creator

Bump your rust repo's version automatically, using conventional commits to generate a changelog and determine the correct new version.
JavaScript
3
star
48

sn_url

Rust
2
star
49

secured_linked_list

Rust
2
star
50

resource_proof

A 'proof' of bandwidth, cpu and storage for nodes in a decentralised network
Rust
2
star
51

bls_bulletproofs

Rust
1
star
52

blog-redirection

HTML
1
star
53

sn_testnet_action

1
star
54

safeup

Install and update safe-related components
Rust
1
star
55

cargo-nextest

Github Action for performing a test run using Nextest
1
star
56

sn-local-testnet-action

Github Action for administering local testnets
1
star