Skip to content

quartz-technology/hackathon-poc-x-aleph-2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fs0x

fs0x - pronounced "f-s-x" - is a simple filesystem built using the Aleph acting as the storage layer.

💡 This project is built in the context of the Hackathon PoC x Aleph 2024.

Table of Contents

Getting started

Requirements

  • Rust: The perfect program for programs that interact with both the Kernel and the Web.
  • Docker: A container manager used to simplify the deployment of fs0x.

Run using Docker

You will need two terminals opened in the container to test the project:

  • One for the fx0x daemon.
  • One for a basic shell terminal
  1. Build the container
docker build -t fs0x .
  1. Start the container

Creates a container named fs0ox that mounts your current directory into /app and starts a shell in it.

docker run --name fs0x -it --privileged --rm -v $PWD:/app -w /app fs0x bash

⚠️ The container must be run using --privileged to by pass eventual issues happening on MacOS.

  1. Open the client shell

In another terminal, start a shell in the same container

docker exec -it --privileged <fs0x_CONTAINER_ID> /bin/bash

# Create a temporary directory in your container
cd /tmp
mkdir test
  1. Start the daemon

In the first terminal, start the daemon by mounting the filesystem you want to synchronize.

cargo run -- /tmp/test --id <storage_id>  

💡 The --id option is the identifier for your storage session, please use the same on the machine you want to synchronize with.

  1. Create a peer

You can repeat the same process in another terminal or machine to set up a peer that will synchronize the mounted filesystem.

Contribute

This project is more than open for external contribution, feel free to open an issue for feature requests or bug reports.

If you want to directory contribute through a pull request, please read CONTRIBUTING.md.

Made with ❤️ by Quartz and @martin-olivier

Releases

No releases published

Packages

No packages published