@arcblock/forge-cli

    1.3.0 • Public • Published

    forge-cli

    Command line toolbox maintained by Arcblock that helps developers to work with Forge SDK

    Table of Contents

    Introduction

    docs Build Status PRs Welcome Gitter

    forge-cli is an awesome toolbox for developers to work with forge, and forge is an awesome framework for building decentralized applications. Out of the box forge-cli support following features:

    • Manage forge kernel release
    • Manage local forge node, join a remote forge powered network
    • Create wallets and accounts on blockchain
    • Read/subscribe accounts/blocks/transactions/assets on blockchain
    • Send transactions to the blockchain
    • Use forge components such as forge-web
    • Compile and deploy transaction protocol
    • Do stake to node/user/asset
    • Bootstrap dApps with starters from here

    Requirements

    • Linux/Mac Command Line, windows is not support currently, iTerm is recommended.
    • Node.js: please install using nvm, >= v10 && <= v12.x

    QuickStart

    asciicast

    Install

    npm install -g @arcblock/forge-cli
    # OR
    yarn global add @arcblock/forge-cli

    Now forge command is available to all new shell sessions.

    Usage

    Run forge and get available options and subcommands.

    ❯ forge
    
    ██████╗ ██╗   ██╗     █████╗ ██████╗  ██████╗██████╗ ██╗      ██████╗  ██████╗██╗  ██╗
    ██╔══██╗╚██╗ ██╔╝    ██╔══██╗██╔══██╗██╔════╝██╔══██╗██║     ██╔═══██╗██╔════╝██║ ██╔╝
    ██████╔╝ ╚████╔╝     ███████║██████╔╝██║     ██████╔╝██║     ██║   ██║██║     █████╔╝ 
    ██╔══██╗  ╚██╔╝      ██╔══██║██╔══██╗██║     ██╔══██╗██║     ██║   ██║██║     ██╔═██╗ 
    ██████╔╝   ██║       ██║  ██║██║  ██║╚██████╗██████╔╝███████╗╚██████╔╝╚██████╗██║  ██╗
    ╚═════╝    ╚═╝       ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═════╝ ╚══════╝ ╚═════╝  ╚═════╝╚═╝  ╚═╝
                                                                                          
    Usage: forge [options] [command]
    
    Options:
      -V, --version                    output the version number
      -v, --verbose                    Output runtime info when execute subcommand, useful for debug
      -c, --chain-name <chainName>     Execute command use specific chain
      -i, --config-path <path>         Forge config used when starting forge node and initializing gRPC clients
      -r, --npm-registry <registry>    Specify a custom npm registry
      -y, --yes                        Assume that the answer to any confirmation question is yes
      -d, --defaults                   Run command using default values for all questions
      -m, --mirror <url>               Mirror host used to download forge release
      -g, --socket-grpc <endpoint>     Socket gRPC endpoint to connect, with this you can use forge-cli with a remote node
      -h, --help                       output usage information
    
    Commands:
      account <address>                Get an account info by address
      asset <address>                  Get asset info by address
      block [options] [height]         Get the block info from the running node
      blocklet:init [options]          Init a blocklet project
      blocklet:use [options]           Download and install a blocklet
      chain:config [options] [action]  Read/write chain/node config
      chain:create [chainName]         Create a new chain instance
      chain:ls                         List all chains
      chain:remove <chainName>         Remove chain state and config
      chain:reset <chainName>          Reset chain state, but keeps the config
      chain:validator [options]        Update(add, remove, change) or list validators
      config [options] [key] [value]   Config forge cli configs
      declare:node [options]           Declare the current node to be a validator candidate
      deploy:prepare [options]         Prepare node for deploying a multi-node chain
      download [options] [version]     Download a forge release without activate it
      help [subcommand]                Show help of a sub command
      install [options] [version]      Download and setup forge release on this machine
      join <endpoint>                  Join a network by providing a valid forge web graphql endpoint
      logs [type]                      Show logs for various forge components
      ls                               List forge releases installed locally
      ls:remote                        List remote forge releases available for install
      ps                               List running forge component processes
      remote [shellName]               Connects to the running system via a remote shell
      simulator [action]               Start/stop simulator and generate random traffic
      start [options] [<chainName>]    Start the forge and forge web deamon
      status [type]                    List info of the running chain/node
      stop [options] [<chainName>]     Stop the forge daemon and all related services
      tx [hash]                        Get a tx detail and display
      tx:ls                            List latest transactions
      upgrade [<chainName>]            Upgrade chain node to new version without reset
      use [version]                    Activate an already downloaded forge release
      version [<chainName>]            Output version for all forge components
      wallet:create                    Create a local wallet and dump its public/private key
      web [action]                     Open the web interface of running forge chain/node
    
    Examples:
    
      Please install a forge-release before running any other commands
      > forge install latest
      > forge install --mirror https://releases.arcblockio.cn
    
      Curious about how to use a subcommand?
      > forge help install
      
    
    

    FAQ

    Checkout FAQ.md

    Install

    npm i @arcblock/forge-cli

    DownloadsWeekly Downloads

    288

    Version

    1.3.0

    License

    Apache-2.0

    Unpacked Size

    310 kB

    Total Files

    126

    Last publish

    Collaborators

    • gxw
    • mave99a
    • polunzh
    • wangshijun