@miguelleonmarti/bitcoincli

1.3.0 • Public • Published

Blockchain CLI

 ____         __
/\  _`\    __/\ \__                __
\ \ \L\ \ /\_\ \ ,_\   ___    ___ /\_\    ___
 \ \  _ <'\/\ \ \ \/  /'___\ / __`\/\ \ /' _ `\
  \ \ \L\ \\ \ \ \ \_/\ \__//\ \L\ \ \ \/\ \/\ \
   \ \____/ \ \_\ \__\ \____\ \____/\ \_\ \_\ \_\  __  __  __
    \/___/   \/_/\/__/\/____/\/___/  \/_/\/_/\/_/ /_/ /_/ /_/

NPM Version NPM Downloads

CLI (Command Line Interface) para realizar peticiones HTTP a los nodos de una red descentralizada (blockchain).

Índice

  1. Estructura del proyecto
  2. Comandos
  3. Librerías utilizadas
  4. Setup del proyecto

Estructura del proyecto

.
├── node_modules                        # código de las librerías descargadas
├── bin                                 
│   ├── btc-blockchain.js               # controlador del comando blockchain
│   ├── btc-search.js                   # controlador del comando search
|   ├── btc-transaction.js              # controlador del comando transaction
│   └── btc.js                          # controlador del comando principal
├── commmands                            
│   ├── blockchain.js                   # lógica del comando blockchain
│   ├── mine.js                         # lógica del comando mine
|   ├── search.js                       # lógica del comando search
│   └── transaction.js                  # lógica del comando transacción
├── lib                                 
│   ├── transaction.model.js            # modelo de transacción 
│   └── utils.js                        # funciones de utilidad general
└── package.json                        # archivo de configuración

Comandos

  • btc blockchain

    Nos permite obtener el estado actual de la cadena de bloques, pudiendo observar los bloques que se han ido añadiendo y sus transacciones. Además, se podrán observar las transacciones que están a la espera de ser introducidas en el siguuiente bloque, la recompensa actual por minado y la dificultad establecida para dicha tarea.

  • btc transaction

    Nos permite realizar una transacción en la cadena de bloques. Se require la dirección pública de emisor y receptor, así como la cantidad de monedas a enviar y la firma del autor.

  • btc mine

    Permite comunicar a uno de los nodos de la blockchain que ejecute la función de minado que permitirá la creación de un nuevo bloque dando lugar a la introducción de las transacciones pendientes en dicho bloque.

  • btc search

    • transaction

      Busca transacciones en la blockchain mediante el identificador de la transacción. Cuando la encuentra la muestra en la consola, de lo contrario, nos dirá que no se ha encontrado.

    • address

      Muestra el saldo de la dirección que se ha especificado.

    • block

      Muestra el bloque con el hash que hemos especificado. Si no existe, se mostrará un mensaje de error.

Librerías utilizadas

  • axios

    • Descripción: Cliente HTTP basado en promesas para el navegador y node.js
    • Características:
      • Hacer XMLHttpRequests desde el navegador
      • Hacer solicitudes http desde node.js
      • Admite la API Promise
      • Solicitud de intercepción y respuesta
      • Transformar datos de solicitud y respuesta
      • Cancelar solicitudes
      • Transformaciones automáticas para datos JSON
      • Soporte del lado del cliente para proteger contra XSRF
    • Instalación: npm install --save axios
    • Página principal: https://github.com/axios/axios
  • sha256

  • elliptic

    • Descripción: Criptografía rápida de curva elíptica en una implementación simple de javascript.
    • Instalación: npm install --save elliptic
    • Página principal: https://github.com/indutny/elliptic
  • uuid

  • chalk

  • commander

    • Descripción: La solución completa para las interfaces de línea de comandos de node.js
    • Instalación: npm install --save commander
    • Página principal: https://github.com/tj/commander.js
  • figlet

  • inquirer

    • Descripción: Una colección de interfaces de usuario de línea de comandos interactivos comunes
    • Instalación: npm install --save inquirer
    • Página principal: https://github.com/SBoudrias/Inquirer.js
  • update-notifier

Setup del proyecto

Requisitos: tener instalado Node.js y git.

  1. Clonar el repositorio:

    git clone https://github.com/miguelleonmarti/bitcoin-cli.git

  2. Instalar las dependecias:

    npm install

Readme

Keywords

Package Sidebar

Install

npm i @miguelleonmarti/bitcoincli

Weekly Downloads

5

Version

1.3.0

License

MIT

Unpacked Size

18.7 kB

Total Files

18

Last publish

Collaborators

  • miguelleonmarti