Setup and Installation

enid CLI

enid is a command-line tool for interacting with the ENI blockchain. This page will guide you through setting up Enid and introduce some basic commands to help you get started.

Prerequisites

  • Go 1.24+: Installation instructions can be found here.

Installation

To install enid, first find the version you wish to use here, then run the following commands:

git clone https://github.com/eni-chain/go-eni.git
cd go-eni
git checkout main
make install

You can verify that enid is installed correctly by running:

enid version

If you encounter an error like command not found: enid, you may need to set the GOPATH environment variable.

  1. Use go env GOPATH to find your GOPATH

  2. Add the following lines to your ~/.bashrc or ~/.zshrc:

    export GOPATH=[GOPATH obtained from step 1]
    export PATH=$PATH:$GOPATH/bin

More information can be found here.

Commands

enid supports all the commands necessary for interacting with the chain. To see a list of available commands and their descriptions, run enid:

Start goeni node

Usage:
  enid [command]

Available Commands:
  blocktest             run EF blocktest
  comet                 CometBFT subcommands
  completion            Generate the autocompletion script for the specified shell
  config                Utilities for managing application configuration
  debug                 Tool for helping with debugging your application
  export                Export state to JSON
  genesis               Application's genesis-related subcommands
  help                  Help about any command
  in-place-testnet      Updates chain's application and consensus state with provided validator info and starts the node
  init                  Initialize private validator, p2p, genesis, and application configuration files
  keys                  Manage your application's keys
  module-hash-by-height Get module hashes at a given height
  multi-node            Initialize config directories & files for a multi-validator testnet running locally via separate processes (e.g. Docker Compose or similar)
  prune                 Prune app history states by keeping the recent heights and deleting old heights
  query                 Querying subcommands
  rollback              rollback Cosmos SDK and CometBFT state by one height
  snapshots             Manage local snapshots
  start                 Run the full node
  status                Query remote node for status
  tx                    Transactions subcommands
  version               Print the application binary version information

Flags:
  -h, --help                help for enid
      --home string         directory for config and data (default "/Users/moses/.eni")
      --log_format string   The logging format (json|plain) (default "plain")
      --log_level string    The logging level (trace|debug|info|warn|error|fatal|panic|disabled or '*:<level>,<key>:<level>') (default "info")
      --log_no_color        Disable colored logs
      --trace               print out full stack trace on errors

Use "enid [command] --help" for more information about a command.

Adding a Wallet

You can create a new wallet using the enid keys command:

enid keys add $NAME

Replace $NAME with the name you want to use for this key. This will generate a mnemonic phrase and store the account in the CLI for use. Write down this mnemonic phrase and store it securely.

Alternatively, if you want to import an existing mnemonic phrase, you can add the --recover flag:

enid keys add $NAME --recover

You will then be prompted to enter the mnemonic phrase.

If importing from an EVM wallet like MetaMask, you may need to specify the coin type. Ethereum-based (EVM) wallets use coin type 60, while Eni defaults to 118. For example,

enid keys add $NAME --coin-type=60

This will generate an address different from the default coin type 118.

To view your local wallets, you can run

enid keys list

to see a list of all added wallets, or run

enid keys show $NAME

to view details of a specific wallet.

Last updated