Ir al contenido principal

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
información

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

información

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.

información

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/*.

peligro

¡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.