npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@miguelleonmarti/bitcoincli

v1.3.0

Published

A blockchain cli example

Readme

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

    • Descripción: Componente JavaScript para calcular el SHA256 de cadenas de texto o bytes.
    • Instalación: npm install --save sha256
    • Página principal: https://github.com/cryptocoinjs/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

    • Descripción: Para la creación de RFC4122 UUID
    • Instalación: npm install --save uuid
    • Página principal: https://github.com/uuidjs/uuid
  • chalk

    • Descripción: Da estilo a cadenas de texto en el terminal
    • Instalación: npm install --save chalk
    • Página principal: https://github.com/chalk/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

    • Descripción: Crea arte ASCII a partir del texto
    • Instalación: npm install --save figlet
    • Página principal: https://github.com/patorjk/figlet.js
  • 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

    • Descripción: Notifica de las actualizaciones de la aplicación CLI
    • Instalación: npm install --save update-notifier
    • Página principal: https://github.com/yeoman/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