Spin up a TexitCoin full node.
Configure the parameters, copy the one-liner — or grab a self-contained install.sh with systemd and UFW wired up. Designed for a fresh Ubuntu 22.04 or 24.04 LTS box (amd64) — bare-metal or VPS.
Fresh LTS install · amd64
Latest GitHub release · checked daily
Full sync, no pruning
+ 4 GB swap recommended
1. Node Configuration
Pulls the GitHub Release for this exact tag (devs build & ship from tags before merging to master). Must have a ubuntu22/ubuntu24 .zip asset attached. Overrides the toggle above.
Paste a direct download URL to a prebuilt .zip containing archive/artifacts/usr/local/bin/texitcoind (+cli, tx, wallet). Works with any host — GitHub release assets, S3, your own server. A branch URL like /tree/<branch> won't work — that's source code, not a built binary. Your dev must cut a Release (or upload the zip somewhere) first.
▶Advanced Settings
2. Deployment Output
Paste-to-shell Installer
Paste into your fresh Ubuntu 22.04 or 24.04 shell. It sends this small config block to the installer endpoint, streams back install.sh, and logs failures on the box at /var/log/txc-spinner-install.log.
Mainnet builds connect to node1.texitcoin.org:15740, node2.texitcoin.org:15740, node3.texitcoin.org:15740 out of the box.
set -euo pipefail
curl -fsSL -X POST 'https://spinner.texitcoin.org/api/public/spinner/install' \
-H 'content-type: application/json' \
--data-binary @- <<'TXC_SPINNER_CONFIG' | sudo bash
{
"chain": "txc",
"moniker": "txc-node-01",
"network": "mainnet",
"p2pPort": 15740,
"rpcPort": 15739,
"rpcUser": "txc_admin",
"rpcPassword": "",
"txindex": true,
"pruning": false,
"pruneSizeMB": 5000,
"ufw": true,
"systemd": true,
"dedicatedUser": true,
"dbCacheMB": 450,
"maxConnections": 125,
"useOfficialPeers": true,
"addnodes": "node1.texitcoin.org:15740\nnode2.texitcoin.org:15740\nnode3.texitcoin.org:15740",
"extraRpcAllowIp": "",
"installLatest": false,
"releaseTag": "",
"customZipUrl": "",
"enableSwap": true,
"swapSizeGB": 4,
"enableCaddy": false,
"caddyDomain": "",
"caddyEmail": "",
"phoneHome": true
}
TXC_SPINNER_CONFIG3. Day-to-day Commands
Common commands for operating your node after install. All snippets are pre-filled with the data dir and user from your config above — copy and paste as needed.
Service control
Start, stop, restart, and inspect the texitcoind systemd unit.
▶
Service control
Start, stop, restart, and inspect the texitcoind systemd unit.
sudo systemctl status texitcoind --no-pager
sudo systemctl start texitcoind
sudo systemctl stop texitcoind
sudo systemctl restart texitcoind
sudo systemctl enable texitcoind
sudo systemctl disable texitcoind
Logs
Tail journald output and the daemon's debug.log.
▶
Logs
Tail journald output and the daemon's debug.log.
sudo journalctl -u texitcoind -f
sudo journalctl -u texitcoind -n 200 --no-pager
sudo tail -f /var/lib/texitcoin/debug.log
sudo grep -iE "error|warning" /var/lib/texitcoin/debug.log | tail -50
Chain & sync
Check sync progress, block height, and network info.
▶
Chain & sync
Check sync progress, block height, and network info.
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getblockchaininfo
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getblockcount
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getbestblockhash
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getnetworkinfo
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getmempoolinfo
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 uptime
Peers
Inspect and manage peer connections.
▶
Peers
Inspect and manage peer connections.
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getconnectioncount
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getpeerinfo | jq '.[] | {addr, subver, synced_blocks}'sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 addnode "host:15740" add
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 disconnectnode "host:15740"
Wallet (basic)
Common wallet operations. Back up wallet.dat before doing anything destructive.
▶
Wallet (basic)
Common wallet operations. Back up wallet.dat before doing anything destructive.
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 listwallets
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 createwallet "main"
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=main getnewaddress
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=main getbalance
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=main listtransactions "*" 20
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=main backupwallet /var/lib/texitcoin/wallet-backup-$(date +%F).dat
Wallet (import keys / seed)
Import an existing WIF private key, an HD seed (BIP32 xprv), or restore from a wallet.dat backup. importprivkey / sethdseed will rescan the chain (slow on a fresh node — wait for sync first, or pass false to skip and rescan later).
▶
Wallet (import keys / seed)
Import an existing WIF private key, an HD seed (BIP32 xprv), or restore from a wallet.dat backup. importprivkey / sethdseed will rescan the chain (slow on a fresh node — wait for sync first, or pass false to skip and rescan later).
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 createwallet "imported" false false "" false false true
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 loadwallet "imported"
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported walletpassphrase "YOUR_PASSPHRASE" 600
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported importprivkey "YOUR_WIF_KEY_HERE" "label" true
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported importprivkey "YOUR_WIF_KEY_HERE" "label" false
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported sethdseed true "YOUR_XPRV_HERE"
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported importmulti '[{"scriptPubKey":{"address":"ADDRESS"},"timestamp":"now","keys":["WIF1","WIF2"]}]' '{"rescan":true}'sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported importaddress "ADDRESS_HERE" "label" true
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported rescanblockchain 0
sudo systemctl stop texitcoind sudo mkdir -p /var/lib/texitcoin/wallets/restored sudo cp /path/to/wallet-backup.dat /var/lib/texitcoin/wallets/restored/wallet.dat sudo chown -R texitcoin:texitcoin /var/lib/texitcoin/wallets/restored sudo systemctl start texitcoind sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 loadwallet "restored"
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported dumpprivkey "ADDRESS_HERE"
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported dumpwallet /var/lib/texitcoin/wallet-dump-$(date +%F).txt
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported listaddressgroupings && sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 -rpcwallet=imported getbalances
Maintenance
Upgrades, config reloads, and a graceful shutdown.
▶
Maintenance
Upgrades, config reloads, and a graceful shutdown.
sudo nano /var/lib/texitcoin/texitcoin.conf
sudo systemctl restart texitcoind
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 stop
sudo du -sh /var/lib/texitcoin
texitcoind --version
Firewall (UFW)
Inspect and adjust the inbound P2P rule.
▶
Firewall (UFW)
Inspect and adjust the inbound P2P rule.
sudo ufw status numbered
sudo ufw allow 15740/tcp
sudo ufw delete allow 15740/tcp
Sync troubleshooting
Use this when the daemon is running but block height isn't moving. Runs through the usual suspects: DNS, outbound reachability, peer count, and manual peer injection.
▶
Sync troubleshooting
Use this when the daemon is running but block height isn't moving. Runs through the usual suspects: DNS, outbound reachability, peer count, and manual peer injection.
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getpeerinfo | jq 'length' && sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getconnectioncount
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getblockchaininfo | jq '{chain, headers, blocks, verificationprogress, initialblockdownload}'getent hosts node1.texitcoin.org && getent hosts node2.texitcoin.org && getent hosts node3.texitcoin.org
nc -vz -w 5 node1.texitcoin.org 15740 nc -vz -w 5 node2.texitcoin.org 15740 nc -vz -w 5 node3.texitcoin.org 15740
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 addnode "100.26.246.45:15740" onetry sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 addnode "3.81.34.55:15740" onetry sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 addnode "54.243.8.200:15740" onetry
sudo tee -a /var/lib/texitcoin/texitcoin.conf > /dev/null <<'EOF' addnode=100.26.246.45:15740 addnode=3.81.34.55:15740 addnode=54.243.8.200:15740 EOF sudo systemctl restart texitcoind
sudo tail -n 200 /var/lib/texitcoin/debug.log | grep -iE "peer|connect|handshake|version|ban|disconnect" | tail -50
sudo tail -n 500 /var/lib/texitcoin/debug.log | grep -iE "trying connection|connected|send version|receive version|version message|verack|handshake|disconnect|socket|checksum|magic|invalid|ban|misbehav|headers" | tail -100
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getaddednodeinfo true
printf ' # Temporary sync debugging debug=net ' | sudo tee -a /var/lib/texitcoin/texitcoin.conf sudo systemctl restart texitcoind sudo journalctl -u texitcoind -n 80 --no-pager
sudo ufw status verbose || echo "ufw not installed"
sudo grep -iEn "authkey|networkid|networkmagic|sharedkey|nodekey|privkey|secret" /var/lib/texitcoin/texitcoin.conf /etc/texitcoin/texitcoin.conf $HOME/.texitcoin/texitcoin.conf 2>/dev/null || echo "no auth-style keys found"
sudo grep -iE "messagestart|wrong network|invalid header|bad magic|checksum|peer=.*disconnect|protocol" /var/lib/texitcoin/debug.log | tail -50
texitcoind --version && texitcoin-cli --version
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -conf=/var/lib/texitcoin/texitcoin.conf -rpcport=15739 getnetworkinfo | jq '{version, subversion, protocolversion, localrelay, networkactive}'