/firefly-cli

FireFly Command Line Interface (CLI)

Primary LanguageGoApache License 2.0Apache-2.0

FireFly CLI

build

The FireFly CLI can be used to create local FireFly stacks for offline development of blockchain apps. This allows developers to rapidly iterate on their idea without needing to set up a bunch of infrastructure before they can write the first line of code.

FireFly CLI Screenshot

Prerequisites

In order to run the FireFly CLI, you will need a few things installed on your dev machine:

Install the CLI

The easiest way to get up and running with the FireFly CLI is to download a pre-compiled binary of the latest release.

Download the package for your OS

Go to the latest release page and download the package for your OS and CPU architecture.

Extract the binary and move it to /usr/local/bin

Assuming you downloaded the package from GitHub into you Downloads directory, run the following command:

sudo tar -zxf ~/Downloads/firefly-cli_*.tar.gz -C /usr/local/bin ff

If you downloaded the package from GitHub into a different directory, you will need to change the tar command above to wherever the firefly-cli_*.tar.gz file is located.

macOSUsers

NOTE: On recent versions of macOS, default security settings will prevent the FireFly CLI binary from running, because it was downloaded from the internet. You will need to allow the FireFly CLI in System Preferences, before it will run.

Windows Users

NOTE: For Windows users, we recommend that you use Windows Subsystem for Linux 2 (WSL2). Binaries provided for Linux will work in this environment.

Linux Users

NOTE: For Linux users, it is recommended that you add your user to the docker group so that you do not have to run ff or docker as root or with sudo. For more information about Docker permissions on Linux, please see Docker's documentation on the topic.

Install via Go

If you have a local Go development environment, and you have included ${GOPATH}/bin in your path, you can install with:

go install github.com/hyperledger/firefly-cli/ff@latest

Create a new stack

$ ff init <stack_name>

Start a stack

$ ff start <stack_name>

View logs

$ ff logs <stack_name>

NOTE: You can use the -f flag on the logs command to follow the log output from all nodes in the stack

Stop a stack

$ ff stop <stack_name>

Clear all data from a stack

This command clears all data in a stack, but leaves the stack itself. This is useful for testing when you want to start with a clean slate but don't want to actually recreate the resources in the stack itself. Note: this will also stop the stack if it is running.

$ ff reset <stack_name>

Completely delete a stack

This command will completely delete a stack, including all of its data and configuration.

$ ff remove <stack_name>

Get stack info

This command will print out information about a particular stack, including whether it is running or not.

$ ff info <stack_name>

List all stacks

This command will list all stacks that have been created on your machine.

$ ff ls