Fedora / Debian / Ubuntu
note
Tested on a pristine amd64
, armhf
:
- Debian 12
- Fedora 41
- Ubuntu
20.04
22.04
24.04
System dependencies
tip
Refer to the Custom dependencies page if you encounter any issues with the system repository versions or if you want to build a specific library from source!
Debian / Ubuntu
sudo apt install git autoconf automake build-essential libtool\
libboost-all-dev libssl-dev libdb++-dev libminiupnpc-dev
Fedora
sudo dnf install git autoconf automake libtool make\
boost-devel openssl-devel libdb-cxx-devel miniupnpc-devel
Build steps
important
Make sure you have at least 1 GB of memory to compile twister or connect a temporary swap file (see the Administration page) before continue!
- Build twister-core
sudo useradd -m twister
- create new user with home directory (set password withsudo passwd twister
)su twister
- login and navigate (withcd
) into the home dir/home/twister
to continuegit clone https://github.com/twisterarmy/twister-core.git
cd twister-core
./autotool.sh
./configure
- ARM only:
./configure --with-boost-libdir=/usr/lib/arm-linux-gnueabihf --disable-sse2
- ARM only:
make
- Setup twister-html (web UI)
mkdir ~/.twister
echo -e "rpcuser=user\nrpcpassword=pwd\nrpcallowip=127.0.0.1" > ~/.twister/twister.conf
- use
-rpcallowip=*
mask if you want to connect remotely with a dynamic IP address, but make sure you have provided strong credentials along with an SSL certificate (see the Remote Node page for more details)
- use
chmod 600 ~/.twister/twister.conf
git clone https://github.com/twisterarmy/twister-html.git ~/.twister/html
- Launch twister
./twisterd
- open http://127.0.0.1:28332 or http://[::1]:28332
- enter
user
andpwd
in the authorization dialog
- enter
- create your account!
Systemd example
Optionally, setup systemd
service by pasting following text into the file /etc/systemd/system/twister-core.service
[Unit]
After=network.target
[Service]
Type=simple
User=twister
Group=twister
ExecStart=/home/twister/twister-core/twisterd -printtoconsole
StandardOutput=null
StandardError=file:/home/twister/twister-core-errors.log
Restart=on-failure
[Install]
WantedBy=multi-user.target
note
- The
ExecStart
command contains the-printtoconsole
option, which routes the debug output toStandardOutput
instead of thedebug.log
file, then disables it by setting to thenull
value - The example above requires a previously created
twister.conf
file that contains RPC credentials defined in the previous steps. Alternatively, you may forcefully overwrite them by using the custom-rpcuser
,-rpcpassword
, and-rpcallowip
arguments (see./twisterd --help
for more details) - Support the network by open port
28333
and append-port=28333
toExecStart
if you're running the node as a public peer
Then enable and start the service:
systemctl daemon-reload
systemctl enable twister-core
systemctl start twister-core
systemctl status twister-core
Upgrade from repository
Steps to upgrade your existing twister-core
and twister-html
from the repository sources:
- stop running
twisterd
process to continue (if active, runpgrep twisterd
to find)sudo systemctl stop twister-core
- if you're usingsystemd
service
cd twister-core
- navigatetwister-core
sources directory (which contains oldtwisterd
binary)git pull
- grab latest updatesmake
- build new versioncd ~/.twister/html
- navigatetwister-html
installation directorygit pull
- grab latesttwister-html
changes- start
twister-core
processsudo systemctl start twister-core
- if you're usingsystemd
service
Generated at: 2025.05