Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josemariasosa/nuit-btc
Implementación de una Cartera Jerárquica Determinista (HD wallet) para Bitcoin (BTC).
https://github.com/josemariasosa/nuit-btc
bitcoin cryptocurrency wallet
Last synced: about 1 month ago
JSON representation
Implementación de una Cartera Jerárquica Determinista (HD wallet) para Bitcoin (BTC).
- Host: GitHub
- URL: https://github.com/josemariasosa/nuit-btc
- Owner: josemariasosa
- Created: 2021-08-04T18:32:10.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-28T14:12:30.000Z (about 3 years ago)
- Last Synced: 2023-03-05T10:34:13.086Z (almost 2 years ago)
- Topics: bitcoin, cryptocurrency, wallet
- Language: Python
- Homepage:
- Size: 6.89 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nuit-BTC Wallet
🐈-₿Implementación de una **Cartera Jerárquica Determinista** para Bitcoin (BTC).
La implementación será llevada a cabo en Python, y estará acompañada de una documentación extensa en Español, con el objetivo de que pueda servir como guía para personas interesadas en aprender o desarrolar software propio.
El **objetivo** de esta implementación es principalmente didáctico. Cada paso será explicado en la documentación.
Para la implementación del algoritmo [criptográfico de curva elíptica (ECDSA)](https://github.com/josemariasosa/nuit-btc/blob/master/docs/crypto.md#criptograf%C3%ADa-de-curva-el%C3%ADptica-ecdsa) en Python se utilizó como referencia el libro de [**Programming Bitcoin**](https://github.com/jimmysong/programmingbitcoin) de Jimmy Song.
## Contenido
- [Cartera Jerárquica Deterministica](/docs/hdwallet.md)
- [Generación de palabras mnemónicas (BIP-39)](/docs/mnemonic.md)
- [Generación de llaves extendidas (BIP-32)](/docs/extended_key.md)## Comienzo Rápido
### 1. Generación de semilla y palabras mnemónicas
Generar una semilla de manera aleatoria y rápida:
```python
from key.mnemonic import Mnemonicm = Mnemonic(language="spanish", number_of_words=12)
secret = m.generate_user_keys()print('mnemonic: ', secret.get('mnemonic'))
print('seed: ', secret.get('seed'))# mnemonic: echar perla turno tomar anillo viudo pizca envío grúa calma boa cien
# seed: e83814fac124edf61aaed1f4e6c6c29a4ff774b82e096ab2bc2b086d7035eaee4c23a3a823b193515ba755159a4b60e5c7f0ad36b66a57ae13f8af8c6aebd7ad
```Es posible, y muy recomendable, que la entropía sea provista por el usuario de manera manual, lanzando un dado al menos en 99 ocasiones. Esto se consigue utilizando el argumento `manually=True`.
```python
m = Mnemonic(language="spanish", number_of_words=12)
secret = m.generate_user_keys(manually=True)print('mnemonic: ', secret.get('mnemonic'))
print('seed: ', secret.get('seed'))# -> Inserta el resultado del lanzamiento [1-6].
# -> Únicamente valores entre 1 y 6 están permitidos.
# -> Capturar al menos 99 lanzamientos.
# -> Para terminar capture cualquier valor no permitido.# Resultado del lanzamiento (1): 3
# Resultado del lanzamiento (2): 4
# Resultado del lanzamiento (3): 5
# Resultado del lanzamiento (4): 2
# Resultado del lanzamiento (5): 3
# Resultado del lanzamiento (6): 4
# Resultado del lanzamiento (7): 2
# Resultado del lanzamiento (8):
# WARNING: Input is only 18.095 bits of entropy# mnemonic: hoguera ofrecer tejado cohete goma trufa tapón humano engaño tira reunir cita
# seed: 5459e51dd1949ec27e0c70a4542001017b2122109ad50e1773db890c145689a99430fa9722e3726b1f1ca6aa37002e8849c24e25d6181c549c2cb2e8e213ad17
```## La Nuit ⽉
```
Porque la Nuit también quiere tener sus satoshis guardados de manera segura.
```