Skip to main content

Local network generation

Here, you will learn how to launch a local network with custom settings, initial coins and rolls distribution.

This may be useful for instance if you want to build and test your integration on the latest version of the nodes.

Clone massa:

git clone

Compile it with the sandbox feature enabled:

cd massa && cargo build --release --features sandbox

Create a keypair in massa-client:

cd massa-client && cargo run

For the rest of the tutorial we will use theses abbreviations:

  • SECRETK: The secret you just generated
  • PUBK: The public key corresponding to SECRETK
  • ADDR: The address corresponding to PUBK

Setup your node to use the secret you just generated as its public key and staking key:

  • modify or create the file massa-node/config/node_privkey.key:

  • modify the file massa-node/base_config/initial_ledger.json:

    "ADDR": {
    "balance": "80000000",
    "datastore": {},
    "bytecode": []
  • CLEAR and modify the file massa-node/base_config/initial_rolls.json:

    "ADDR": 100
  • CLEAR content of massa-node/base_config/initial_vesting.json:

  • optionally, if you need a non-standard configuration, you can modify the file massa-node/base_config/config.toml depending on what you are trying to do.

You can now launch your node:

cd massa-node && cargo run --features sandbox

On your client run the following command to add your secret key as staking key:

cd massa-client && cargo run node_start_staking ADDR

The local network and your node will start after 10 seconds. Once it is started, you can interact with it using the CLI client as you would with a node on a public network.