Всеки платежен посредник по средата идва със свои условия, свой KYC и свой бутон за замразяване на баланса. BTCPay Server маха средата. Фактурата се създава на вашия сървър, клиентът плаща на адрес, изведен от вашия портфейл, а плащането го потвърждава собственият ви Bitcoin възел. Никой освен вас не може да го спре.
Това е за магазини, фрийлансъри и услуги, които вече приемат bitcoin — или искат — и не желаят да дават тази работа на компания.
Кой план
BTCPay е около седем контейнера: самото приложение, NBXplorer (той следи блокчейна), Bitcoin Core, Postgres и nginx на входа с автоматичен Let's Encrypt. На тестовия ни сървър при старт заеха около 0,7 GB RAM, а по време на синхронизация 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: клиентите стигат до BTCPay по HTTPS, а Let's Encrypt трябва да стигне до порт 80. Изберете Германия или Финландия — каквото е налично при поръчка; за страница за плащане закъснението почти няма значение. И след като целият смисъл е приемането на крипто, уместно е и самият сървър да се плаща с крипто, без KYC.
Инсталация
Насочете pay.example.com към сървъра, после като root на чист Ubuntu 24.04 или 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
Именно opt-save-storage-xxs позволява всичко да се побере: Bitcoin Core орязва блоковете до 5 GB. Скриптът изтегля образите, създава systemd услуга btcpayserver и пуска всичко. По пътя рестартира и демона на Docker — още една причина да дадете на BTCPay отделен сървър, вместо да го натиквате до други контейнери.
Проверете възела:
bitcoin-cli.sh getblockchaininfo
Гледайте blocks спрямо headers и "pruned": true. След двадесет минути от теста ни имаше около 218 000 от приблизително 972 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 — архивирайте този том, а seed фразата на портфейла пазете там, където няма нищо общо с този сървър.
- Lightning — по-късно. Започнете с основната мрежа. Lightning означава по-голям прозорец от блокове, управление на канали и входяща ликвидност: отделен проект и план Pro, който настройваме по заявка.
Моето мнение: за малък магазин, който приема bitcoin веднъж на ден, BTCPay на Small-IP е най-чистата схема, която има. Ако ви трябват плащания с карти или изплащания във фиат, това не е инструментът.
Свързано
- Собствен Bitcoin възел на VPS — само възелът, ако искате просто да проверявате портфейла си
- Собствен Monero възел на VPS
- Crypto VPS — плащане на сървъри с крипто
- VPS за сайт на собствен IP — магазинът, който праща клиентите към BTCPay
- Как да настроите защитна стена ufw
Коментари
Още няма коментари. Бъди първият.