Celo CLI
Introducción a la interfaz de línea de comandos de Celo e instrucciones de instalación.
Qué es el Celo CLI
La interfaz de línea de comandos permite a los usuarios interactuar con los contratos inteligentes del Protocolo Celo.
Es una interfaz de línea de comandos en torno al ContractKit. Permite interactuar con el Protocolo Celo y los contratos inteligentes utilizando herramientas de línea de comandos en lugar de escribir JavaScript. Proporciona módulos para interactuar con los módulos del ContractKit y es una excelente referencia de código a la hora de definir tus propios módulos. Algunas características comunes que puede considerar son ayudar a los usuarios a participar en elecciones o en el gobierno de la cadena, votar por validadores o ayudar a los usuarios a interactuar con contratos multi-sig.
Paquete NPM
Celo CLI está publicado como un módulo de nodo en NPM. Asumiendo que tienes npm y git ambos instalados, puedes instalar el Celo CLI usando el siguiente comando:
npm install -g @celo/celocli
Actualmente estamos desplegando la CLI sólo con Node.js v12.x. Si estás ejecutando una versión diferente de Node.js, considera usar NVM para gestionar tus versiones de node. por ejemplo, con: nvm install 12 && nvm use 12
Si tiene problemas para instalar globalmente (es decir, con la bandera -g
), intente instalar en un directorio local con npm install @celo/celocli
y ejecute con npx celocli
.
Comandos
La herramienta se divide en módulos y comandos con el siguiente patrón:
celocli <module>:<command> <...args> <...flags?>
La herramienta celocli
asume que los usuarios están ejecutando un nodo en el que tienen acceso a la firma de transacciones, o tienen otro mecanismo para firmar transacciones (como una cartera de Ledger o el suministro de la clave privada como un argumento para el comando). Consulte la documentación del módulo config para obtener información sobre cómo establecer a qué nodo se envían los comandos.
Todos los saldos de CELO o Celo Dólares se expresan en unidades de 10^-18.
Puedes encontrar el paquete Celo CLI en NPM aquí.
Para ver todos los comandos disponibles, ejecute celocli commands
.
Para ver todos los indicadores disponibles para un comando, añada el indicador --globalHelp
al comando.
Opcional: Ejecutar un nodo completo
Los comandos necesitan conectarse a un nodo Celo para ejecutar la mayoría de las funciones. Puedes utilizar Forno (es la forma más sencilla) o ejecutar tu propio nodo completo si lo prefieres. Consulte las instrucciones de Ejecución de un nodo completo para obtener más detalles sobre la ejecución de un nodo completo.
La forma más sencilla de conectar celocli
a la red Celo es ejecutando el siguiente comando en tu terminal con celocli
instalado:
celocli config:set --node=https://forno.celo.org
Puede comprobar que celocli
está conectado ejecutando
celocli config:get
Importar cuentas
Si se está conectando a un nodo remoto (como Forno), Celo CLI necesitará firmar las transacciones localmente antes de enviarlas. Para ello, Celo CLI necesita acceder a una clave privada. Hay un par de maneras de firmar transacciones usando Celo CLI.
Importar clave privada (menos seguro)
Añade el indicador --privateKey
seguido de la clave privada asociada a la cuenta remitente. Por ejemplo:
celocli transfer:celo --from <accountAddress> --to <addressOfChoice> --value <valueInCeloWei> --privateKey <privateKey> --node https://forno.celo.org
También puedes utilizar una billetra física Ledger. (preferido, ver abajo)
Usando una billetera Ledger
La CLI de Celo admite el uso de una billetera de hardware de Ledger para firmar transacciones. Sólo tiene que añadir la bandera --useLedger
a un comando que requiera una firma.
Puede especificar el número de direcciones a obtener para la firma local con la bandera --ledgerAddresses
.
Puede especificar una matriz de direcciones de índice para la firma local. Ejemplo --ledgerCustomAddresses "[4,99]"
.
Por ejemplo:
celocli transfer:celo --to <addressOfChoice> --value 1000000 --from <accountAddress> --useLedger
Extensiones
Se pueden instalar plugins adicionales que hacen que la experiencia CLI sea más fluida. Actualmente, celocli
sólo soporta la instalación de plugins publicados en NPM dentro de los ámbitos @celo/*
y @clabs/*
.
¡Instalar un plugin de terceros puede ser peligroso! Por favor, asegúrese siempre de que confía en el proveedor del plugin.
El plugin de autocompletado añade un autocompletado interactivo para los shells bash
y zsh
. Para activar el plugin de autocompletar, siga las instrucciones que se facilitan en:
celocli autocomplete
El plugin de advertencia de actualización notifica al usuario si está utilizando una versión obsoleta de la CLI. Este plugin está activado por defecto.