Install IOTA
In order to deploy your contracts and interact with the chains some tooling is required. IOTA Rebased has an excellent command-line tool that can be used for the most common tasks.
The simplest way to get up and running with IOTA is to install the binary from the latest release available in the IOTA Rebased GitHub Repository. Make sure to download the version that matches the network you want to work on.
You can also use the convenient docker images in the repository to run your own local network.
If you require full control over the installation sources and process, you can always build the binaries yourself from source.
Supported operating systems
IOTA supports the following operating systems:
- Linux - Ubuntu version 20.04 (Bionic Beaver) or later
- macOS - macOS Monterey or later
- Microsoft Windows - Windows 10 or later
Install Using a Package Manager
You can use Homebrew on macOS, Linux, or Windows Subsystem for Linux to install iota
and iota-tool
:
brew install iotaledger/tap/iota
Install From Binaries
You can find a set of binaries for most operating systems with each IOTA release that you can use to install IOTA. We recommend using the latest stable release for the network you are working on.
- Linux
- macOS
- Windows
-
Click the release tagged Latest to open the release's page.
-
In the Assets section of the release, select the .tgz compressed file that corresponds to your operating system.
-
Extract all files from the .tgz file into the preferred location on your system. These instructions assume you extract the files into a
iota
folder at the user root of your system for demonstration purposes. Replace references to this location in subsequent steps if you choose a different directory. -
Once you have downloaded and extracted the
.tgz
file that matches your operating system, you should open the folder and install the necessary binaries. You should start with the main IOTA binary:Name Description iota
Main IOTA binary. iota-faucet
Local faucet to mint coins on local network. iota-indexer
An indexer for a local IOTA network. iota-node
Run a local node. iota-tool
Provides utilities for IOTA. -
Add the folder containing the extracted files to your
PATH
variable. To do so, you can update your~/.bashrc
to include the location of theIOTA
binaries. If using the suggested location, you typeexport PATH=$PATH:~/iota
and press Enter. -
Start a new terminal session or type
source ~/.bashrc
to load the newPATH
value.
-
Click the release tagged Latest to open the release's page.
-
In the Assets section of the release, select the .tgz compressed file that corresponds to your operating system.
-
Extract all files from the .tgz file into the preferred location on your system. These instructions assume you extract the files into a
iota
folder at the user root of your system. Replace references to this location in subsequent steps if you choose a different directory. -
Once you have downloaded and extracted the
.tgz
file that matches your operating system, you should open the folder and install the necessary binaries. You should start with the main IOTA binary:Name Description iota
Main IOTA binary. iota-faucet
Local faucet to mint coins on local network. iota-indexer
An indexer for a local IOTA network. iota-node
Run a local node. iota-tool
Provides utilities for IOTA. -
Add the folder containing the extracted files to your
PATH
variable. To do so, you can update your~/.zshrc
or~/.bashrc
to include the location of the IOTA binaries. If using the suggested location, you typeexport PATH=$PATH:~/iota
and press Enter. -
Start a new terminal session or type
source ~/.zshrc
(or.bashrc
) to load the newPATH
value. -
If running the binaries for the first time, you might receive an error from MacOS that prevents the binaries from running. If you receive this error, close the dialog and type
xattr -d com.apple.quarantine ~/iota/*
in your terminal and press Enter (be sure to adjust the path if different).
-
Click the release tagged Latest to open the release's page.
-
In the Assets section of the release, select the .tgz compressed file that corresponds to your operating system.
-
Extract all files from the .tgz file into the preferred location on your system. These instructions assume you extract the files into a
iota
folder at the root of your C drive. Replace references to this location in subsequent steps if you choose a different directory.infoWindows does not natively support .tgz files, but you can use a free compressed file app like 7Zip to extract.
-
Navigate to the expanded folder. You should have the following extracted files
Name Description iota
Main IOTA binary. iota-faucet
Local faucet to mint coins on local network. iota-indexer
An indexer for a local IOTA network. iota-node
Run a local node. iota-tool
Provides utilities for IOTA. -
Add the folder containing the extracted files to your
PATH
variable. There are several ways to get to the setting depending on your version of Windows. One way that works on all versions of Windows is to typesysdm.cpl
in a console to open the System Properties window. Under the Advanced tab, click the Environment Variables... button. -
In the Environment Variables window, select the
Path
variable and click the Edit... button. -
In the Edit environment variable window, click New and add the path to your expanded folder. Using the example path, this would be
C:\iota
. -
Click OK.
Running binaries other than iota
might require installing prerequisites itemized in the following section.
Test
You can quickly test if you have successfully installed the binaries by running the following command:
iota
It should output a message stating the currently installed IOTA version and some helpful commands.
Install From Source
You can use this section to install the Rust crates (packages) to interact with IOTA networks, including the IOTA CLI, from source.
You can also download the source code to access files locally.
Prerequisites
Please ensure you install the following before attempting to install IOTA from source.
Rust and Cargo
Install
Like most Rust projects, IOTA uses Cargo as a package manager. You can find detailed instructions on how to install Rust and Cargo for your OS in the official Rust Documentation
You can use the following command to install Rust and Cargo on macOS or Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Update
Since IOTA uses the latest version of Cargo to build and manage dependencies, you may need
to update. The recommended update method is using rustup
, as shown below:
rustup update stable
Additional Prerequisites by Operating System
Select the appropriate tab to view the requirements for your system.
- Linux
- macOS
- Windows
The prerequisites needed for the Linux operating system include:
- cURL
- Rust and Cargo
- Git CLI
- CMake
- GCC
- libssl-dev
- libclang-dev
- libpq-dev
- build-essential
The Linux instructions assume a distribution that uses the APT package manager. You might need to adjust the instructions to use other package managers.
Install the prerequisites listed in this section. Use the following command to update apt-get
:
sudo apt-get update
All Linux prerequisites
Reference the relevant sections that follow to install each prerequisite individually, or run the following to install them all at once:
sudo apt-get install curl git-all cmake gcc libssl-dev pkg-config libclang-dev libpq-dev build-essential
cURL
Install cURL with the following command:
sudo apt-get install curl
Verify that cURL is installed correctly with the following command:
curl --version
Git CLI
Run the following command to install Git, including the Git CLI:
sudo apt-get install git-all
For more information, see Install Git on Linux on the GitHub website.
CMake
Use the following command to install CMake.
sudo apt-get install cmake
To customize the installation, see Installing CMake on the CMake website.
GCC
Use the following command to install the GNU Compiler Collection, gcc
:
sudo apt-get install gcc
libssl-dev
Use the following command to install libssl-dev
:
sudo apt-get install libssl-dev
If the version of Linux you use doesn't support libssl-dev,
find an equivalent package for it on
the ROS Index.
(Optional) If you have OpenSSL, you might also need also to install pkg-config
:
sudo apt-get install pkg-config
libclang-dev
Use the following command to install libclang-dev
:
sudo apt-get install libclang-dev
If the version of Linux you use doesn't support libclang-dev
, find an equivalent package for it on
the ROS Index.
libpq-dev
Use the following command to install libpq-dev
:
sudo apt-get install libpq-dev
If the version of Linux you use doesn't support libpq-dev
, find an equivalent package for it on
the ROS Index.
build-essential
Use the following command to install build-essential
:
sudo apt-get install build-essential
The prerequisites needed for the macOS operating system include:
- Rust and Cargo
- Homebrew
- cURL
- CMake
- libpq
- Git CLI
MacOS includes a version of cURL that you can use to install Homebrew. Use Homebrew to install other tools, including a newer version of cURL.
Homebrew
Use the following command to install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
You do not need to install anything else if you installed IOTA with Homebrew.
All macOS prerequisites
With Homebrew installed, you can install individual prerequisites from the following sections or install them all at once with this command:
brew install curl cmake libpq git
cURL
Use the following command to update the default cURL on macOS:
brew install curl
CMake
Use the following command to install CMake:
brew install cmake
To customize the installation, see Installing CMake on the CMake website.
libpq
Use the following command to install libpq:
brew install libpq
Git CLI
Use the following command to install Git:
brew install git
After installing Git, download and install the Git command line interface.
The prerequisites needed for the Windows 11 operating system include:
- cURL
- Rust and Cargo
- Git CLI
- CMake
- C++ build tools
- LLVM compiler
cURL
Windows 11 ships with an installed Microsoft version of cURL. If you want to use the curl project version instead, download and install it from https://curl.se/windows/.
Git CLI
Download and install the Git command line interface.
CMake
Download and install CMake from the CMake website.
Protocol Buffers
Download Protocol Buffers (protoc-xx.x-win32.zip or protoc-xx.x-win64.zip) and add the \bin directory to your Windows PATH environment variable.
Additional tools for Windows
IOTA requires the following additional tools for computers running Windows:
- For Windows on ARM64 only - Visual Studio 2022 Preview.
- C++ build tools is required to install Rust.
- The LLVM Compiler Infrastructure. Look for a file with a name similar to LLVM-15.0.7-win64.exe for 64-bit Windows or LLVM-15.0.7-win32.exe for 32-bit Windows.
Known issue - The iota console
command does not work in PowerShell.
Install IOTA Binaries From Source
Run the following command to install IOTA binaries from the testnet
branch:
cargo install --locked --git https://github.com/iotaledger/iota.git --branch testnet iota
Replace testnet
with another branch if needed when working on anything besides the testnet. Common options would be develop
for the absolute latest version, devnet
and mainnet
.
See the repository details for more information on commonly used branches.
The installation process can take a while to complete. You can monitor the installation progress in the terminal. If you encounter an error, install the latest version of all prerequisites and try the command again.
To update to the latest stable version of Rust:
rustup update stable
The command installs IOTA components in the ~/.cargo/bin
folder.
Upgrade IOTA Binaries
If you previously installed the IOTA binaries, you can update them to the most recent release with the same command you used to install them:
cargo install --locked --git https://github.com/iotaledger/iota.git --branch testnet iota