Avalanche L1 Virtual Machine
This how-to guide explains how to upgrade an already-deployed Avalanche L1.
Upgrading a Local VM
To upgrade a local Avalanche L1, you first need to pause the local network. To do so, run:
avalanche network stop
Next, you need to select the new VM to run your Avalanche L1 on. If you're running a Subnet-EVM Avalanche L1, you likely want to bump to the latest released version. If you're running a Custom VM, you'll want to choose another custom binary.
Start the upgrade wizard with:
avalanche blockchain upgrade vm <blockchainName>
where you replace <blockchainName>
with the name of the Avalanche L1 you would like to upgrade.
Selecting a VM Deployment to Upgrade
After starting the Avalanche L1 Upgrade Wizard, you should see something like this:
? What deployment would you like to upgrade:
▸ Update config for future deployments
Existing local deployment
If you select the first option, Avalanche-CLI updates your Avalanche L1's config and any future calls to avalanche blockchain deploy
use the new version you select. However, any existing local deployments continue to use the old version.
If you select the second option, the opposite occurs. The existing local deployment switches to the new VM but subsequent deploys use the original.
Select a VM to Upgrade To
The next option asks you to select your new virtual machine.
? How would you like to update your Avalanche L1's virtual machine:
▸ Update to latest version
Update to a specific version
Update to a custom binary
If you're using the Subnet-EVM, you'll have the option to upgrade to the latest released version. You can also select a specific version or supply a custom binary. If your Avalanche L1 already uses a custom VM, you need to select another custom binary.
Once you select your VM, you should see something like:
Upgrade complete. Ready to restart the network.
Restart the Network
If you are running multiple Avalanche L1s concurrently, you may need to update multiple Avalanche L1s to restart the network. All of your deployed must be using the same RPC Protocol version. You can see more details about this here.
Finally, restart the network with:
avalanche network start
If the network starts correctly, your Avalanche L1 is now running the upgraded VM.
Last updated on 1/10/2025