Search
K

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 https://sh.rustup.rs | 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.
Tip: Check the official Github repository to get the latest substreams CLI release available.

Homebrew installation

brew install streamingfast/tap/substreams

Pre-compiled binary installation

# Use correct binary for your platform
LINK=$(curl -s https://api.github.com/repos/streamingfast/substreams/releases/latest | awk '/download.url.*linux/ {print $2}' | sed 's/"//g')
curl -L $LINK | tar zxf -

Installation from source

git clone https://github.com/streamingfast/substreams
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.