Introduction
Lux Granite is the latest upgrade to the Lux network. It includes major improvements including Platform-Chain epoched views for ICM, secp256r1 support for biometric authentication, and dynamic minimum block times for faster transactions.
Prerequisites
- An existing LuxGo node running any version prior to v1.14.0
- Basic command line knowledge
- Access to your node's terminal or SSH
Backup Your Node First
Before upgrading your node, it's crucial to backup your staker files which identify your node on the network. These files are essential for recovering your node if anything goes wrong.
Run the following commands to backup your staker files:
cd
cp ~/.luxgo/staking/staker.crt .
cp ~/.luxgo/staking/staker.key .Download these staker.crt and staker.key files and store them in a secure, private location. These files can be used to fully recreate your node if needed.
If you use your node for development purposes and have keystore users on your node, make sure to back those up as well.
Primary Network Nodes
Choose one of the following methods to upgrade your Primary Network node to Granite:
Method 1: Using the Installer Script (Recommended)
The easiest way to upgrade is using the LuxGo installer script.
Get the Installer Script
If you don't already have the installer script, download it:
wget -nd -m https://raw.githubusercontent.com/luxfi/lux-docs/master/scripts/luxgo-installer.sh
chmod 755 luxgo-installer.shRun the Installer
Execute the installer script:
./luxgo-installer.shThe script will automatically detect your existing installation and switch to upgrade mode:
LuxGo installer
---------------------
Preparing environment...
Found amd64 architecture...
Looking for amd64 version latest...
Node version found.
Attempting to download:
https://github.com/luxfi/luxgo/releases/download/v1.14.0/luxgo-linux-amd64-v1.14.0.tar.gzAutomatic Upgrade
The script will:
- Stop your current node
- Download and install LuxGo v1.14.0 (Granite)
- Restart your node with the new version
You'll see output similar to:
Node upgraded, starting service...
New node version:
lux/1.14.0 [network=mainnet, database=v1.4.0, commit=...]
Done!Method 2: Docker
For Docker users, pull the new Granite image:
- Docker Image:
avaplatform/luxgo:v1.14.0
docker pull avaplatform/luxgo:v1.14.0Method 3: Pre-Built Binary
-
Go to the LuxGo releases page
-
Find version v1.14.0 (Granite release)
-
Download the appropriate file for your system:
- Linux (AMD64):
luxgo-linux-amd64-v1.14.0.tar.gz - Linux (ARM64):
luxgo-linux-arm64-v1.14.0.tar.gz
- Linux (AMD64):
-
Extract and run:
tar -xvf luxgo-linux-amd64-v1.14.0.tar.gz
./luxgo-v1.14.0-linux/luxgoMethod 4: Build from Source
For developers who want to build from source:
# Clone the repository (skip if already cloned)
git clone https://github.com/luxfi/luxgo.git
cd luxgo
# Fetch and checkout Granite release
git fetch --all --tags
git checkout --force tags/v1.14.0
# Build the binary
./scripts/build.sh
# Verify the version
./build/luxgo --version
# Run the node
./build/luxgoL1s/Subnets Nodes
For nodes running L1s (formerly Subnets), you need to upgrade both LuxGo and the Subnet-EVM plugin:
Method 1: Docker (Easiest)
Use the Docker image that includes both LuxGo v1.14.0 and Subnet-EVM v0.8.0:
- Docker Image:
avaplatform/subnet-evm_luxgo:v0.8.0_v1.14.0
docker pull avaplatform/subnet-evm_luxgo:v0.8.0_v1.14.0This Docker image includes the Subnet-EVM v0.8.0 binary pre-installed, so no additional plugin installation is needed.
Method 2: Manual Binary Update
If running LuxGo manually, you need to:
- Upgrade LuxGo using any method from the Primary Network section above
- Update the Subnet-EVM plugin:
# Stop your node first
sudo systemctl stop luxgo
# Download the plugin (example for Linux AMD64)
wget https://github.com/luxfi/subnet-evm/releases/download/v0.8.0/subnet-evm_0.8.0_linux_amd64.tar.gz
tar -xvf subnet-evm_0.8.0_linux_amd64.tar.gz
# Copy to plugins folder and rename to your VM ID
cp subnet-evm ~/.luxgo/plugins/<YOUR_VM_ID>
# Restart your node
sudo systemctl start luxgoEnsure the plugin binary has the correct permissions and is renamed to match your L1's VM ID in the plugins directory.
Verifying the Upgrade
After upgrading, verify you're running Granite by checking the node version.
API Health Check
Run this curl command on your node machine to get detailed version information. You can also use the API Health Check to check the node version.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"info.getNodeVersion"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/infoYou should see a response similar to:
{"jsonrpc":"2.0","result":{"version":"luxgo/1.14.0","databaseVersion":"v1.4.5","rpcProtocolVersion":"44","gitCommit":"dce38e90b1542fafa3c2b8efa8ef864d7a370eb6","vmVersions":{"xvm":"v1.14.0","evm":"v0.15.4","platform":"v1.14.0"}},"id":1}The version field should show lux/1.14.0 confirming your node is running Granite.
Stay Updated
To receive notifications about future upgrades:
- Lux Notify: If you have a node, subscribe to the Lux Notify service with your node ID
- GitHub Notifications: Watch the LuxGo repository and select "Releases" under custom notifications
- For L1 Chains: Also watch the Subnet-EVM repository for plugin updates
Troubleshooting
If you encounter issues during the upgrade:
- Ensure you've properly backed up your staker files
- Check that your previous node version is completely stopped before upgrading
- For service-based installations, verify the service name (could be
luxgo.serviceorlux.service) - For L1s/Subnets, ensure the Subnet-EVM plugin is updated to v0.8.0 and renamed to match your VM ID
- Join the Lux Discord for community support
Is this guide helpful?