MiniMina is a command line tool aimed at providing the capability to spin up Mina networks locally on a user's computer. For more more information see Minimina RFC.
MiniMina requires docker
to be present on user's machine. See docker install.
For building and testing MiniMina requires Rust compiler and its package manager cargo
. See Rust official website for installation details.
To set up and use MiniMina, you have a couple of options:
- building from source
- using the provided deb package
💡 Tip: Integrating MiniMina into your GitHub workflow is straightforward with the MinaFoundation/install-minimina-action.
git clone https://github.com/MinaFoundation/minimina.git
cd minimina
cargo build --release
cp target/release/minimina ~/.local/bin
Assuming ~/.local/bin
is on your $PATH
you will have minimina
available for execution directly from the command line.
If you'd prefer a simpler installation or are not interested in building from source, MiniMina is available as deb package.
echo "deb [trusted=yes] http://packages.o1test.net ubuntu stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y minimina
🗒️ Note 1: The
stable
repository contains the release version of MiniMina, whileunstable
mirrors the current state of themain
branch in the repository. Choose accordingly based on your needs.
🗒️ Note 2: MiniMina deb package should work on most Debian/Ubuntu-based distros. However, it hasn't undergone extensive testing.
MiniMina provides functionalities to manage both the entire network and individual nodes within it. To explore the available commands, use:
minimina --help
minimina network --help
minimina node --help
Below are a few fundamental examples to get you started:
- Default network
- Networks based on Lucy-generated genesis and topology
- Network with uptime-service-backend
You can run unit tests using the cargo test
command:
cargo test
This will run all tests in the project and output the results.
As MiniMina is a work in progress, contributions are always welcome! Please feel free to submit issues and pull requests.
This project is licensed under the MIT License.