IronForce is a decentralized network, Degeon is a messenger built on it
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Lev 4e19042f5b Add requirements.txt 3 years ago
degeon Documentation 3 years ago
degeon_core Documentation 3 years ago
degeon_py Add requirements.txt 3 years ago
images Improved text field in python interface, added images 3 years ago
ironforce Made the network a separate crate 3 years ago
.gitignore Create project 3 years ago
Cargo.lock Improved text field in python interface, added images 3 years ago
Cargo.toml Improved text field in python interface, added images 3 years ago
README.md Documentation 3 years ago
degeon_bin add binary 3 years ago

README.md

Ironforce + Degeon

IronForce is a peer-to-peer decentralized network, Degeon is a messenger built on it.

In this repository there is three Cargo crates and one python project:

  • ironforce is the decentralized network
  • degeon_core contains messenger's protocol
  • degeon is the messenger app in Rust + Iced
  • degeon_py is a version of the messenger app in Python + Pygame

Ironforce

The Ironforce network:

  • Has messages encrypted and signed using RSA

  • Can build efficient tunnels between two nodes

  • Is anonymous: it's very hard to create a connection between a node's IP and its public key

  • Can be extended to support any interface, like Bluetooth or even radio

  • Can run on ARM microcontrollers

Running IronForce

The IF network has a worker daemon that can be used to read the broadcast messages and write them.

Also, you can us IF as a Rust library (as it's done in Degeon).

To get started:

  1. Clone this repository: git clone ssh://git@gitlab.ennucore.com:10022/ironforce/ironforce.git
  2. Install Rust and Cargo. The best way to do this is to use RustUp:
sudo pacman -S rustup    # this is for Arch Linux, on other distros use the corresponding package manager
rustup default nightly   # this will install rust & cargo (nightly toolchain)
  1. Run the worker:
cd ironforce/ironforce
cargo build --features std    # This will build ironforce network
# To run the worker, use this:
cargo run --bin worker --features std

Degeon

Degeon is a messenger built on IronForce to show its abilities. Its core is in the crate degeon_core. The crate can be used as a Python module or in Rust.

To build it, install Cargo and Rust, then do this:

cd ironforce/degeon_core
cargo build

You will find the libdegeon_core.so file that can be used in Python in the target/debug directory. It should be renamed to degeon_core.so. In Windows Rust should generate a .dll file that you will be able to use likewise.

There are two GUI options for this interface:

  • A Rust + Iced client (preferred)
  • A Pygame client

To run the Rust client, cd into the degeon folder of this repository, then use cargo: cargo run. Note: this application requires Vulkan to be installed. For me on Arch Linux and Intel GPU the installation command was sudo pacman -S vulkan-intel. On most systems it should be pre-installed.