Table of Contents
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 and dapps-workshop
- Compile and deploy transaction protocol
- Do stake to node/user/asset
- Bootstrap dApps with starters from here
- Linux/Mac Command Line, windows is not support currently, iTerm is recommended.
- Node.js: please install using nvm, v8+
npm install -g @arcblock/forge-cli # OR yarn global add @arcblock/forge-cli
forge command is available to all new shell sessions.
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 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 config [options] [key] [value] Config forge cli configs contract:activate [name|address] Activate a contract by name or address contract:compile [sourceDir] Compile a forge contract contract:create [options] Create contract files contract:deactivate [name|address] Deactivate a contract contract:deploy [itxPath] Deploy a compiled contract to ABT Node contract:ls List contracts declare:node Declare the current node to be a validator candidate 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 prepare [options] Prepare node for deploying a multi-node chain 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 swap [action] [version] Start forge swap service 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 [options] [action] Start/stop the web interface of running forge chain/node workshop [action] Start/stop the dApps workshop 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