Varje betalningsförmedlare i mitten kommer med egna villkor, egen KYC och en egen knapp som fryser ditt saldo. BTCPay Server tar bort mitten. Fakturor skapas på din server, kunden betalar till en adress som härleds ur din plånbok, och din egen Bitcoin-nod bekräftar betalningen. Ingen utom du kan stänga av det.
Det är för butiker, frilansare och tjänster som redan tar emot bitcoin — eller vill göra det — och hellre inte lämnar över det jobbet till ett företag.
Vilken plan
BTCPay körs som ungefär sju containrar: BTCPay-appen, NBXplorer (som bevakar kedjan), Bitcoin Core, Postgres och en nginx framför med automatisk Let's Encrypt. På vår testserver använde de runt 0,7 GB RAM i början, och Bitcoin Core tar mer under synkroniseringen; 4 GB räcker gott. Den verkliga begränsningen är disk, inte minne.
| Uppsättning | Plan |
|---|---|
| BTC on-chain, prunad nod med ~5 GB block | Small-IP: 4 vCPU, 4 GB, 35 GB ($16/mån) |
| Samma sak, med mer marginal för loggar och uppdateringar | Medium-IP: 6 vCPU, 6 GB, 45 GB ($20/mån) |
| Lightning, ett större blockfönster eller ett andra mynt | Pro-32: 8 vCPU, 32 GB, 400 GB ($40/mån), på förfrågan |
Du behöver en plan med egen IPv4: kunderna når BTCPay över HTTPS, och Let's Encrypt måste nå port 80. Välj Tyskland eller Finland, det som finns tillgängligt vid beställning — för en betalsida spelar latensen knappt någon roll. Och eftersom hela poängen är att ta emot krypto passar det att själva servern också betalas med krypto, utan KYC.
Installation
Peka pay.example.com mot servern och sedan, som root på en ny Ubuntu 24.04 eller Debian 12:
mkdir BTCPayServer && cd BTCPayServer
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="pay.example.com"
export LETSENCRYPT_EMAIL="you@yourdomain.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-xxs"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_LIGHTNING="none"
. ./btcpay-setup.sh -i
Det är opt-save-storage-xxs som får det att rymmas: Bitcoin Core prunar ner till 5 GB block. Skriptet hämtar avbilderna, skapar en systemd-tjänst btcpayserver och startar allt. På vägen startar det också om Docker-demonen — ytterligare ett skäl att ge BTCPay en egen server i stället för att klämma in det bredvid andra containrar.
Kontrollera noden:
bitcoin-cli.sh getblockchaininfo
Jämför blocks med headers och titta på "pruned": true. Efter tjugo minuter i vårt test låg vi på omkring 218 000 av ungefär 972 000 block — de tidiga blocken är små, så extrapolera inte. Det verkliga arbetet kommer senare.
Första inloggningen: gör den nu
Öppna https://pay.example.com så fort den svarar. BTCPay skickar dig till en registreringssida, och det första kontot blir serveradministratör. Hittar någon annan sidan före dig äger den personen din betalserver. Registrera dig, titta sedan under Server Settings → Policies och ställ in nya registreringar som du vill ha dem.
Skapa sedan en butik och koppla din plånbok med dess utökade publika nyckel (xpub) — från en hårdvaruplånbok eller exporten från din datorplånbok. BTCPay härleder en ny adress för varje faktura och ser aldrig någon privat nyckel. Använd en ny plånbok eller ett nytt konto för detta i stället för ett med flera års historik: en prunad nod trivs bäst med att följa vad som händer från och med nu.
Tills noden har kommit ikapp visar BTCPay att den fortfarande synkroniserar och bevakar inga betalningar. Planera lanseringen till efter synkroniseringen, inte till kvällen du installerar.
Bra att veta innan du går live
- Den första synkroniseringen är lång. En prunad nod laddar ändå ner och verifierar hela kedjan — mer än 700 GB — innan den kan kasta gamla block. Trafiken på våra planer är obegränsad på 1 Gbit/s, så det kostar inget extra, men på en server med 4 vCPU får du räkna i dagar. Det finns ett snabbsynkskript i repot; det hoppar över arbetet genom att lita på någon annans kopia av UTXO-mängden, vilket undergräver en del av skälet att köra en egen nod.
- Uppdateringar.
btcpay-update.shhämtar senaste BTCPay och dess beroenden. Kör det en lugn timme, inte mitt under en rea. - Vad du ska säkerhetskopiera. Med en plånbok som bara är kopplad via xpub ligger dina mynt inte på servern. Det du skulle förlora är butiksuppsättningen och fakturahistoriken i Postgres — säkerhetskopiera den volymen och förvara plånbokens seed någonstans som inte har med den här servern att göra.
- Lightning senare. Börja on-chain. Lightning innebär ett större blockfönster, kanalhantering och inkommande likviditet — ett projekt i sig, och en Pro-plan som vi sätter upp på förfrågan.
Min bedömning: för en liten butik som tar emot bitcoin en gång om dagen är BTCPay på Small-IP den renaste lösningen som finns. Behöver du kortbetalningar eller utbetalningar i fiat är det här inte rätt verktyg.
Relaterat
- Kör en egen Bitcoin-nod på en VPS: bara noden, om du vill verifiera din plånbok
- Kör en egen Monero-nod på en VPS
- Crypto VPS: betala servrar med krypto
- VPS för en webbplats på egen IP: butiken som skickar kunderna till BTCPay
- Så konfigurerar du en ufw-brandvägg
Kommentarer
Inga kommentarer än. Bli först.