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/binAssuming ~/.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
stablerepository contains the release version of MiniMina, whileunstablemirrors the current state of themainbranch 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 --helpBelow 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 testThis 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.