- Si bien existen diferentes opciones para aceptar Monero como comerciante, lo cierto es que BTCPay Server es actualmente una de las mejores opciones por su completa auto-soberanía, flexibilidad para realizar modificaciones e incluso la capacidad para aceptar otras monedas como Bitcoin o Lightning.
- En este vídeo te voy a enseñar a configurar e instalar BTCPay Server en un VPS para que puedas aceptar pagos, donaciones o simplemente tips, en la única moneda que protege la privacidad de TODOS sus usuarios, en Monero.
- Eso si, no sin antes agradecer a sethfroprivacy por su estupenda guía en ingles que me ayudó muchísimo en la elaboración de este vídeo, también al eqiupo de BTCPay Server por toda la información muy bien documentada en su sitio web.
Que es BTCPay Server?
BTCPay Server es una pasarela de pago gratuita originalmente para bitcoin pero ahora mismo disponible en otras monedas como Monero, es de código abierto y autoalojada que permite a particulares y empresas aceptar pagos en línea o en persona sin ningún coste. El dinero va directamente a tu billetera. Sin cargos, ni intermediarios mientras los datos permanecen privados. No necesita KYC
Como funciona BTCPay Server?
BTCPay Server es un sistema de facturación automatizado y auto-hospedado. En el momento del pago, el cliente recibe un invoice o factura que debe pagar desde su wallet. BTCPay Server sigue el estado del pago a través de la cadena de bloques y te informa cuando el pago se ha liquidado para que pueda completar el pedido. Se puede configurar para que se encargue de la devolución del pago, gestión de monedas, entre otras muchas funciones.
Porqué usar Monero en BTCPay Server?
- Monero es la única moneda digital que protege la privacidad de los usuarios de forma predeterminada. A diferencia de las monedas transparentes, un usuario novato que realiza un pago en una tienda que acepta Monero, su privacidad no se vería afectado incluso si no conoce nada del tema.
- De esta forma Monero ofrecerá privacidad tanto para el vendedor como para el comprador.
- Realizar un pago en Monero puede resultar mucho mas barato para el usuario que hacerlo en otras monedas.
Hardware Recomendado
- BTCPay Server utilizará por defecto un nodo podado de Monero.
- 2+ VCPUs/Cores
- 4GB+ RAM
- 80GB+ SSD
Nos vamos a enfocar un poco en el aspecto de privacidad y los siguientes dos puntos son opcionales, es decir, puedes o no utilizar lo que te voy a recomendar a continuación.
SimpleLogin (Opcional)
- Utilizaremos un alias para registrarnos en nuestro proveedor de VPS, para ello utilizaremos simplelogin. Una herramienta de código abierto y gratuita que protege tu dirección de correo electrónico del mundo real utilizando direcciones personalizadas, aleatorias y desechables sobre la marcha.
- Importante señalar que podríamos auto-alojar esta herramienta, sin embargo esto lo dejaremos para otro tutorial.
- Asi que nada, nos registramos y creamos nuestro primer alias que utilizaremos para crear una cuenta en 1984Hosting.
1984 Hosting VPS (Opcional)
- Como vamos a correr BTCPay Server en un Virtual Private Server (VPS) utilizaremos el servicio de 1984, un hosting bastante enfocado en la privacidad ubicado en Iceland, lo que nos da fuertes garantías de privacidad y seguridad.
- También nos permitirá crearnos una cuenta y correr un VPS sin necesidad de aportar ningún dato personal, además lo mas importante, podremos pagar con Monero.
- Para crearnos una cuenta NO ES NECESARIO utilizar un número de teléfono y en mi caso estoy utilizando un alias en lugar de mi correo electrónico habitual y generando una contraseña bastante fuerte utilizando Bitwarden, un gestor de contraseñas de código abierto.
- Le damos a crear cuenta y ya con esto estaríamos listo.
Crear y configurar nuestro VPS
- Una vez hayamos creado una cuenta en 1984 hosting utilizando simpleloging para proteger nuestra dirección de correo electrónico real y bitwarden para generar una contraseña fuerte, el siguiente paso será pagar por nuestro VPS.
- Seleccionaremos un VPS con las especificaciones necesarias de hardware recomendado.
- Vamos a colocar una contraseña de root fuerte utilizando Bitwarden, pero también es muy recomendable configurar SSH.
- SSH (secure shell) ofrece una forma muchísimo más segura de ejecutar comandos en sistemas Linux remotos desde el terminal en comparación con el uso de autenticación usuario-contraseña, ya que está encriptado y por lo tanto es muy recomendable para todos los usuarios. Para ello:
- Lo primero que haremos será generar un par de claves en nuestro ordenador local:
$ ssh-keygen -b 4096
colocamos una contraseña fuerte y le damos enter.$ cat ~/.ssh/id_rsa.pub
Copiamos el resultado en el espacio correspondiente en nuestro VPS.- Lo añadimos al carrito y pagamos con Monero.
- Ya estamos listos para seguir.
- Para utilizar BTCPay Server, necesitarás un dominio personalizado que desees utilizar para la instancia.
- Recomiendo comprar un dominio a través de Njalla o en este caso en 1984 y luego añadir una entrada para la dirección IP pública de tu VPS con el subdominio que te gustaría.
- Yo, por ejemplo, uso btcpay.monerista.com para alojar el mío.
- Fué adquirido en su momento en Namecheap aunque estoy pensando en trasladarlo a 1984. Mas adelante te muestro rápidamente como puedes añadir un subdominio para utilizarlo en tu instancia de BTCPay server.
Acceder a tu VPS
- Para acceder utilizaremos el siguiente comando desde nuestra terminal en nuestro ordenador local:
$ ssh root@LA_IP_DE_TU_VPS
- De forma automática (al menos en linux mint) nos pedirá que validemos la orden e introduzcamos nuestra contraseña (la que hemos puesto a la hora de generar nuestras llaves SSH)
Crear el subdominio
Antes de comenzar crearemos el sub-dominio que utilizaremos como dirección para nuestra instancia de BTCPay Server. Te muestro rápidamente como hacerlo en Namecheap.
Acutalizar el servidor
- Realizaremos un pequeño update antes de comenzar
sudo apt-get update
sudo apt-get upgrade
Añadir seguridad
- Vamos a querer asegurarnos de que el sistema está reforzado de una manera sencilla, asegurándonos de que el firewall está bloqueado para permitir sólo el acceso a los puertos necesarios para SSH y BTCPay Server, utilizando UFW.
- Ejecutaremos los siguientes comandos para crear algunas reglas básicas:
- *# Deny all non-explicitly allowed ports* sudo ufw default deny incoming sudo ufw default allow outgoing *# Allow SSH access* sudo ufw allow ssh *# Allow HTTP for LetsEncrypt verification* sudo ufw allow http *# Allow HTTPS for the BTCPay Server UI* sudo ufw allow https *# Enable UFW* sudo ufw enable
Preparación inicial
Logea como Root
sudo su
mkdir BTCPayServer
cd BTCPayServer
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
Esto creará las carpetas necesarias en el directorio raíz de su usuario root y te situará en el directorio correcto para configurar e instalar BTCPay Server.
Antes de Instalar Monero Only
# Run btcpay-setup.sh with the right parameters # Set the custom domain you chose to use export BTCPAY_HOST=“btcpay.EXAMPLE.com” # Enable Monero support export BTCPAYGEN_CRYPTO1=“xmr” # opt-save-storage-xs (opens new window)will keep around 3 months of blocks (prune BTC for 25 GB) # opt-add-tor enables Tor support for the UI and Bitcoin node export BTCPAYGEN_ADDITIONAL_FRAGMENTS=“opt-add-tor” # Enable automatic HTTPS reverse proxy + SSL certs via Nginx and LetsEncrypt export BTCPAYGEN_REVERSEPROXY=“nginx” # Allows you to manage the BTCPay Server install from the web UI, update, etc. export BTCPAY_ENABLE_SSH=true
Ahora simplemente instala:
. ./btcpay-setup.sh -i
Crea una cuenta en la tienda
Lo primero que tendrás que hacer es crear una cuenta en tu nueva instancia – asegúrate de utilizar un correo electrónico seguro y una contraseña segura (¡ojalá a través de un gestor de contraseñas como Bitwarden!)- para poder crear tiendas, gestionar monederos, etc.
Sigue la documentación oficial para hacerlo aquí: Registrar cuenta – docs.btcpayserver.org
Una vez que haya iniciado sesión, usted querrá seguir adelante y crear una tienda para gestionar carteras, facturas, etc para la tienda dada.
Siga los documentos oficiales para hacerlo aquí: Crear una tienda – docs.btcpayserver.org
Configura tu wallet de solo vista Monero
Para ello puedes utilizar Feathe Wallet para crear una billetera de solo vista.
Luego solo debes añadirla a BTCPayServer

Selecciona la opcion Modificar:

Sube los archivos generados al crear la wallet de solo vista:

Esto es todo!!