This program provides a gateway/bridge for payment/wallet of the "Communicator" app. Which is another project that is not part of this github.
- Compatible with all Reticulum payment/wallet apps (Communicator which is another project that is not part of this github)
- HYD/DHYD/THYD (Hydraledger Utility Coin)
https://www.hydraledger.tech/
- TEST (Test/Dummy Coin)
It should currently be considered beta software and still work in progress.
All core features are implemented and functioning, but additions will probably occur as real-world use is explored.
There may be errors or the compatibility after an update is no longer guaranteed.
The full documentation is not yet available. Due to lack of time I can also not say when this will be further processed.
- Install all required prerequisites. (Default Reticulum installation. Only necessary if reticulum is not yet installed.)
apt update apt upgrade apt install python3-pip pip install pip --upgrade reboot pip3 install rns pip3 install pyserial netifaces
- Change the Reticulum configuration to suit your needs and use-case.
nano /.reticulum/config
- Download the file from this repository.
wget https://raw.githubusercontent.com/SebastianObi/RNS-Tools/main/rns_server_blockchain/rns_server_blockchain.py
- Make it executable with the following command
chmod +x rns_server_blockchain.py
- Install all coins/tokens prerequisites - Hydraledger.
sudo apt install curl sudo apt install pkg-config sudo apt install libssl-dev curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh . "$HOME/.cargo/env" pip3 install maturin pip3 install iop-python pip3 install requests
- Start it
./rns_server_blockchain.py
- After the first start edit the configuration file to suit your needs and use-case. The file location is displayed.
- Example minimal configuration (override of the default config
config.cfg
). These are the most relevant settings that need to be adjusted. All other settings are inconfig.cfg
nano /root/.rns_server_blockchain/config.cfg.owr
- Start it again. Finished!
./rns_server_blockchain.py
- Create a service file.
nano /etc/systemd/system/rns_server_blockchain.service
- Copy and edit the following content to your own needs.
[Unit] Description=rns_server_blockchain After=multi-user.target [Service] # ExecStartPre=/bin/sleep 10 Type=simple Restart=always RestartSec=3 User=root Group=root ExecStart=/root/rns_server_blockchain.py [Install] WantedBy=multi-user.target
- Enable the service.
systemctl enable rns_server_blockchain
- Start the service.
systemctl start rns_server_blockchain
systemctl start rns_server_blockchain
systemctl stop rns_server_blockchain
systemctl enable rns_server_blockchain
systemctl disable rns_server_blockchain
- Run the program with a different configuration path.
./rns_server_blockchain.py -p /root/.rns_server_blockchain_2nd ./rns_server_blockchain.py -p /root/.rns_server_blockchain_3nd
- With a manual start via the console, the own RNS address is displayed:
[] ............................................................................... [] RNS - Address: <801f48d54bc71cb3e0886944832aaf8d> [] ...............................................................................`
- This address is also annouced at startup in the default setting.
- This blockchain server address must be added to the clients.
- Now the software can be used.
usage: rns_server_blockchain.py [-h] [-p PATH] [-pr PATH_RNS] [-pl PATH_LOG] [-l LOGLEVEL] [-s] [--exampleconfig] [--exampleconfigoverride]
RNS Server Blockchain - Gateway/Bridge for payment/wallet for RNS based apps
optional arguments:
-h, --help show this help message and exit
-p PATH, --path PATH Path to alternative config directory
-pr PATH_RNS, --path_rns PATH_RNS
Path to alternative Reticulum config directory
-pl PATH_LOG, --path_log PATH_LOG
Path to alternative log directory
-l LOGLEVEL, --loglevel LOGLEVEL
-s, --service Running as a service and should log to file
--exampleconfig Print verbose configuration example to stdout and exit
--exampleconfigoverride
Print verbose configuration example to stdout and exit
You should read the Installation manual
section. There everything is explained briefly. Just work through everything from top to bottom :)