Skip to main content

Setup

This guide will help you set up Calimero in your device.

There are two main paths:

  1. Install via Script or Homebrew (Recommended): Quickly install meroctl for most users.
  2. Build from Source: For developers who want to contribute or modify the framework.

Supported Platforms​

Calimero currently supports the following operating systems and architectures:

  • Operating Systems: macOS, Linux
  • Architectures: x86_64, arm64 (Apple Silicon)

If your platform is not supported, please create an issue on GitHub.


You can choose to install meroctl using either the installation script or Homebrew.

Option 1: Installation Script​

The installation script supports multiple terminal environments and will automatically configure your PATH based on your shell.

Steps​

  1. Open your terminal and run:

    curl -sSf https://raw.githubusercontent.com/calimero-network/core/master/scripts/install.sh | bash
  2. Source the updated PATH:

    source <your-shell-config-file>

    Replace <your-shell-config-file> with .bashrc, .zshrc, or the relevant configuration file for your shell.

  3. Verify the installation:

    meroctl --version

If the version number appears, the installation was successful.

Notes for Shell Environments​

The script automatically updates your PATH based on your shell configuration:

  • Bash: Updates .bashrc.
  • Zsh: Updates .zshrc.
  • Fish: Modifies ~/.config/fish/config.fish.
  • Csh/Tcsh: Updates .cshrc.

To apply the changes immediately, use the source command as described in step 2 above.


Option 2: Homebrew​

If you use Homebrew, you can install meroctl directly with the following steps:

Steps​

  1. Add the Calimero Homebrew tap:

    brew tap calimero-network/homebrew-tap
  2. Install meroctl:

    brew install meroctl
  3. Verify the installation:

    meroctl --version

If the version number appears, the installation was successful.


Build from Source (For Contributors)​

If you want to contribute to the Calimero framework or customize its functionality, you can build it from source.

Prerequisites​

  • Ensure Rust is installed. If not, follow the instructions on the Rust website.

Troubleshooting​

  • If Rust dependencies fail, ensure your Rust installation is up-to-date:

    rustup update
  • Verify that you have all required permissions to run the node.

For further support, open an issue on GitHub.

Setup steps​

Setup consists of few steps and is around 10 minutes long. (mostly waiting for project dependencies to download)

  1. Clone repository from GitHub (1min)
  2. Position in the root of the project (< 1min)
  3. Create a data folder for all configuration files (< 1min)
  4. Initialize and run node (~7 mins)

1. Clone repository from GitHub​

Clone using SSH
git clone git@github.com:calimero-network/core.git

2. Position in the root of the project​

Terminal
cd core

3. Create a data folder for all configuration files.​

Terminal
mkdir data

4. Initialize and run node​

You can do it in two ways.

  • Using CLI
  • Using Docker compose

If this is your first time initializing the node, the process may take a little bit more time until all dependencies are downloaded. It will take around 7 minutes but can vary depending on your internet connection.

1. Initialize node​

Terminal
cargo run -p merod -- --node-name node1 --home data init --server-port 2428 --swarm-port 2528

NOTE: A --protocol flag defines protocol for the context. Currently, we support Starknet and NEAR protocol. By default, the protocol is set to NEAR protocol, but you can set it explicitly to Starknet by using the following command:

Terminal
cargo run -p merod -- --node-name node1 --home data init --server-port 2428 --swarm-port 2528 --protocol starknet

You can also view these settings in the config.toml file located within the node folder.

NearConfig >SnConfgi

2. Run node​

Terminal
cargo run -p merod -- --node-name node1 --home data run

Wait for a few moments and node logs should appear.

Node running

When you see something like this that means that node is now ready for use.

Was this page helpful?
Need some help? Check Support page