Install the CLI

StreamingFast Substreams CLI installation documentation

Dependency installation

Substreams requires a number of different applications and tools. Instructions and links are provided to assist in the installation of the required dependencies for Substreams.

Tip: Instructions are also provided for cloud-based Gitpod setups.

Rust installation

Developing Substreams modules requires a working Rust compilation environment.

There are several ways to install Rust. Install Rust through curl by using:

curl --proto '=https' --tlsv1.2 -sSf | sh
source $HOME/.cargo/env # to configure your current shell

wasm32-unknown-unknown target

Ensure you have the wasm32-unknown-unknown target installed on your Rust installation, if unsure, you can install it with:

rustup target add wasm32-unknown-unknown

Buf installation

Buf simplifies the generation of typed structures in any language. Buf uses a remote builder executed on the Buf server, so an internet connection is required to generate Rust bindings from Protobuf definitions.

Visit the Buf website for additional information and installation instructions.

Note: Substreams packages and Buf images are compatible.

Install the substreams CLI

Used for connecting to endpoints, streaming data in real time, and packaging custom modules.

Homebrew installation

brew install streamingfast/tap/substreams

Pre-compiled binary installation

There are several CLI binaries available for different operating systems. Choose the correct platform in the CLI releases page.

If you are on MacOS, you can use the following command:

LINK=$(curl -s | awk "/download.url.*$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m)/ {print \$2}" | sed 's/"//g')
curl -L  $LINK  | tar zxf -

If you are on Linux, you can use the following command:

# Use correct binary for your platform
LINK=$(curl -s | awk "/download.url.*linux_$(uname -m)/ {print \$2}" | sed 's/"//g')
curl -L  $LINK  | tar zxf -

Installation from source

git clone
cd substreams
go install -v ./cmd/substreams

Important: Add $HOME/go/bin to the system path if it's not already present.

Validation of installation

Run the substreams CLI passing the --version flag to check the success of the installation.

substreams --version

A successful installation will print the version that you have installed.

substreams version dev

Note: You can also use Gitpod instead of a local installation.

Last updated