Skip to content

aeternity/aepp-cli-js

Repository files navigation

aepp-cli-js

Command Line Interface for the æternity blockchain.

Installation

You can install aecli using your preferred tool (yarn or npm). Here's an npm example

$ npm install --global @aeternity/aepp-cli

Quick start

Let's ensure that CLI installed correctly by running $ aecli. It will show the available commands as below.

$ aecli
Usage: aecli [options] [command]

Options:
  -V, --version                                 output the version number
  -h, --help                                    display help for command

Commands:
  account                                       handle wallet operations
  spend [options] <wallet> <receiver> <amount>  send coins to another account or contract
  name                                          manage AENS names
  contract                                      contract interactions
  oracle                                        interact with oracles
  chain                                         make a request to the node
  inspect [options] <identifier>                get details of a node entity
  tx                                            generate transactions to sign and submit manually
  config [options]                              print the current sdk configuration
  select-node [nodeUrl]                         specify node to use in other commands
  select-compiler [compilerUrl]                 specify compiler to use in other commands
  help [command]                                display help for command

To read documentation of other commands and sub-commands, you can append --help. For example, type aecli account --help to get a list of commands available in account module.

The next step is to create a wallet to use in other commands:

$ aecli account create ./wallet.json
Address _________________________________ ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E
Path ____________________________________ /path/to/wallet.json

You need to send some coins to the created wallet.

On testnet you can do that using faucet. Switch to testnet using $ aecli select-node.

Run $ aecli inspect <wallet address> to ensure that it got coins.

$ aecli inspect ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E
Account ID ______________________________ ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E
Account balance _________________________ 10000ae
Account nonce ___________________________ 0
No pending transactions

At the last step, we will send our coins to another account:

$ aecli spend ./wallet.json ak_AgV756Vfo99juwzNVgnjP1gXX1op1QN3NXTxvkPnHJPUDE8NT 42ae
Transaction mined
Transaction hash ________________________ th_2muLsbZeFaVJ3tePTnLqobPhxBzwFsm1zUv8sjgMX4LKuevX2T
Block hash ______________________________ mh_dnoULQWpiRtcrntd5yJPUxcu7YrTu18xZ1e9EC2b8prKdShME
Block height ____________________________ 2 (about now)
Signatures ______________________________ ["sg_SG5uW5KEGiy5iG1cCkKq4VEdpyvewcW4NjVf4vj2ZoCiap5iB7UQoknWpyWsD4FkziBuGPE88zwXemq3ZvPrdzNtXtKuD"]
Transaction type ________________________ SpendTx (ver. 1)
Sender address __________________________ ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E
Recipient address _______________________ ak_AgV756Vfo99juwzNVgnjP1gXX1op1QN3NXTxvkPnHJPUDE8NT
Amount __________________________________ 42ae
Payload _________________________________ ba_Xfbg4g==
Fee _____________________________________ 0.00001684ae
Nonce ___________________________________ 1
TTL _____________________________________ 4 (about now)

Find out more in the user guide.

Resources

Commands reference

  • account
    • sign — sign a transaction using wallet
    • sign-message — sign a personal message using wallet
    • verify-message — check if message was signed by address
    • address — get wallet address and optionally private key
    • create — create a wallet by a private key or generate a new one
  • spend — send coins to another account or contract
  • name
    • full-claim — claim an AENS name in a single command
    • pre-claim — pre-claim an AENS name
    • claim — claim an AENS name (requires pre-claim)
    • bid — bid on name in auction
    • update — update a name pointer
    • extend — extend name TTL
    • revoke — revoke an AENS name
    • transfer — transfer a name to another account
  • contract
  • oracle
  • chain
    • top — query the top key/micro block of the chain
    • status — query node version, network id, and related details of the selected node
    • ttl — get relative TTL by absolute TTL
    • play — prints blocks from top until condition
    • broadcast — send signed transaction to the chain
  • inspect — get details of a node entity
  • tx
  • config — print the current sdk configuration
  • select-node — specify node to use in other commands
  • select-compiler — specify compiler to use in other commands