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.

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
node1 ✓ node2 ✓ node3 ✓

2. Deployment Output

One-line Quick Install

Paste into your fresh Ubuntu 22.04 or 24.04 shell as root. The script aborts on any other distro/version. Your full install.sh is embedded inline as base64 — no external host or mirror required, just paste and run.

Mainnet builds connect to node1/node2/node3.texitcoin.org:15740 out of the box.

curl
echo IyEvdXNyL2Jpbi9lbnYgYmFzaAojIFRYQyBOb2RlLVNwaW5uZXItVXBwZXIg4oCUIGluc3RhbGwuc2gKIyBUYXJnZXQ6IFVidW50dSAyMi4wNCBMVFMKIyBNb25pa2VyOiB0eGMtbm9kZS0wMSB8IE5ldHdvcms6IG1haW5uZXQKIyBSZWxlYXNlIG1vZGU6IHBpbm5lZCB2MC4yNS4xCiMgR2VuZXJhdGVkIGJ5IFRYQyBOb2RlLVNwaW5uZXItVXBwZXIKc2V0IC1ldW8gcGlwZWZhaWwKClBJTk5FRF9SRUxFQVNFX1VSTD0iaHR0cHM6Ly9naXRodWIuY29tL2Jsb2NrY2hhaW5taW50MS90ZXhpdGNvaW4vcmVsZWFzZXMvZG93bmxvYWQvdjAuMjUuMS90eGMtYW1kLXVidW50dTIyLXYwLjI1LjEuemlwIgpQSU5ORURfWklQX05BTUU9InR4Yy1hbWQtdWJ1bnR1MjItdjAuMjUuMS56aXAiClJFTEVBU0VfTU9ERT0icGlubmVkIgpSRUxFQVNFX1RBRz0iIgpSRUxFQVNFX1JFUE89ImJsb2NrY2hhaW5taW50MS90ZXhpdGNvaW4iCkNVU1RPTV9aSVBfVVJMPSIiCkRBVEFfRElSPSIvdmFyL2xpYi90ZXhpdGNvaW4iClJVTl9VU0VSPSJ0ZXhpdGNvaW4iCk1JTl9DUFU9MgpNSU5fUkFNX0dCPTQKCmxvZygpIHsgcHJpbnRmICJcMDMzWzE7MzZtW3R4Yy1zcGlubmVyXVwwMzNbMG0gJXNcbiIgIiQqIjsgfQp3YXJuKCkgeyBwcmludGYgIlwwMzNbMTszM21bdHhjLXNwaW5uZXJdXDAzM1swbSAlc1xuIiAiJCoiOyB9CgppZiBbWyAkRVVJRCAtbmUgMCBdXTsgdGhlbgogIGVjaG8gIlBsZWFzZSBydW4gYXMgcm9vdCAoc3VkbyBiYXNoIGluc3RhbGwuc2gpIiA+JjIKICBleGl0IDEKZmkKCiMgLS0tIEZyZXNoLWJveCBwcmVmbGlnaHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgc2NyaXB0IGFzc3VtZXMgYSBGUkVTSCwgYmxhbmsgaW5zdGFsbCBvZiBVYnVudHUgMjIuMDQgTFRTIG9yIDI0LjA0IExUUy4KIyBJdCBpcyBpZGVtcG90ZW50IOKAlCBzYWZlIHRvIHJlLXJ1biDigJQgYnV0IGlzIGRlc2lnbmVkIGZvciBhIGNsZWFuIG1hY2hpbmUuCgppZiBbWyAhIC1yIC9ldGMvb3MtcmVsZWFzZSBdXTsgdGhlbgogIGVjaG8gIkNhbm5vdCByZWFkIC9ldGMvb3MtcmVsZWFzZSDigJQgdGhpcyBzY3JpcHQgdGFyZ2V0cyBVYnVudHUgMjIuMDQvMjQuMDQuIiA+JjIKICBleGl0IDEKZmkKIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MxMDkxCi4gL2V0Yy9vcy1yZWxlYXNlCmlmIFtbICIke0lEOi19IiAhPSAidWJ1bnR1IiBdXTsgdGhlbgogIGVjaG8gIlVuc3VwcG9ydGVkIGRpc3RybzogJHtJRDotdW5rbm93bn0uIFVidW50dSAyMi4wNCBvciAyNC4wNCBvbmx5LiIgPiYyCiAgZXhpdCAxCmZpCmNhc2UgIiR7VkVSU0lPTl9JRDotfSIgaW4KICAyMi4wNHwyNC4wNCkgbG9nICJEZXRlY3RlZCBVYnVudHUgJFZFUlNJT05fSUQgKCRWRVJTSU9OX0NPREVOQU1FKSI7OwogICopCiAgICBlY2hvICJVbnN1cHBvcnRlZCBVYnVudHUgdmVyc2lvbjogJFZFUlNJT05fSUQuIFVzZSAyMi4wNCBvciAyNC4wNC4iID4mMgogICAgZXhpdCAxCiAgICA7Owplc2FjCgpBUkNIPSIkKGRwa2cgLS1wcmludC1hcmNoaXRlY3R1cmUpIgppZiBbWyAiJEFSQ0giICE9ICJhbWQ2NCIgXV07IHRoZW4KICBlY2hvICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmU6ICRBUkNILiBUaGUgdXBzdHJlYW0gcmVsZWFzZSBpcyBhbWQ2NCBvbmx5LiIgPiYyCiAgZXhpdCAxCmZpCgojIC0tLSBIYXJkd2FyZSBwcmVmbGlnaHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExlYXJuZWQgdGhlIGhhcmQgd2F5OiAxIHZDUFUgLyAyIEdCIGRyb3BsZXRzIHRocmFzaCBkYmNhY2hlIGFuZCBzdGFsbCBJQkQuCkNQVV9DT1VOVD0kKG5wcm9jIDI+L2Rldi9udWxsIHx8IGVjaG8gMSkKTUVNX01CPSQoYXdrICcvTWVtVG90YWwvIHtwcmludGYgIiVkIiwgJDIvMTAyNH0nIC9wcm9jL21lbWluZm8pCk1FTV9HQj0kKCggTUVNX01CIC8gMTAyNCApKQpsb2cgIkRldGVjdGVkICRDUFVfQ09VTlQgdkNQVSAvICR7TUVNX0dCfSBHQiBSQU0iCmlmICgoIENQVV9DT1VOVCA8IE1JTl9DUFUgKSk7IHRoZW4KICB3YXJuICJPbmx5ICRDUFVfQ09VTlQgdkNQVSDigJQgcmVjb21tZW5kZWQgbWluaW11bSBpcyAkTUlOX0NQVS4gU3luYyB3aWxsIGJlIHNsb3cuIgpmaQppZiAoKCBNRU1fTUIgPCAoTUlOX1JBTV9HQiAqIDEwMjQgLSAyNTYpICkpOyB0aGVuCiAgd2FybiAiT25seSAke01FTV9NQn0gTUIgUkFNIOKAlCByZWNvbW1lbmRlZCBtaW5pbXVtIGlzICR7TUlOX1JBTV9HQn0gR0IuIgogIHdhcm4gIk9uIGxvdy1SQU0gYm94ZXMgdGV4aXRjb2luZCBjYW4gYmUgT09NLWtpbGxlZCBkdXJpbmcgaW5pdGlhbCBibG9jayBkb3dubG9hZC4iCmZpCgojIC0tLSBTd2FwIGZpbGUgKGhlbHBzIGxvdy1SQU0gYm94ZXMgc3Vydml2ZSBJQkQpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClNXQVBfR0I9NApTV0FQRklMRT0vc3dhcGZpbGUKaWYgISBzd2Fwb24gLS1zaG93IHwgZ3JlcCAtcSAiJFNXQVBGSUxFIjsgdGhlbgogIGlmIFtbICEgLWYgIiRTV0FQRklMRSIgXV07IHRoZW4KICAgIGxvZyAiQ3JlYXRpbmcgJHtTV0FQX0dCfUcgc3dhcGZpbGUgYXQgJFNXQVBGSUxFIgogICAgZmFsbG9jYXRlIC1sICIke1NXQVBfR0J9RyIgIiRTV0FQRklMRSIgfHwgZGQgaWY9L2Rldi96ZXJvIG9mPSIkU1dBUEZJTEUiIGJzPTFNIGNvdW50PSQoKFNXQVBfR0IqMTAyNCkpCiAgICBjaG1vZCA2MDAgIiRTV0FQRklMRSIKICAgIG1rc3dhcCAiJFNXQVBGSUxFIiA+L2Rldi9udWxsCiAgZmkKICBzd2Fwb24gIiRTV0FQRklMRSIKICBncmVwIC1xICJeJFNXQVBGSUxFICIgL2V0Yy9mc3RhYiB8fCBlY2hvICIkU1dBUEZJTEUgbm9uZSBzd2FwIHN3IDAgMCIgPj4gL2V0Yy9mc3RhYgogIHN5c2N0bCAtdyB2bS5zd2FwcGluZXNzPTEwID4vZGV2L251bGwKICBncmVwIC1xICJedm0uc3dhcHBpbmVzcyIgL2V0Yy9zeXNjdGwuY29uZiB8fCBlY2hvICJ2bS5zd2FwcGluZXNzPTEwIiA+PiAvZXRjL3N5c2N0bC5jb25mCmVsc2UKICBsb2cgIlN3YXAgYWxyZWFkeSBhY3RpdmUg4oCUIHNraXBwaW5nIgpmaQoKbG9nICJJbnN0YWxsaW5nIGFwdCBkZXBlbmRlbmNpZXMiCmV4cG9ydCBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUKYXB0LWdldCB1cGRhdGUgLXkKIyBQaWNrIHRoZSBjb3JyZWN0IGxpYmJvb3N0IC8gbGliZm10IFNPbmFtZSBwYWNrYWdlIHBlciByZWxlYXNlLgppZiBbWyAiJFZFUlNJT05fSUQiID09ICIyMi4wNCIgXV07IHRoZW4KICBCT09TVF9QS0dTPSJsaWJib29zdC1zeXN0ZW0xLjc0LjAgbGliYm9vc3QtZmlsZXN5c3RlbTEuNzQuMCBsaWJib29zdC10aHJlYWQxLjc0LjAiCiAgRk1UX1BLRz0ibGliZm10OCIKZWxzZQogIEJPT1NUX1BLR1M9ImxpYmJvb3N0LXN5c3RlbTEuODMuMCBsaWJib29zdC1maWxlc3lzdGVtMS44My4wIGxpYmJvb3N0LXRocmVhZDEuODMuMCIKICBGTVRfUEtHPSJsaWJmbXQ5IgpmaQphcHQtZ2V0IGluc3RhbGwgLXkgLS1uby1pbnN0YWxsLXJlY29tbWVuZHMgXAogIHVuemlwIGN1cmwgY2EtY2VydGlmaWNhdGVzIGpxIFwKICBsaWJldmVudC0yLjEtNyAkQk9PU1RfUEtHUyAkRk1UX1BLRyBsaWJzcWxpdGUzLTAgbGliem1xNQoKbG9nICJDcmVhdGluZyBkZWRpY2F0ZWQgJ3RleGl0Y29pbicgc3lzdGVtIHVzZXIiCmlmICEgaWQgLXUgdGV4aXRjb2luID4vZGV2L251bGwgMj4mMTsgdGhlbgogIHVzZXJhZGQgLS1zeXN0ZW0gLS1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyICIkREFUQV9ESVIiIC0tc2hlbGwgL3Vzci9zYmluL25vbG9naW4gdGV4aXRjb2luCmZpCmluc3RhbGwgLWQgLW8gdGV4aXRjb2luIC1nIHRleGl0Y29pbiAtbSAwNzUwICIkREFUQV9ESVIiCgojIC0tLSBSZXNvbHZlIHJlbGVhc2UgVVJMIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVCVU5UVV9UQUc9InVidW50dSR7VkVSU0lPTl9JRCUlLip9IiAgICMgdWJ1bnR1MjIgLyB1YnVudHUyNAoKcGlja19hc3NldCgpIHsKICAjIHN0ZGluOiBhIHNpbmdsZSByZWxlYXNlIEpTT04gb2JqZWN0OyBzdGRvdXQ6IHt1cmwsYXNzZXR9IG9yIGVtcHR5CiAganEgLXIgLS1hcmcgdGFnICIkVUJVTlRVX1RBRyIgJwogICAgKC5hc3NldHNbXT8gfCBzZWxlY3QoLm5hbWUgfCB0ZXN0KCJcKCR0YWcpLipcXC56aXAkIikpKSBhcyAkYQogICAgfCB7dGFnOiAudGFnX25hbWUsIHByZXJlbGVhc2U6IC5wcmVyZWxlYXNlLAogICAgICAgdXJsOiAkYS5icm93c2VyX2Rvd25sb2FkX3VybCwgYXNzZXQ6ICRhLm5hbWV9CiAgJyB8IGhlYWQgLW4xCn0KCmlmIFtbICIkUkVMRUFTRV9NT0RFIiA9PSAiY3VzdG9tIiBdXTsgdGhlbgogIGxvZyAiQ3VzdG9tIHppcCBVUkwgbW9kZSIKICBSRUxFQVNFX1VSTD0iJENVU1RPTV9aSVBfVVJMIgogIFpJUF9OQU1FPSIkKGJhc2VuYW1lICIkUkVMRUFTRV9VUkwiIHwgc2VkICdzL1s/I10uKi8vJykiCiAgW1sgIiRaSVBfTkFNRSIgPT0gKi56aXAgXV0gfHwgWklQX05BTUU9InR4Yy1jdXN0b20uemlwIgogIGxvZyAiVXNpbmcgJFpJUF9OQU1FIgplbGlmIFtbICIkUkVMRUFTRV9NT0RFIiA9PSAidGFnIiBdXTsgdGhlbgogIGxvZyAiVGFnIG1vZGU6IGZldGNoaW5nIHJlbGVhc2UgJFJFTEVBU0VfVEFHIGZyb20gR2l0SHViIgogIFJFTEVBU0VfSlNPTj0kKGN1cmwgLWZzU0wgLUggIkFjY2VwdDogYXBwbGljYXRpb24vdm5kLmdpdGh1Yitqc29uIiBcCiAgICAiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy8kUkVMRUFTRV9SRVBPL3JlbGVhc2VzL3RhZ3MvJFJFTEVBU0VfVEFHIikgfHwgUkVMRUFTRV9KU09OPSIiCiAgaWYgW1sgLXogIiRSRUxFQVNFX0pTT04iIF1dOyB0aGVuCiAgICBlY2hvICJDb3VsZCBub3QgZmV0Y2ggcmVsZWFzZSBmb3IgdGFnICckUkVMRUFTRV9UQUcnIGZyb20gJFJFTEVBU0VfUkVQTy4iID4mMgogICAgZWNobyAiQ2hlY2sgdGhhdCB0aGUgdGFnIGV4aXN0cyBhbmQgaGFzIGEgcHVibGlzaGVkIEdpdEh1YiBSZWxlYXNlLiIgPiYyCiAgICBleGl0IDEKICBmaQogIFJFU09MVkVEPSQocHJpbnRmICclcycgIiRSRUxFQVNFX0pTT04iIHwgcGlja19hc3NldCkKICBpZiBbWyAteiAiJFJFU09MVkVEIiBdXTsgdGhlbgogICAgZWNobyAiUmVsZWFzZSAkUkVMRUFTRV9UQUcgaGFzIG5vICRVQlVOVFVfVEFHIC56aXAgYXNzZXQgYXR0YWNoZWQuIiA+JjIKICAgIGV4aXQgMQogIGZpCiAgUkVMRUFTRV9VUkw9JChwcmludGYgJyVzJyAiJFJFU09MVkVEIiB8IGpxIC1yICcudXJsJykKICBaSVBfTkFNRT0kKHByaW50ZiAnJXMnICIkUkVTT0xWRUQiIHwganEgLXIgJy5hc3NldCcpCiAgbG9nICJSZXNvbHZlZCAkUkVMRUFTRV9UQUcgKCRaSVBfTkFNRSkiCmVsaWYgW1sgIiRSRUxFQVNFX01PREUiID09ICJsYXRlc3QiIF1dOyB0aGVuCiAgbG9nICJJbnN0YWxsLWxhdGVzdCBtb2RlOiBxdWVyeWluZyBHaXRIdWIgZm9yIG5ld2VzdCByZWxlYXNlIHdpdGggYSAkVUJVTlRVX1RBRyBhc3NldCIKICBSRUxFQVNFU19KU09OPSQoY3VybCAtZnNTTCAtSCAiQWNjZXB0OiBhcHBsaWNhdGlvbi92bmQuZ2l0aHViK2pzb24iIFwKICAgICJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zLyRSRUxFQVNFX1JFUE8vcmVsZWFzZXM/cGVyX3BhZ2U9MjAiKSB8fCBSRUxFQVNFU19KU09OPSIiCiAgaWYgW1sgLW4gIiRSRUxFQVNFU19KU09OIiBdXTsgdGhlbgogICAgUkVTT0xWRUQ9JChwcmludGYgJyVzJyAiJFJFTEVBU0VTX0pTT04iIHwganEgLXIgLS1hcmcgdGFnICIkVUJVTlRVX1RBRyIgJwogICAgICBbLltdIHwgLiBhcyAkciB8ICguYXNzZXRzW10/IHwgc2VsZWN0KC5uYW1lIHwgdGVzdCgiXCgkdGFnKS4qXFwuemlwJCIpKSkgYXMgJGEKICAgICAgICB8IHt0YWc6ICRyLnRhZ19uYW1lLCBwcmVyZWxlYXNlOiAkci5wcmVyZWxlYXNlLAogICAgICAgICAgIHVybDogJGEuYnJvd3Nlcl9kb3dubG9hZF91cmwsIGFzc2V0OiAkYS5uYW1lfV0KICAgICAgfCBmaXJzdCAvLyBlbXB0eQogICAgJykKICAgIGlmIFtbIC1uICIkUkVTT0xWRUQiICYmICIkUkVTT0xWRUQiICE9ICJudWxsIiBdXTsgdGhlbgogICAgICBSRUxFQVNFX1VSTD0kKHByaW50ZiAnJXMnICIkUkVTT0xWRUQiIHwganEgLXIgJy51cmwnKQogICAgICBaSVBfTkFNRT0kKHByaW50ZiAnJXMnICIkUkVTT0xWRUQiIHwganEgLXIgJy5hc3NldCcpCiAgICAgIFJUQUc9JChwcmludGYgJyVzJyAiJFJFU09MVkVEIiB8IGpxIC1yICcudGFnJykKICAgICAgUlBSRT0kKHByaW50ZiAnJXMnICIkUkVTT0xWRUQiIHwganEgLXIgJy5wcmVyZWxlYXNlJykKICAgICAgbG9nICJSZXNvbHZlZCAkUlRBRyAoJFpJUF9OQU1FKSQoW1sgJFJQUkUgPT0gdHJ1ZSBdXSAmJiBlY2hvICcgW3ByZS1yZWxlYXNlXScgfHwgdHJ1ZSkiCiAgICBlbHNlCiAgICAgIGxvZyAiTm8gbWF0Y2hpbmcgJFVCVU5UVV9UQUcgYXNzZXQgZm91bmQ7IGZhbGxpbmcgYmFjayB0byBwaW5uZWQgJFBJTk5FRF9aSVBfTkFNRSIKICAgICAgUkVMRUFTRV9VUkw9IiRQSU5ORURfUkVMRUFTRV9VUkwiOyBaSVBfTkFNRT0iJFBJTk5FRF9aSVBfTkFNRSIKICAgIGZpCiAgZWxzZQogICAgbG9nICJHaXRIdWIgQVBJIHVucmVhY2hhYmxlOyBmYWxsaW5nIGJhY2sgdG8gcGlubmVkICRQSU5ORURfWklQX05BTUUiCiAgICBSRUxFQVNFX1VSTD0iJFBJTk5FRF9SRUxFQVNFX1VSTCI7IFpJUF9OQU1FPSIkUElOTkVEX1pJUF9OQU1FIgogIGZpCmVsc2UKICBSRUxFQVNFX1VSTD0iJFBJTk5FRF9SRUxFQVNFX1VSTCI7IFpJUF9OQU1FPSIkUElOTkVEX1pJUF9OQU1FIgpmaQoKbG9nICJEb3dubG9hZGluZyAkWklQX05BTUUiCmxvZyAiICBmcm9tICRSRUxFQVNFX1VSTCIKVE1QPSQobWt0ZW1wIC1kKQp0cmFwICdybSAtcmYgIiRUTVAiJyBFWElUCmN1cmwgLWZzU0wgIiRSRUxFQVNFX1VSTCIgLW8gIiRUTVAvJFpJUF9OQU1FIgojIFRPRE86IHZlcmlmeSBTSEEyNTYgb25jZSB1cHN0cmVhbSBwdWJsaXNoZXMgYSBjaGVja3N1bXMgZmlsZQoKbG9nICJVbnBhY2tpbmcgYW5kIGluc3RhbGxpbmcgYmluYXJpZXMgdG8gL3Vzci9sb2NhbC9iaW4iCnVuemlwIC1xICIkVE1QLyRaSVBfTkFNRSIgLWQgIiRUTVAvdW5wYWNrZWQiCmluc3RhbGwgLW0gMDc1NSAiJFRNUC91bnBhY2tlZC9hcmNoaXZlL2FydGlmYWN0cy91c3IvbG9jYWwvYmluL3RleGl0Y29pbmQiIC91c3IvbG9jYWwvYmluLwppbnN0YWxsIC1tIDA3NTUgIiRUTVAvdW5wYWNrZWQvYXJjaGl2ZS9hcnRpZmFjdHMvdXNyL2xvY2FsL2Jpbi90ZXhpdGNvaW4tY2xpIiAvdXNyL2xvY2FsL2Jpbi8KaW5zdGFsbCAtbSAwNzU1ICIkVE1QL3VucGFja2VkL2FyY2hpdmUvYXJ0aWZhY3RzL3Vzci9sb2NhbC9iaW4vdGV4aXRjb2luLXR4IiAvdXNyL2xvY2FsL2Jpbi8KaW5zdGFsbCAtbSAwNzU1ICIkVE1QL3VucGFja2VkL2FyY2hpdmUvYXJ0aWZhY3RzL3Vzci9sb2NhbC9iaW4vdGV4aXRjb2luLXdhbGxldCIgL3Vzci9sb2NhbC9iaW4vCgpsb2cgIldyaXRpbmcgJERBVEFfRElSL3RleGl0Y29pbi5jb25mIgpjYXQgPiAiJERBVEFfRElSL3RleGl0Y29pbi5jb25mIiA8PCdUWENfQ09ORicKIyB0ZXhpdGNvaW4uY29uZiDigJQgZ2VuZXJhdGVkIGJ5IFRYQyBOb2RlLVNwaW5uZXItVXBwZXIKIyBNb25pa2VyOiB0eGMtbm9kZS0wMQojIE5ldHdvcms6IG1haW5uZXQKCnNlcnZlcj0xCmRhZW1vbj0xCmxpc3Rlbj0xCnBvcnQ9MTU3NDAKcnBjcG9ydD0xNTczOQoKIyBSUEMgYXV0aApycGN1c2VyPXR4Y19hZG1pbgpycGNwYXNzd29yZD1SRVBMQUNFX01FCnJwY2FsbG93aXA9MTI3LjAuMC4xCgojIFN0b3JhZ2UKdHhpbmRleD0xCmRiY2FjaGU9NDUwCm1heGNvbm5lY3Rpb25zPTEyNQoKIyBQZWVyIGRpc2NvdmVyeQpkbnNzZWVkPTEKbGlzdGVuPTEKZGlzY292ZXI9MQoKIyBPZmZpY2lhbCBtYWlubmV0IHNlZWRzIOKAlCB2ZXJpZmllZCByZWFjaGFibGUgb24gOjE1NzQwCmFkZG5vZGU9bm9kZTEudGV4aXRjb2luLm9yZzoxNTc0MAphZGRub2RlPW5vZGUyLnRleGl0Y29pbi5vcmc6MTU3NDAKYWRkbm9kZT1ub2RlMy50ZXhpdGNvaW4ub3JnOjE1NzQwCiMgSVAgZmFsbGJhY2tzIChpbiBjYXNlIEROUyBmb3IgKi50ZXhpdGNvaW4ub3JnIGlzIGZsYWt5KQphZGRub2RlPTEwMC4yNi4yNDYuNDU6MTU3NDAKYWRkbm9kZT0zLjgxLjM0LjU1OjE1NzQwCmFkZG5vZGU9NTQuMjQzLjguMjAwOjE1NzQwCgpUWENfQ09ORgpjaG93biB0ZXhpdGNvaW46dGV4aXRjb2luICIkREFUQV9ESVIvdGV4aXRjb2luLmNvbmYiCmNobW9kIDA2NDAgIiREQVRBX0RJUi90ZXhpdGNvaW4uY29uZiIKCmxvZyAiQ29uZmlndXJpbmcgVUZXIGZpcmV3YWxsIChhbGxvdyBQMlAgMTU3NDAvdGNwKSIKaWYgISBjb21tYW5kIC12IHVmdyA+L2Rldi9udWxsIDI+JjE7IHRoZW4gYXB0LWdldCBpbnN0YWxsIC15IHVmdzsgZmkKdWZ3IGFsbG93IDE1NzQwL3RjcCB8fCB0cnVlCiMgUlBDIHN0YXlzIGJvdW5kIHRvIDEyNy4wLjAuMSDigJQgbm90IGV4cG9zZWQgdmlhIFVGVwoKbG9nICJJbnN0YWxsaW5nIHN5c3RlbWQgdW5pdCAvZXRjL3N5c3RlbWQvc3lzdGVtL3RleGl0Y29pbmQuc2VydmljZSIKY2F0ID4gL2V0Yy9zeXN0ZW1kL3N5c3RlbS90ZXhpdGNvaW5kLnNlcnZpY2UgPDwnVFhDX1VOSVQnCltVbml0XQpEZXNjcmlwdGlvbj1UZXhpdENvaW4gZGFlbW9uICh0eGMtbm9kZS0wMSkKQWZ0ZXI9bmV0d29yay1vbmxpbmUudGFyZ2V0CldhbnRzPW5ldHdvcmstb25saW5lLnRhcmdldAoKW1NlcnZpY2VdClR5cGU9Zm9ya2luZwpVc2VyPXRleGl0Y29pbgpHcm91cD10ZXhpdGNvaW4KRXhlY1N0YXJ0PS91c3IvbG9jYWwvYmluL3RleGl0Y29pbmQgLWRhZW1vbiAtZGF0YWRpcj0vdmFyL2xpYi90ZXhpdGNvaW4gLWNvbmY9L3Zhci9saWIvdGV4aXRjb2luL3RleGl0Y29pbi5jb25mIC1waWQ9L3Zhci9saWIvdGV4aXRjb2luL3RleGl0Y29pbmQucGlkClBJREZpbGU9L3Zhci9saWIvdGV4aXRjb2luL3RleGl0Y29pbmQucGlkClJlc3RhcnQ9b24tZmFpbHVyZQpSZXN0YXJ0U2VjPTEwClRpbWVvdXRTdG9wU2VjPTEyMApQcml2YXRlVG1wPXRydWUKUHJvdGVjdFN5c3RlbT1mdWxsCk5vTmV3UHJpdmlsZWdlcz10cnVlCgpbSW5zdGFsbF0KV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKClRYQ19VTklUCnN5c3RlbWN0bCBkYWVtb24tcmVsb2FkCnN5c3RlbWN0bCBlbmFibGUgLS1ub3cgdGV4aXRjb2luZApzbGVlcCAyCnN5c3RlbWN0bCAtLW5vLXBhZ2VyIC0tZnVsbCBzdGF0dXMgdGV4aXRjb2luZCB8fCB0cnVlCgoKbG9nICJEb25lLiBWZXJpZnkgd2l0aDoiCmVjaG8gIiAgc3VkbyAtdSAkUlVOX1VTRVIgdGV4aXRjb2luLWNsaSAtZGF0YWRpcj0kREFUQV9ESVIgZ2V0YmxvY2tjaGFpbmluZm8iCg== | base64 -d | sudo bash
Heads up: upstream doesn't publish SHA256 checksums for the release zip yet, so install.sh skips signature verification (marked with a TODO). Pin a known-good URL before piping to bash in production.

