-
Notifications
You must be signed in to change notification settings - Fork 0
Default network
Minimina allows to create a network with default settings called default
. This network includes several block producers, a seed node, snark coordinator and snark workers and an archive node (including postgres database and archive-service). To create the network run command:
$ minimina network create
Investigate the network directory ~/.minimina/default/
$ tree -p ~/.minimina/default/
~/.minimina/default/
├── [-rw-rw-r--] create_schema.sql
├── [-rw-rw-r--] docker-compose.yaml
├── [-rw-rw-r--] genesis_ledger.json
├── [drwx------] libp2p-keypairs
│ ├── [-rw-------] mina-archive
│ ├── [-rw-r--r--] mina-archive.peerid
│ ├── [-rw-------] mina-bp-1
│ ├── [-rw-r--r--] mina-bp-1.peerid
│ ├── [-rw-------] mina-bp-2
│ ├── [-rw-r--r--] mina-bp-2.peerid
│ ├── [-rw-------] mina-seed-1
│ ├── [-rw-r--r--] mina-seed-1.peerid
│ ├── [-rw-------] mina-snark-coordinator
│ ├── [-rw-r--r--] mina-snark-coordinator.peerid
│ ├── [-rw-------] mina-snark-worker-1
│ └── [-rw-r--r--] mina-snark-worker-1.peerid
├── [-rw-rw-r--] network.json
├── [drwx------] network-keypairs
│ ├── [-rw-------] mina-archive
│ ├── [-rw-r--r--] mina-archive.pub
│ ├── [-rw-------] mina-bp-1
│ ├── [-rw-r--r--] mina-bp-1.pub
│ ├── [-rw-------] mina-bp-2
│ ├── [-rw-r--r--] mina-bp-2.pub
│ ├── [-rw-------] mina-seed-1
│ ├── [-rw-r--r--] mina-seed-1.pub
│ ├── [-rw-------] mina-snark-coordinator
│ ├── [-rw-r--r--] mina-snark-coordinator.pub
│ ├── [-rw-------] mina-snark-worker-1
│ └── [-rw-r--r--] mina-snark-worker-1.pub
├── [-rw-rw-r--] replayer_input.json
├── [-rw-rw-r--] services.json
└── [-rw-rw-r--] zkapp_tables.sql
Note: By default, minimina saves files in $HOME\.minimina
. To customize this location, set the $MINIMINA_HOME
environment variable, and files will be stored in $MINIMINA_HOME\.minimina
.
The default network can be started, stopped, and deleted
$ minimina network start
$ minimina network stop
$ minimina network delete
Default network info and status can be queried
$ minimina network info
$ minimina network status
Individual nodes within the network can be also managed via minimina node
command. Use minimina node --help
to see available commands.
First let's see what nodes we have available:
$ minimina network info
{
"network_id": "default",
"nodes": {
"mina-seed-1": {
"graphql_uri": "http://localhost:3101/graphql",
"private_key": null,
"node_type": "Seed_node"
},
"mina-bp-1": {
"graphql_uri": "http://localhost:4001/graphql",
"private_key": null,
"node_type": "Block_producer"
},
"mina-snark-worker-1": {
"graphql_uri": null,
"private_key": null,
"node_type": "Snark_worker"
},
"mina-archive": {
"graphql_uri": "http://localhost:5006/graphql",
"private_key": null,
"node_type": "Archive_node"
},
"mina-bp-2": {
"graphql_uri": "http://localhost:4006/graphql",
"private_key": null,
"node_type": "Block_producer"
},
"mina-snark-coordinator": {
"graphql_uri": "http://localhost:7001/graphql",
"private_key": null,
"node_type": "Snark_coordinator"
}
}
}
For instance we can see logs of the individual node:
$ minimina node logs -i mina-bp-2
The result will be wrapped into JSON output:
{
"logs": "{\"timestamp\":\"2023-10-17 13:42:25.119981Z\",\"level\":\"Info\"....."
"network_id": "default",
"node_id": "mina-bp-2"
}
We can also see raw logs by adding --raw-output
flag (or -r
):
$ minimina node logs -i mina-bp-2 -r
{"timestamp":"2023-10-17 13:42:25.119981Z","level":"Info"...
Note: -r
flag is available for most of the minimina node
subcommands.
We can stop single node
$ minimina node stop -i mina-bp-2
We can also start single node
$ minimina node start -i mina-bp-2
There are a few interesting flags available with node start
. For example we can start node from fresh state, while importing all accounts from network-keypairs
to it and also requesting graphql filtered logs with a single command:
$ minimina node start -i mina-bp-2 --fresh-state --import-accounts --graphql-filtered-logs
Each mina daemon node within the network logs pre-computed blocks by default. We can request for pre-computed blocks
$ minimina node dump-precomputed-blocks -i mina-bp-2
# As raw output
$ minimina node dump-precomputed-blocks -i mina-bp-2 -r
For Archive node we can also dump archive data or run replayer
$ minimina node dump-archive-data -i mina-archive
$ minimina node run-replayer -i mina-archive --start-slot-since-genesis 0