−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

BTCPay Server VPS:在自己的伺服器上收加密貨幣

自帶修剪 Bitcoin 節點的 BTCPay Server:付款直接進入你的錢包,中間沒有金流商。經過實測的安裝步驟,以及 35 GB 磁碟的容量估算。

每一個夾在中間的金流商,都帶著自己的條款、自己的 KYC,以及一個能凍結你餘額的按鈕。BTCPay Server 把中間這一環拿掉了。發票在你的伺服器上產生,顧客付款到從你錢包衍生出的位址,由你自己的 Bitcoin 節點確認入帳。除了你,誰也關不掉它。

它適合已經在收 bitcoin——或者想收——又不想把這件事交給某家公司的商店、自由工作者和服務。

選哪個方案

BTCPay 大約由七個容器組成:BTCPay 應用程式、監看鏈上資料的 NBXplorer、Bitcoin Core、Postgres,以及前面自動處理 Let's Encrypt 的 nginx。在我們的測試伺服器上,啟動時約佔 0.7 GB 記憶體,同步期間 Bitcoin Core 會用得更多;4 GB 綽綽有餘。真正的瓶頸是磁碟,而不是記憶體。

配置方案
鏈上 BTC,修剪節點保留約 5 GB 區塊Small-IP:4 vCPU、4 GB、35 GB(每月 $16)
同上,為記錄檔和更新多留些餘裕Medium-IP:6 vCPU、6 GB、45 GB(每月 $20)
Lightning、更大的區塊視窗或第二種幣Pro-32:8 vCPU、32 GB、400 GB(每月 $40),依需求申請

你需要有獨立 IPv4 的方案:顧客透過 HTTPS 連到 BTCPay,Let's Encrypt 也必須能連到 80 連接埠。伺服器位於歐盟,共有兩個地點,下單時可看到哪裡有空位——對付款頁面來說,延遲幾乎無關緊要。既然目的就是收加密貨幣,伺服器本身也能免 KYC 用加密貨幣付款,正合適。

安裝

把 pay.example.com 指向伺服器,然後在全新的 Ubuntu 24.04 或 Debian 12 上以 root 身分執行:

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

能放得下,靠的是 opt-save-storage-xxs:Bitcoin Core 會把區塊修剪到 5 GB。腳本會拉取映像,建立名為 btcpayserver 的 systemd 服務並啟動全部元件。過程中它還會重新啟動 Docker 常駐程式——這又是一個理由:給 BTCPay 一台獨立伺服器,而不是把它塞在別的容器旁邊。

檢查節點:

bitcoin-cli.sh getblockchaininfo

比對 blocks 和 headers,並確認 "pruned": true。測試進行到第二十分鐘時,約 972,000 個區塊已同步約 218,000 個——早期區塊非常小,別據此推算。真正的工作在後面。

首次登入:馬上就做

https://pay.example.com 一有回應就立刻打開。BTCPay 會帶你到註冊頁面,而第一個帳號會成為伺服器管理員。如果別人比你先找到這個頁面,你的收款伺服器就歸了對方。註冊完成後,到 Server Settings → Policies 依你的需要設定新使用者註冊。

接著建立商店,用延伸公鑰(xpub)連接你的錢包——可以來自硬體錢包,也可以來自桌面錢包的匯出。BTCPay 為每張發票衍生新位址,從不接觸私鑰。請為此使用新錢包或新帳戶,而不是有多年歷史的舊錢包:修剪節點最擅長追蹤從現在開始發生的事情。

在節點追上網路之前,BTCPay 會顯示仍在同步,也不會監看付款。上線時間請安排在同步完成之後,而不是安裝當晚。

正式上線前須知

  • 首次同步很長。 修剪節點同樣要先下載並驗證整條鏈——超過 700 GB——然後才能丟棄舊區塊。我們的方案流量在 1 Gbit/s 下不限量,不額外收費,但在 4 vCPU 的伺服器上要以天計算。儲存庫裡有一個快速同步腳本,它藉由信任別人提供的 UTXO 集副本來跳過這一步,這在一定程度上抵消了自己運行節點的意義。
  • 更新。 btcpay-update.sh 會拉取最新版 BTCPay 及其相依套件。請在清閒時段執行,別在促銷進行中。
  • 備份什麼。 只用 xpub 連接的錢包,幣不在伺服器上。可能遺失的是 Postgres 裡的商店設定和發票歷史——備份這個 volume,並把錢包助記詞放在與這台伺服器毫無關係的地方。
  • Lightning 以後再說。 先從鏈上開始。Lightning 意味著更大的區塊視窗、通道管理和入站流動性——本身就是一個專案,需要的 Pro 方案我們可依需求設定。

我的看法:對於每天收一次 bitcoin 的小商店,Small-IP 上的 BTCPay 是最乾淨的方案。如果你需要刷卡收款或法幣提領,這不是你要的工具。

相關內容

準備好部署了嗎?以加密貨幣付款,免 KYC——大約一分鐘上線。

立即部署 →

常見問題

BTCPay Server 需要多少磁碟?

使用 opt-save-storage-xxs 設定檔時,Bitcoin 節點只保留約 5 GB 區塊。再加上 chainstate(UTXO 集,十幾 GB 且持續成長)、約 2.5 GB 的 Docker 映像和作業系統。這些都能放進 Small-IP 的 35 GB。下一檔設定 opt-save-storage-xs 光是區塊就要 25 GB,需要 Pro 方案,可依需求申請。

首次同步要多久?

以天計,而不是以小時計。即使是修剪節點,也要下載並驗證整條 Bitcoin 區塊鏈——超過 700 GB 流量——之後才會丟棄舊區塊。我們的方案流量不限,下載不會產生額外費用,但在節點追上網路之前,BTCPay 看不到付款。

BTCPay 會保管我的幣嗎?

如果你用延伸公鑰(xpub)連接錢包,就不會。伺服器可以產生位址、監看付款,但它沒有私鑰,什麼也花不出去。弄丟伺服器,丟的是商店設定,不是錢。

需要獨立 IP 嗎?

需要。你的商店和顧客的瀏覽器必須能透過 443 連接埠連到 BTCPay,Let's Encrypt 簽發憑證也需要 80 連接埠。NAT 方案從外部只接受你的 SSH 連接埠。

它也能收 Lightning 或 Monero 嗎?

兩者都有對應選項,但都放不進小方案。Lightning 節點比鏈上付款需要更大的區塊視窗和更多照顧;Monero 節點需要的磁碟遠多於修剪後的 Bitcoin 節點。先在 Small-IP 上從鏈上 bitcoin 開始;需要其中任何一個,請向我們詢問 Pro 方案。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。