3. 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.

Status
shell
sudo systemctl status texitcoind --no-pager
Start
shell
sudo systemctl start texitcoind
Stop
shell
sudo systemctl stop texitcoind
Restart
shell
sudo systemctl restart texitcoind
Enable on boot
shell
sudo systemctl enable texitcoind
Disable on boot
shell
sudo systemctl disable texitcoind

Logs

Tail journald output and the daemon's debug.log.

Follow journal
shell
sudo journalctl -u texitcoind -f
Last 200 lines
shell
sudo journalctl -u texitcoind -n 200 --no-pager
Tail debug.log
shell
sudo tail -f /var/lib/texitcoin/debug.log
Errors only
shell
sudo grep -iE "error|warning" /var/lib/texitcoin/debug.log | tail -50

Chain & sync

Check sync progress, block height, and network info.

Blockchain info
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getblockchaininfo
Current block count
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getblockcount
Best block hash
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getbestblockhash
Network info
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getnetworkinfo
Mempool info
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getmempoolinfo
Uptime (seconds)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin uptime

Peers

Inspect and manage peer connections.

Connection count
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getconnectioncount
Peer list (summary)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getpeerinfo | jq '.[] | {addr, subver, synced_blocks}'
Add a peer
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin addnode "host:15740" add
Disconnect a peer
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin disconnectnode "host:15740"

