Durante 10 meses he mantenido la biblioteca Java BCH, bitcoincashj. By @Pokkst

0 34

Articulo obtenido de Read.cash

Idioma: Inglés

Autor: @Pokkst

Título original: For 10 months I have been maintaining the Java BCH library, bitcoincashj. Here's what has changed!

Me gusta Java para programar. Para mí, es fácil desarrollar prototipos rápidos para. También es el idioma utilizado para las aplicaciones de Android. Debido a esto, me gustó usar bitcoinj cuando desarrollé aplicaciones BTC en el pasado.

En marzo de 2019 me cambié a Bitcoin Cash. Puede leer sobre eso aquí: https://pokkst.xyz/bch/

Como quería portar mis aplicaciones existentes a Bitcoin Cash, necesitaba una biblioteca bitcoinj activa para Bitcoin Cash. Miré a http://bitcoinj.cash pero cuando me mudé a Bitcoin Cash, el responsable de este tenedor se mudó a BSV.

Tenía lo que necesitaba, pero tenía algunos problemas. No era compatible con las últimas actualizaciones del protocolo. También tenía algunas semillas DNS obsoletas como se ve aquí: https://github.com/bitcoinj-cash/bitcoinj/blob/cash-0.14/core/src/main/java/org/bitcoinj/params/MainNetParams.java#L76

Debido a una actualización del protocolo después de que el mantenedor anterior dejó de admitir BCH, las billeteras SPV creadas sobre bitcoincashj tuvieron algunos problemas a veces debido a CTOR.

Entonces, yo y otro tipo con el nombre de ProtocolCash comenzamos a trabajar en una bifurcación compatible con CTOR de bitcoinj.cash. Hizo la mayor parte del trabajo, pero luego encontré más problemas con su implementación, así que modifiqué un poco su algoritmo y lo implementé en más lugares dentro del sistema bitcoincashj, y ahora funciona sin problemas (hasta donde yo sé).

Durante este tiempo, comencé a trabajar para actualizar otras porciones. Originalmente, bitcoinj.cash (y bitcoinj) usaban la ruta de derivación m / 0 '. Este no es el estándar actual para las rutas de derivación de monedas, así que comencé a trabajar para cambiar esto a la ruta de derivación BCH estándar m / 44 '/ 145' / 0 '( https://github.com/pokkst/bitcoincashj/commit/a07d9e9d6a904bc1e33a5c78ac7e4bca59c8278c , ignora el archivo perm fuckup)

A continuación, implementé el soporte de envío de cuenta de efectivo en SendRequest.java. Esto permite que cualquier aplicación construida sobre bitcoincashj pueda enviar de forma nativa a los usuarios de la cuenta de efectivo.

Más tarde, implementé la lista de puntos de control actualizada (en ese momento) e implementé el registro nativo de la cuenta de efectivo. ( https://github.com/pokkst/bitcoincashj/commit/d84b25c954aaaf6e949ceb370788f6c8aa726d87 ). Luego lo simplifiqué y solucioné un problema con OP_RETURN ( https://github.com/pokkst/bitcoincashj/commit/df1b032607898552087d92616a018fca205bb634 ).

Luego agregué la administración de UTXO en SendRequest para que las billeteras puedan especificar cuál de sus UTXO gastar. ( https://github.com/pokkst/bitcoincashj/commit/e148c9549e3288ddf94e699b9d9926c4e9bed548 )

Entonces aquí está la parte divertida y la característica más reciente que se implementará en bitcoincashj: ¡el Protocolo de libro mayor simple! La confirmación inicial está aquí: https://github.com/pokkst/bitcoincashj/commit/df5cec966db3968ab896f637208a9e1169de904d

Puede leer una explicación detallada de cómo hice que SLP funcionara en bitcoincashj aquí: https://read.cash/@pokkst/bitcoincashj-and-slp-integration-3f7803a0

Con todos estos cambios, mi versión de bitcoincashj tiene:

  • Soporte CTOR

  • Soporte de bloque de 32 MB

  • Integración de cuenta de efectivo nativa (registro y envío sin confianza)

  • Fichas SLP

  • Derivación BIP44 estándar (m / 44 '/ 145' / 0 'para BCH, m / 44' / 245 '/ 0' para SLP)

  • Gestión de UTXO al enviar monedas utilizando SendRequest.utxos

  • Puntos de control de hardfork actualizados

No tengo la intención de dejar de mantener este tenedor, pero es muy agotador asegurarme de que esté actualizado, así que agregué una dirección a README.md que puede donar para ayudarme a seguir adelante:

bitcoincash: qptnypuugy29lttleggl7l0vpls0vg295q9nsavw6g

Espero que hayas disfrutado leyendo esto.

Gracias @pokkst por este artículo nos permitió conocer sobre tu historia durante 10 meses. Eres genial!!

1
$ 0.25
$ 0.25 from @Read.Cash

Comments