Usando los módulos de BitCash.py para la programación de Bitcoin Cash

0 43
Avatar for JZA
Written by
4 years ago

Usando los módulos de BitCash.py para la programación de Bitcoin BitCash

Hace poco se liberó la primera versión de un módulo en python que ayuda a la generación de transacciones en el blockchain de Bitcoin Cash. Con este módulo el usuario podrá:

  • generar direcciones de BCH

  • generar llaves y manejarlas

  • crear transacciones

  • checar el balance de las cuentas

Instalación

Este módulo en Python es muy fácil de instalar, asegurate que tienes Python 3.5 o superior. Podrás instalarlo con el gestor de módulos de python -- pip.

Ejecuta:

``pip install bitcash``

Si quieres confirmar que existe, puedes verlo antes con el comando search de pip y veras la versión actual. En el momento de este artículo se tiene la versión 0.5.3.3.

```pip search bitcash

bitcash (0.5.3.3) - Bitcoin Cash made easier.

```

Con esto tendremos las herramientas disponibles para hacer las siguentes operaciones.

Operación de las diferentes operaciones

Para poder ver los métodos de bitcash podemos ejecutar nuestra consola dinámica y aplicar la funcion dir() para leerlas. Esto nos mostrará varias pero las principales serán. las siguientes.

```

$ python

>>> import bitcash

>>> dir(bitcash)

['Key', 'PrivateKey', 'PrivateKeyTestnet', 'SUPPORTED_CURRENCIES', 'builtins', 'cached', 'doc', 'file', 'loader', 'name', 'package', 'path', 'spec', 'version', 'base58', 'crypto', 'curve', 'exceptions', 'format', 'network', 'set_rate_cache_time', 'set_service_timeout', 'transaction', 'utils', 'verify_sig', 'wallet', 'wif_to_key']

```

Con esto podremos identificar algunas funciones claves como Key la cual nos generará una llave. Esta llave es la cuenta en la cual existirá en el blockchain de Bitcoin Cash.

```

>>> from bitcash import Key

>>> k = Key()

>>> k.address

'bitcoincash:qp0hamw9rpyllkmvd8047w9em3yt9fytsunyhutucx'

```

Hemos creado nuestra cuenta de Bitcoin Cash, ahora queremos ver nuestro balance. Podemos usar dir() también para explorar nuestros métodos dentro del Key.

```

>>> dir(bitcash.Key)

['class', 'delattr', 'dict', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'gt', 'hash', 'init', '__init_subclass', 'le', 'lt', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref__', 'address', 'balance_as', 'create_transaction', 'from_bytes', 'from_der', 'from_hex', 'from_int', 'from_pem', 'get_balance', 'get_transactions', 'get_unspents', 'is_compressed', 'prepare_transaction', 'public_key', 'public_point', 'scriptcode', 'send', 'sign', 'sign_transaction', 'to_bytes', 'to_der', 'to_hex', 'to_int', 'to_pem', 'to_wif', 'verify']

```

Aquí usaremos los métodos de **get_balance y send. También podrémos ver algunas otras funcionalidades como address** que usamos previamente. Sin embargo ahora veremos el balance que tenemos en esta dirección.

```>>> k.get_balance('usd')

'2'

```

Aquí pudimos ver que tenemos 2 dolares, de hecho no los tenemos pero supongamos que pasamos esta cantidad desde otra wallet. Si no lo has hecho es muy probable que tengas 0 dolares. Recuerda que esta libreria soporta un número limitado de divisas. Puedes ver estas en su github en el archivo rates.py.

A continuación haremos una transacción a una dirección existente en Coinbase. Para eso usaremos una lista que llamaremos transaccion. Dentro de esta tendremos una tupla que incluira la dirección de destino, el monto y la denominación.

Una vez efectuada esta transacción veremos el hash de transacción el cual nos confirma su ubicación en el blockchain.

```

>>> # vamos a donar de nuestros dos dolares imaginarios a otra dirección.

>>> transaccion = [

>>> ('bitcoincash:qz69e5y8yrtujhsyht7q9xq5zhu4mrklmv0ap7tq5f', 1, 'usd'),

>>> # de ser necesario podrías meter mas cuentas en esta lista

>>> ]

>>>

>>> k.send(transaccion)

'6aea7b1c687d976644a430a87e34c93a8a7fd52d77c30e9cc247fc8228b749ff'

```

Conclusión

Esta fue solo una pequeña prueba para poder usar este módulo en Bitcoin Cash usando Python. Existen otras funciones como ver nuestra llave privada, ya que si no lo tenemos podemos perder el dinero que pusimos en esta cuenta.

También podemos generar una contraseña corta llamada WIF así como multiples transacciones simultaneas. Con un buen script podremos quizas generar estas transacciones a partir de una hoja de calculo o separada por comas.

Si tienes otra idea u otros módulos interesantes, ponlos en los comentarios.

1
$ 0.00
Avatar for JZA
Written by
4 years ago

Comments