Setup
This guide will help you set up Calimero in your device.
There are two main paths:
- Install via Script or Homebrew (Recommended): Quickly install
meroctl
for most users. - 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.
Install via Script or Homebrew (Recommended)​
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​
-
Open your terminal and run:
curl -sSf https://raw.githubusercontent.com/calimero-network/core/master/scripts/install.sh | bash
-
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. -
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​
-
Add the Calimero Homebrew tap:
brew tap calimero-network/homebrew-tap
-
Install
meroctl
:brew install meroctl
-
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)
- Clone repository from GitHub (1min)
- Position in the root of the project (< 1min)
- Create a data folder for all configuration files (< 1min)
- Initialize and run node (~7 mins)
1. Clone repository from GitHub​
- SSH
- HTTPS
git clone https://github.com/calimero-network/core.git
git clone git@github.com:calimero-network/core.git
2. Position in the root of the project​
cd core
3. Create a data folder for all configuration files.​
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.
- CLI
- Docker Compose
1. Initialize node​
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:Terminalcargo 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.
>
2. Run node​
cargo run -p merod -- --node-name node1 --home data run
Wait for a few moments and node logs should appear.
When you see something like this that means that node is now ready for use.
1. First build the image​
docker buildx build -t 'merod' .
2. Then setup and run the nodes defined in docker-compose.yml
file​
docker compose up
3. Connect to the available node by listing running containers​
docker ps
and then attach to the selected container
docker attach core-app_node_run-1
Wait for a few moments and node logs should appear.
When you see something like this that means that node is now ready for use.