Added new checks for forked blocks. Added options table. Added posibility to replace blocks in DB by more appropriate forks. Divided transactions table to domains and zones tables. Added a timestamp to domains and zones table, it will give us possibility to purge old domains. Changed difficulty check to check head and tail (sum of them) of the hash. Added encrypted (by Chacha20) domain name to DomainData, added contacts and owners vectors for it too. Added yggdrasil flag to ZoneData - it will restrict all IPs for domains in particular zone to Yggdrasil only. Changed difficulties of various block types. Added a temporary (for a run) unique ID to all handshakes. Start of signing blocks mining will be after 60 seconds after full block. Added mining status to statusbar.
Alfis
Alternative Free Identity System
This project represents a minimal blockchain without cryptocurrency, capable of sustaining any number of domain name zones and domains.
Building and running
On every OS
You can download and run already built binaries from releases, or you can build project yourself.
You can build Alfis by issuing cargo build and cargo run commands in a directory of cloned repository.
If you want to build release version you need to do cargo build --release as usual.
On Windows
You don't need any additional steps to build Alfis, just stick to the MSVC version of Rust.
If you see an error about missing VCRUNTIME140.dll when running alfis you will need to install VC Redistributable from Microsoft.
If you want to use modern browser engine from Edge instead of old from IE, you need to build with this command: cargo build --release --features "edge" (or use corresponding build from releases).
On Windows (MINGW64)
If you'd rather use Gnu version of Rust you can build Alfis by these steps:
pacman -S git mingw64/mingw-w64-x86_64-rust mingw64/mingw-w64-x86_64-cargo-c
git clone https://github.com/Revertron/Alfis.git
cd Alfis
cargo build
On Linux
If you are building on Linux you must ensure that you have libwebkitgtk library installed.
You can do it by issuing this command: sudo apt install libwebkit2gtk-4.0-dev (on Debian/Ubuntu and derivatives).
On Arch Linux
Create and install package with this commands:
# make package
git clone https://github.com/Revertron/Alfis.git
cd Alfis/contrib
makepkg
# install package (from root)
pacman -U alfis-<version>-1-x86_64.pkg.tar.xz
Installation
Debian/Ubuntu
- Download repository public key and add it to your APT
wget -O - https://deb.revertron.com/key.txt | sudo apt-key add -
- Add repository path to sources list
echo 'deb http://deb.revertron.com/ debian alfis' | sudo tee /etc/apt/sources.list.d/alfis.list
- Update packages
sudo apt update
- Install ALFIS
sudo apt install alfis
After that configuration is in file /etc/alfis.conf and data is saved to /var/lib/alfis.
If you have some DNS server bound to port 53, it will not properly start. Deal with it on your own.

