Skip to content
nibblebitsPublic

About

Decentralized network framework. In development

Resources

Stars

16 stars

Watchers

3 watching

Forks

Repository files navigation

Magic Net

Magic net is a decentralized network framework that is in development, it uses a council based system to secure the network with revolving council certificates that expire and must be voted on or forefited after a period of time has passed. This project is in development and should not be used for production use at this time

Dependencies

sudo apt install gcc gdb make
sudo apt install sqlite3 libsqlite3-dev
sudo apt install libssl-dev
sudo apt install libminiupnpc-dev
sudo apt install libzip-dev

Building and testing

CMake builds the C library, server, existing command-line examples, and regression tests without installing files into system directories. The Electron and Qt GUIs remain separate projects.

On Debian/Ubuntu:

sudo apt install build-essential cmake ninja-build libssl-dev libsqlite3-dev
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build
ctest --test-dir build --output-on-failure

For a native 64-bit Windows build, install MSYS2 and run these commands in its UCRT64 terminal:

pacman -S --needed mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-make \
  mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja \
  mingw-w64-ucrt-x86_64-openssl mingw-w64-ucrt-x86_64-sqlite3
cmake -S . -B build-windows -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build-windows
ctest --test-dir build-windows --output-on-failure
./build-windows/magicnet-server.exe

Run the executables from UCRT64, or add its bin directory to PATH so Windows can load OpenSSL, SQLite, and winpthreads runtime DLLs. MSVC is not supported by this build. Node.js is optional and enables the desktop security regression test.

The server stores its files in $HOME/.magicnet, falling back to %USERPROFILE%/.magicnet on Windows. New storage directories are private to the current user. Windows networking uses Winsock and socket handles retain their full pointer width.

The existing wire format still contains native-width integers and raw structures. This work preserves that format; Windows/Linux interoperability across different ABIs is not established by these build fixes.

The regression tests cover malformed frames, memory ownership, queue and worker concurrency, response cancellation, corrupt database rows, key validation, private storage permissions, and the desktop IPC boundary. They do not validate the unfinished cryptocurrency or council design.

About

Decentralized network framework. In development

Resources

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages