Quiero hacer un programa/secuencia de comandos básico que utilice pagos de Bitcoin, pero no tengo el espacio de almacenamiento para sincronizar con toda la cadena de bloques, y no quiero depender de una API de terceros como las que ofrece la cadena de bloques. .info o block.io.
Básicamente, necesito una billetera con estas tres propiedades:
Estoy vagamente familiarizado con clientes ligeros como Electrum
, MultiBit
y MultiBit HD
, y sé que Electrum incluso tiene una CLI, pero no parece haber nada en su documentación sobre la generación de nuevas direcciones:
https://docs.electrum.org/en/latest/cmdline.html
He leído que las billeteras Electrum funcionan con una cola de direcciones y generan nuevas automáticamente después de que se han utilizado, por lo que incluso si pudiera obtener una lista de direcciones asociadas con la billetera, podría obtener algo como la funcionalidad que quiero. Pero, de nuevo, la CLI parece realmente limitada.
En general, estoy frustrado. Seguramente hay una manera de hacer lo que estoy tratando de hacer, y si no hay una solución obvia, ¿por qué no? Parece contradictorio que deba usar servicios centralizados y API para la funcionalidad básica de la billetera solo porque no puedo permitirme alquilar un servidor con más de 90 GB de espacio para almacenar la cadena de bloques.
Si no desea ejecutar un nodo o usar API de terceros, puede usar una biblioteca, ya que solo desea aceptar pagos.
Use una clave pública extendida de una de sus billeteras y genere nuevas direcciones desde el HD xpub usando una biblioteca. Cuando un usuario paga, aparecerá en la billetera de su teléfono/PC.
Por ejemplo, con la biblioteca Bitcore sería:
var bitcore = require("bitcore-lib");
var pub = new bitcore.HDPublicKey('xpubMyHDPublicKey');
var derivedHdPublicKey = pub.derive('m/0/1');
//increment up the keychain m/0/2, m/0/3, etc each order
var derivedPublicKey = derivedHdPublicKey.publicKey;
var address = new bitcore.Address(derivedPublicKey);
console.log(address);
Luego, solo realice un seguimiento de los pedidos y las direcciones en la base de datos de su servidor.
El Mycelium Gear es probablemente la forma más práctica de hacerlo. Si bien técnicamente es un tercero, el dinero no se enruta a través de ellos y, por lo tanto, no hay KYC/AML, censura ni comisión. Mycelium Gear simplemente le notifica sobre los pagos entrantes en función de su billetera HD xpubkey.
Alternativamente, puede configurar su software de código abierto usted mismo.
pieter wuille
usuario45779