Wallet (basic)

Common wallet operations. Back up wallet.dat before doing anything destructive.

List wallets
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin listwallets
Create wallet
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin createwallet "main"
New address
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=main getnewaddress
Balance
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=main getbalance
List transactions
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=main listtransactions "*" 20
Backup wallet
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -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).

Create a fresh wallet to import into (disable auto keypool)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin createwallet "imported" false false "" false false true
Load an existing wallet (if not already loaded)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin loadwallet "imported"
Unlock wallet (only if encrypted) — 600s
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported walletpassphrase "YOUR_PASSPHRASE" 600
Import a WIF private key (rescans chain — can take a while)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported importprivkey "YOUR_WIF_KEY_HERE" "label" true
Import a WIF without rescan (fast — run rescanblockchain later)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported importprivkey "YOUR_WIF_KEY_HERE" "label" false
Set HD seed from existing xprv (BIP32 extended private key)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported sethdseed true "YOUR_XPRV_HERE"
Import many keys at once (bulk, atomic)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported importmulti '[{"scriptPubKey":{"address":"ADDRESS"},"timestamp":"now","keys":["WIF1","WIF2"]}]' '{"rescan":true}'
Import a watch-only address (no spending)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported importaddress "ADDRESS_HERE" "label" true
Rescan chain from a height (after a no-rescan import)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported rescanblockchain 0
Restore from a wallet.dat backup (stop daemon first!)
shell
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 loadwallet "restored"
Dump a WIF for an address (for backup / migration)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported dumpprivkey "ADDRESS_HERE"
Dump entire wallet to a human-readable file
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported dumpwallet /var/lib/texitcoin/wallet-dump-$(date +%F).txt
Verify import: list addresses + balances in this wallet
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported listaddressgroupings && sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin -rpcwallet=imported getbalances

