Introduction
For users who prefer not to use Docker, there's a ZIP distribution that contains only Yaci CLI. This allows you to download and manage necessary components like Cardano Node, Ogmios, Kupo, and Yaci Store directly through the command line.
Please note that Yaci Viewer is not currently supported out-of-the-box in this distribution.
Who is this for?
- Developers and system administrators: Quickly set up a new custom node or multi-node networks
- Users wanting more control: Easily manage compatible component versions and configurations
Key advantages of the Yaci CLI distribution:
- Reduced Disk Space: Requires less disk space than the Docker image, containing only the Yaci CLI binary, configuration files, and any downloaded components.
- Version Flexibility: Specify compatible versions of Cardano Node and other components directly in the download configuration file if the default versions don't meet your requirements.
- Customizable Setup: Developers can selectively enable components like Yaci Store, Ogmios, and Kupo to achieve the same functionality as the Yaci DevKit Docker image.
Supported Platforms
Yaci CLI is currently supported on the following platforms:
- Linux x86: Tested on Ubuntu 20.04, Ubuntu 22.04
- MacOS 14 (Arm64) or later
Installation
- Download the latest version of the Yaci CLI Zip file from the releases page (opens in a new tab).
- Unzip the downloaded file.
- You will find the
yaci-cli
binary in the unzipped folder, and the configuration files in theconfig
folder.
Run Yaci CLI
You can now run the yaci-cli
binary. However, this distribution doesn't include any of the necessary components for creating a devnet.
You'll need to download these using Yaci CLI before proceeding.
Download Components
The simplest way to download the necessary components is to use the download
command. This will automatically download all
the required components for your specific platform, including Cardano Node, Ogmios, Kupo, Yaci Store, and JRE.
yaci-cli:> download
All components will be downloaded to the $user_home/.yaci-cli
folder by default.
If you need to replace any existing components, simply use the --overwrite
option.
yaci-cli:> download --overwrite
Alternatively, you can download the components individually using the download -c <component>
command, replacing <component>
with the specific component you want to download.
yaci-cli:> download -c node
yaci-cli:> download -c ogmios
yaci-cli:> download -c kupo
yaci-cli:> download -c yaci-store
Note: You can change the default yaci-cli
home folder by setting the yaci.cli.home
property in the application.properties
configuration file.
Create a new Devnet
Once you have downloaded the required components, you're ready to create a new devnet. You can use the create-node
command to do this.
yaci-cli:> create-node -o --start
This command will create a new devnet with a single node and start it. By default, Yaci Store, Ogmios, and Kupo are disabled.
You can enable them by setting their respective enabled
properties to true
in the config/application.properties
file.
Alternatively, you can use the enable-kupomios
, enable-yacistore
, or enable-kupo
commands before creating/starting the devnet.
For more information on the available commands and their usage, refer to the Yaci CLI commands documentation here.
Configuration
You'll find three configuration files within the config
folder:
application.properties :
This is the main configuration file to manage the functionality of Yaci CLI.
1. Enable/Disable Optional Components
By default, all optional components are disabled. To enable any of them, simply set their respective enabled
property to true
.
ogmios.enabled=true
kupo.enabled=true
yaci.store.enabled=true
Note: If you want to use Yaci Store for transaction building, script cost evaluation, and transaction submission via a Blockfrost-compatible API layer,
you'll need to enable both Yaci Store
and Ogmios
.
2. Update Ports
You can update the default ports for the Ogmios, Kupo, and Yaci Store.
ogmios.port=1337
kupo.port=1442
yaci.store.port=8080
node.properties
This file contains the configuration for the Cardano Node. You can update the configuration as per your requirements to modify the node's genesis configuration.
download.properties
This file contains the default download versions for the various components. You can update these versions or even provide direct download URLs if needed. This configuration helps you to download specific compatible versions of Cardano Node or other components, giving you greater control over your environment.
Multi Node Network Setup
Since Yaci CLI is used in both Yaci DevKit and this distribution, the commands to create a multi-node network remain the same. You can follow the instructions provided in the Additional Nodes on Different Machines section of the multi-node setup guide.