Siglas de desarrollador de blockchain: ¿qué significan?

Qtum Español
5 min readFeb 22, 2020

Jackson Belove

Follow

Feb 7 ·

Esta semana, el blog echa un vistazo a tres TLA (acrónimos de tres letras):

  • API — interfaz de programación de aplicaciones
  • CLI — Interfaz de línea de comando
  • RPC — Llamada a procedimiento remoto

Estas interfaces se usan generalmente para administrar software y sistemas informáticos y revisaremos cómo se usan como métodos potentes de bajo nivel para controlar una billetera Qtum (nodo) o una interfaz con la blockchain Qtum.

La billetera Qtum-Qt GUI proporciona un enfoque de Windows intuitivo y sencillo para el 90% de lo que necesita hacer, pero para operaciones avanzadas, por ejemplo, usando claves privadas o transacciones más complejas (“importprivkey”, “sendmanywithdupes”, etc.) necesitará usar estas interfaces. Muchas veces, los desarrolladores de blockchain están trabajando con estas interfaces para pruebas y trabajos de desarrollo que requieren un control completo del nodo.

TL;DR: las interfaces de línea de comandos (API, CLI, RPC) proporcionan un control granular de bajo nivel de todos los comandos para el nodo Qtum. La billetera GUI (Qtum-Qt) expone la mayoría de los comandos diarios a través de una interfaz gráfica. Pero los desarrolladores y los stakers pueden usar estas herramientas de línea de comandos para todo lo demás, y vemos cómo.

Introducción a las interfaces de línea de comandos

API

Si bien ofrece una selección más amplia de comandos, la API (interfaz del programa de aplicación) es diferente de RPC y CLI. Como se discutió en un blog anterior, la API es un servicio del Explorador y proporciona interacción directa (para otras aplicaciones) a través del Servidor de interfaz de usuario a la base de datos del Explorador que contiene todos los datos de blockchain. Los comandos API se envían usando una URL con varios parámetros.

Por ejemplo, para verificar el suministro actual de QTUM, use la URL: https://qtum.info/api/supply

.Para la lista de comandos API, consulte la Referencia 1.

CLI

CLI (Command Line Interface) es la forma de enviar comandos directamente a una billetera en ejecución, ya sea en la línea de comando real para qtumd (la billetera del servidor daemon) o mediante Window — Console para Qtum-Qt (la billetera GUI). Para ingresar comandos para la billetera Qtum-Qt, seleccione Ventana — Consola e ingrese los comandos en el campo inferior. Por ejemplo, para ver el suministro total de QTUM, use el comando “getblockchaininfo”:

getblockchaininfo

Para usar CLI en la línea de comandos para interactuar con qtumd (billetera del servidor daemon), use el programa de interfaz de línea de comandos “qtum-cli”. Con qtumd ejecutándose en Windows, para “getblockchaininfo” el comando sería “qtum-cli getblockchaininfo”. En entornos de tipo Linux que usan Terminal, el comando sería “./qtum-cli getblockchaininfo”:

./qtum-cli getblockchaininfo

RPC

RPC (Remote Procedure Call) también se llama JSON-RPC (JavaScript Object Notation — Remote Procedure Call) y utiliza el formato de datos JSON para enviar comandos y parámetros a la billetera.

Para configurar el nodo para acceso remoto utilizando el protocolo RPC, tenemos que configurar algunos parámetros en el archivo de configuración para un usuario remoto, contraseña y número de puerto. Cuando se inicie el nodo, leerá el archivo de configuración y configurará la cuenta RPC. Mis entradas de archivo de configuración (Testnet se muestra aquí) para configurar RPC fueron:

# qtum.conf 2020–02–07

# options for Testnet

[test]

server=1

rpcbind=127.0.0.1

rpcuser=test

rpcpassword=12345

rpcport=13889

rpcconnect=127.0.0.1

onlynet=ipv4

Las líneas que comienzan con “#” son comentarios, y “[prueba]” identifica los parámetros para una billetera Testnet. Tenga en cuenta que el archivo de configuración debe ir en el directorio de datos Qtum predeterminado, NO en el directorio de datos Qtum Testnet separado.

Con la billetera en ejecución, podemos usar RPC en la misma máquina usando cURL (herramienta de URL de línea de comando) para dar el comando “getblockchaininfo” como:

curl — user test:12345 — data-binary ‘{“jsonrpc”: “1.0”, “id”:”curltest”, “method”: “getblockchaininfo”, “params”: [] }’ -H ‘content-type: text/plain;’ http://127.0.0.1:13889/

Comando RPC para getblockchaininfo

Los comandos RPC requieren que se use el formato exacto, y la billetera le dará ejemplos RPC (para copiar y pegar) para muchos comandos si solicita ayuda, por ejemplo

./qtum-cli -testnet help getblockchaininfo

./qtum-cli -testnet help getblockchaininfo

Este ejemplo de ayuda proporciona el puerto Mainnet “3889”; cambie a “13889” para Testnet. Estos ejemplos funcionan para RPC en la máquina local. Dado que RPC permite el control total de una billetera, por razones de seguridad no debe abrir puertos ni usar desde el acceso remoto, ya que las contraseñas se envían de forma clara.

Para ver la lista de comandos RPC, consulte la Referencia 3

Referencias

1. Documentación de la API Qtum https://github.com/qtumproject/qtuminfo-api/blob/master/README.md

2. Documentación de Qtum CLIhttps://github.com/qtumproject/documents/tree/master/en/commands

3. Documentación de Qtum RPC https://github.com/qtumproject/documents/tree/master/en/Qtum-RPC-API

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response