denis2glez / omni-node

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ”Ž Content

πŸ€” About

This repository implements a networked application comprising a single binary called omni-node capable of functioning as either a server or a client.

🏁 Getting Started

To use your host system as development environment install the following prerequisites.

Tip

In any case, you can check below for suggestions on how to install the prerequisites on your system.

Linux (Debian/Ubuntu)

If you are using Debian or a derivative (e.g. Ubuntu, Linux Mint), it is recommended to install Rust using the standard installation script. You could install all the development prerequisites by running the following commands.

sudo apt install curl git
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
macOS

If you are using macOS you could install all the development prerequisites using Homebrew by running the following commands.

brew install curl git
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Windows

If you are using Windows, you could install all the development prerequisites using the winget CLI tool by running the following commands.

winget install --id Git.Git
winget install --id Rustlang.Rust.MSVC

πŸ”§ Development

Once you have a development environment configured with all the necessary prerequisites, you can perform any of the following tasks.

Quick check

Quickly check the package and all of its dependencies for possible errors

cargo check

Build

To build the packages use

cargo build

Run tests

Now we can run all the default tests

cargo test

or just a specific group of tests, by adding -- <pattern> to filter.

βš™οΈ Run the application

To run the networked application, let's start by running the omni-node binary in server mode

cargo run --release -- --mode server

and from here let's execute as many processes in client mode as we want by

cargo run --release

Tip

To check out all the options available on the command line use cargo run --release -- --help.

πŸš€ Deployment

You can use any of the tarballs in the Releases section to deploy the software according to your requirements. These are automatically generated using the release workflow after tagging a new version.

πŸŽ‰ Acknowledgements

Thanks to all the developers of the libraries used throughout the project.

πŸ“ License

This project is licensed under the MIT license.

About

License:MIT License


Languages

Language:Rust 100.0%