Maintenance

Upgrades, config reloads, and a graceful shutdown.

Edit config
shell
sudo nano /var/lib/texitcoin/texitcoin.conf
Reload after config change
shell
sudo systemctl restart texitcoind
Graceful stop (RPC)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin stop
Disk usage
shell
sudo du -sh /var/lib/texitcoin
Binary version
shell
texitcoind --version

Firewall (UFW)

Inspect and adjust the inbound P2P rule.

Status
shell
sudo ufw status numbered
Allow P2P
shell
sudo ufw allow 15740/tcp
Remove P2P rule
shell
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.

Are we actually connected to peers?
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getpeerinfo | jq 'length' && sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getconnectioncount
Headers vs blocks (is it just slow, or stuck?)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getblockchaininfo | jq '{chain, headers, blocks, verificationprogress, initialblockdownload}'
Resolve the official seed hostnames
shell
getent hosts node1.texitcoin.org && getent hosts node2.texitcoin.org && getent hosts node3.texitcoin.org
Test outbound to :15740 (need nc: apt-get install -y netcat-openbsd)
shell
nc -vz -w 5 node1.texitcoin.org 15740
nc -vz -w 5 node2.texitcoin.org 15740
nc -vz -w 5 node3.texitcoin.org 15740
Force-add the seed peers by IP (bypasses DNS)
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin addnode "100.26.246.45:15740" onetry
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin addnode "3.81.34.55:15740" onetry
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin addnode "54.243.8.200:15740" onetry
Persist IP peers into texitcoin.conf and restart
shell
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
Tail debug.log for peer / handshake errors
shell
sudo tail -n 200 /var/lib/texitcoin/debug.log | grep -iE "peer|connect|handshake|version|ban|disconnect" | tail -50
Handshake stuck: show recent network events
shell
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
Added-node connection status
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getaddednodeinfo true
Turn on verbose P2P logging, then restart
shell
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
Check UFW status + default policies (inactive = nothing blocked)
shell
sudo ufw status verbose || echo "ufw not installed"
Check old node config for auth keys / shared secrets
shell
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"
Look for network magic / wrong-network errors in debug.log
shell
sudo grep -iE "messagestart|wrong network|invalid header|bad magic|checksum|peer=.*disconnect|protocol" /var/lib/texitcoin/debug.log | tail -50
Binary version (compare against your old/working node)
shell
texitcoind --version && texitcoin-cli --version
Protocol version this node advertises
shell
sudo -u texitcoin texitcoin-cli -datadir=/var/lib/texitcoin getnetworkinfo | jq '{version, subversion, protocolversion, localrelay, networkactive}'
OS Support
Ubuntu 22.04 / 24.04

Fresh LTS install · amd64

TexitCoin Core
v0.25.1

Prebuilt amd64 binaries

Chain footprint
~5 GB

Full sync, no pruning

Min droplet
2 vCPU / 4 GB

+ 4 GB swap recommended

Seed peers
3 verified live

node1/2/3.texitcoin.org