Commit 6b75b7c3 authored by r4v3r23's avatar r4v3r23
Browse files

Update README.md

parent 581d1c49
# RoaminRonin Dojo
**/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /**
**This project is aimed at arming nomadic bitcoiners with the most private & secure node that can be synced wherever, whenever.**
**The goal here is simple: to create the most mobile Samourai Dojo bitcoin node possible.**
**To achieve this RoaminRonin utilizes:**
- [Samourai Dojo](https://github.com/Samourai-Wallet/samourai-dojo)
- [RoninDojo UI](https://code.samourai.io/ronindojo/RoninDojo/)
- [Manjaro OS](https://manjaro.org/)
- [Raspberry Pi 4 (4GB)](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)
- [Mechatronics Pi Case](https://www.mechatronicsart.com/shop/aluminum-raspberry-pi-4-case/)
- 5V/3A Power Bank
- External SSD
- MicroSD card
**Minimal user interaction and zero need for CLI access once set up:**
- Connect Raspberry Pi to power source (power bank or mains)
- Connect trusted device to any network (mobile or wifi)
- Enable hotspot & allow Dojo to sync blockchain data
- Push off button to safely close Dojo & shut down Pi when finished
**Special thanks: [LaurentMT](https://twitter.com/LaurentMT) ([OXT.me](oxt.me)), & RoninDojo crew: [GuerraMoneta](https://twitter.com/guerramoneta), [BTCxZelko](https://twitter.com/BTCxZelko), [Crazyk031](https://twitter.com/Crazyk031).**
**Big-up to the entire [Samourai Wallet](https://samouraiwallet.com/) team on keeping bitcoin for the streets.**
**Mobile Dojo. Full node on the road. Fuck yeah.**
**/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /**
**FLASH MANJARO MINIMAL**
RoninDojo runs on Manjaro Minimal:
- Download ARM .iso from [this link](https://manjaro.org/download/arm/raspberry-pi-4/arm8-raspberry-pi-4-minimal/)
- Flash the image onto a MicroSD card using a program like [Balena Etcher](https://www.balena.io/etcher/)
- Complete initial OS setup
- Upgrade system & reboot: `sudo pacman -Syu` `sudo reboot`
**INSTALL RONIN DOJO**
After setting up Manjaro Minimal, install RoninDojo:
- `sudo pacman -S git`
- `git clone https://code.samourai.io/ronindojo/RoninDojo`
- `sudo cp ~/RoninDojo/ronin /usr/local/bin`
**INSTALL DOJO**
Type `ronin` anywhere in terminal to start Ronin UI:
- Select System Setup & Installs menu option.
- Select `Setup System`, `Install Dojo`, `Go Back`
- Let the install run. Plan for ~30 minutes set up time.
**INSTALL CONNMAN**
Replace Network Manager with Connman:
- `sudo pacman -S connman`
- `sudo systemctl enable connman.service`
- `sudo systemctl start connman.service`
- `sudo systemctl stop NetworkManager`
- `sudo systemctl daemon-reload`
**DISABLE NETWORK MANAGER**
Permanently disable Network Manager services:
- `sudo systemctl mask NetworkManager.service`
- `sudo systemctl mask NetworkManager-dispatcher`
- `sudo systemctl mask NetworkManager-wait-online.service`
- `sudo reboot`
**CONNECT TO WIFI**
Set up trusted wifi network. Once connected, it will autoconnect on boot:
- `connmanctl`
- `enable wifi`
- `scan wifi`
- `services`
- `agent on`
- `connect wifi_YOUR_NETWORK`
- `quit`
**CREATE SCRIPTS**
Create a folder called 'scripts' in HOME folder & 2 scripts:
- `mkdir ~/scripts`
- `touch OFF.py`
- `touch OFF.sh`
- `nano OFF.py`
$
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(26, GPIO.IN, pull_up_down = GPIO.PUD_UP)
def Shutdown(channel):
os.system('/home/dojo/scripts/OFF.sh')
GPIO.add_event_detect(26, GPIO.FALLING, callback = Shutdown, bouncetime = 2000)
while 1:
time.sleep(1)
- `nano OFF.sh`
$
echo -e "${RED}"
echo "***"
echo "Shutting down Dojo if running..."
echo "***"
echo -e "${NC}"
cd /home/dojo/dojo/docker/my-dojo/
sudo ./dojo.sh stop
echo -e "${RED}"
echo "***"
echo "Powering off in 10s, press Ctrl + C to cancel..."
echo "***"
echo -e "${NC}"
sleep 10s
sudo shutdown now
# stop dojo and shut down machine
;;
**SET SCRIPT AS SERVICE**
Set OFF.py script as service:
- `sudo nano /usr/bin/autostart.sh`
$
python /home/dojo/scripts/OFF.py
- `chmod +x '/usr/bin/autostart.sh'`
- `sudo nano '/etc/systemd/system/autostart.service'`
$
[Unit]
Description=Example systemd service.
[Service]
Type=simple
ExecStart=/bin/bash /usr/bin/autostart.sh
[Install]
WantedBy=multi-user.target
- `sudo systemctl start autostart`
- `sudo systemctl status autostart`
- `sudo systemctl enable autostart`
- `sudo reboot`
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment