Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/s5-dev/S5

Decentralized content-addressed storage network
https://github.com/s5-dev/S5

blake3 cid content-addressed dart decentralized p2p rust

Last synced: about 1 month ago
JSON representation

Decentralized content-addressed storage network

Awesome Lists containing this project

README

        

S5




Content-addressed storage, but fast.






docs.rs docs

## Ethos

At its core, S5 is a content-addressed storage network similar to IPFS and also uses many of the formats and standards created in the IPFS project. It just builds upon them to be much more lightweight and scalable. Read the [docs](https://docs.sfive.net) for more info on the nitty gritty.

## Usage

`docker run -it --rm -p 5050:5050 -v /local/path/to/config:/config --name s5-node ghcr.io/s5-dev/node:latest`

A basic config file is generated for you, just make sure the path to the directory exists.

Or run it with docker compose
```docker
version: '3'
services:
s5-node:
image: ghcr.io/s5-dev/node:latest
volumes:
- /local/path/to/config:/config
ports:
- "5050:5050"
restart: unless-stopped
```
To add file stores edit the config as described in the [docs](https://docs.sfive.net).

## Supported Storage Backends

- S3 (Any cloud provider supporting the S3 protocol, see https://s3.wiki)
- Local filesystem (needs additional configuration to make a http port available on the internet)
- Sia (experimental and cheap, https://sia.tech/)
- Arweave (expensive, permanent storage)
- Pixeldrain (affordable, https://pixeldrain.com/)
- Estuary.tech (experimental)

## Development

### Dependencies

- Dart (https://dart.dev/get-dart)
- Rust (https://www.rust-lang.org/tools/install)
- Build dependencies (Debian/Ubuntu: `sudo apt install build-essential pkg-config libssl-dev libclang-dev`)

### Build

- `git clone https://github.com/s5-dev/s5.git`
- `cd s5/rust`
- `cargo build --release`
- `cp target/release/librust.so ..`
- `cd ..`
- `dart compile exe bin/s5_server.dart`

Run the node with `./bin/s5_server.exe config.toml`

# License

This project is licensed under the MIT license ([LICENSE-MIT](LICENSE) or http://opensource.org/licenses/MIT)