−25%

på Windows vid årsbetalning, till 31/10. Till paketen

EQVPS
Kom igång

VPS för BTCPay Server: ta emot krypto själv

BTCPay Server med egen prunad Bitcoin-nod: betalningar direkt till din plånbok, ingen mellanhand. Testad installation och diskkalkyl för 35 GB.

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ättningPlan
BTC on-chain, prunad nod med ~5 GB blockSmall-IP: 4 vCPU, 4 GB, 35 GB ($16/mån)
Samma sak, med mer marginal för loggar och uppdateringarMedium-IP: 6 vCPU, 6 GB, 45 GB ($20/mån)
Lightning, ett större blockfönster eller ett andra myntPro-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.sh hä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

Redo att distribuera? Betala med krypto, ingen KYC — igång på ungefär en minut.

Distribuera nu →

FAQ

Hur mycket disk behöver BTCPay Server?

Med profilen opt-save-storage-xxs behåller Bitcoin-noden bara omkring 5 GB block. Ovanpå det kommer chainstate (UTXO-mängden, runt ett dussin GB och växande), ungefär 2,5 GB Docker-avbilder och systemet. Det får plats i Small-IP:s 35 GB. Nästa profil, opt-save-storage-xs, behåller ensam 25 GB block och kräver en Pro-plan, som finns på förfrågan.

Hur lång tid tar den första synkroniseringen?

Dagar, inte timmar. Även en prunad nod laddar ner och verifierar hela Bitcoins blockkedja — mer än 700 GB trafik — och kastar först därefter gamla block. Trafiken är obegränsad på våra planer, så nedladdningen kostar inget extra, men BTCPay ser inga betalningar förrän noden har kommit ikapp.

Förvarar BTCPay mina mynt?

Inte om du kopplar en plånbok via dess utökade publika nyckel (xpub). Servern kan då skapa adresser och bevaka betalningar, men har inga privata nycklar och kan inte spendera något. Förlorar du servern förlorar du butiksinställningarna, inte pengarna.

Behöver jag en egen IP-adress?

Ja. Din butik och dina kunders webbläsare måste nå BTCPay på port 443, och Let's Encrypt behöver port 80 för att utfärda certifikatet. En NAT-plan tar bara emot din SSH-port utifrån.

Kan den ta emot Lightning eller Monero också?

Båda finns som tillval, men inget av dem passar de små planerna. En Lightning-nod vill ha ett större blockfönster och mer omsorg än betalningar on-chain; en Monero-nod behöver långt mer disk än en prunad Bitcoin-nod. Börja med bitcoin on-chain på Small-IP; för något av dem, fråga oss om en Pro-plan.

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.