SVM Validator Installation — Script Bug Fixes & the Latest Approach
The **Steem Virtual Machine (SVM) v0.0.3 ** validator setup has received several important script improvements.
The validator installation process is now designed to make onboarding a brand-new SVM validator easier, more reliable, and more automated.
This post explains the latest recommended approach for installing a new SVM validator from a clean Ubuntu server.
Important: All new validators should use the latest
feat/v0.0.3-bridge-oraclebranch. Do not use an older copy of the repository or an outdated validator setup script.
What Changed?
The main goal of the latest validator setup is to reduce the amount of manual configuration required by validators.
The new-validator.sh script handles the major parts of the installation process, including:
- SVM repository setup
- Validator node initialization
- Steem account verification
- Genesis synchronization
- SVM account creation
- Validator account registration
- Faucet funding
- Validator creation
- Bridge Oracle configuration
- Bridge Oracle startup
This means a new validator can start from a clean server and follow a single guided installation process instead of manually configuring each component.
1. Start With a Clean Server
For a brand-new validator, start with a clean Ubuntu server with:
- Docker
- Docker Compose
- Git
- Stable Internet connectivity
- Sufficient storage for blockchain data
Make sure the server has a public network connection suitable for operating an SVM validator.
Before starting, make sure you also have:
- A Steem account
- Access to the account's public keys
- A CoinMarketCap API key
- A secure place to store the SVM mnemonic
2. Clone the Latest SVM Repository
Clone the repository:
git clone https://github.com/blazeapps007/SteemVirtualMachine-EVM.git
cd SteemVirtualMachine-EVM
Fetch the latest remote branches:
git fetch origin
Now check the available branches:
git branch -r
You should find:
origin/feat/v0.0.3-bridge-oracle
3. Checkout the Correct Branch
This is an important change from the older installation instructions.
The branch is:
feat/v0.0.3-bridge-oracle
Create a local tracking branch:
git switch -c feat/v0.0.3-bridge-oracle --track origin/feat/v0.0.3-bridge-oracle
Verify:
git branch --show-current
Expected:
feat/v0.0.3-bridge-oracle
You can also verify the current commit:
git log -1 --oneline
4. Run the New Validator Installer
Once you are on the correct branch, run:
sh new-validator.sh
The script will guide you through the installation.
This is the recommended installation method for a brand-new validator.
You should not manually create the validator configuration unless you have a specific reason to do so.
5. Enter Your Steem Username
The installer will ask:
Steem username (becomes your validator moniker):
Enter your Steem username.
For example:
blaze.apps
The Steem username will be used as your SVM validator moniker.
6. Verify Your Steem Public Keys
The script will retrieve the public keys associated with your Steem account.
You will see information similar to:
Fetched public keys for 'blaze.apps':
owner: STM...
active: STM...
posting: STM...
Use these? [Y/n]:
Carefully verify the information.
If the keys are correct:
y
Continue.
Security reminder
Only public keys should be displayed.
Never provide:
- Steem private keys
- Steem passwords
- SVM private keys
- SVM mnemonic
7. Configure the CoinMarketCap API
The Bridge Oracle requires a CoinMarketCap API key for price-feed functionality.
The installer will request:
CoinMarketCap API key (REQUIRED — free at coinmarketcap.com/api):
Enter your API key and continue.
Keep this API key private.
8. Select an Existing SVM RPC Node
The installer will ask for an existing SVM RPC endpoint.
For example:
Existing node's RPC to fetch genesis + sync from [http://57.131.13.43:26657]:
Use the trusted RPC endpoint provided by the SVM network operators.
The installer will use the endpoint to obtain the network genesis and synchronize your new validator.
You should see a successful genesis download similar to:
✔ Genesis fetched from http://57.131.13.43:26657/genesis.
9. Let the Script Initialize and Sync the Node
The installer will configure the SVM node and start it.
You may see:
==> Setting node moniker to 'YOUR_MONIKER'…
==> Starting the node…
[+] up 1/1
==> Waiting for block height ≥ 1…
The script waits until the node is able to communicate with the network.
Once synchronization begins successfully, you should see a message indicating that the node is producing or receiving blocks.
At this point, do not interrupt the installation.
10. Generate the SVM Validator Account
The installer will generate your SVM account.
You will see information similar to:
==> Generating SteemVM key 'YOUR_MONIKER'…
The generated account will include an SVM address similar to:
steem1...
and a validator operator address:
steemvaloper1...
11. STOP AND SAVE YOUR MNEMONIC
This is the most important manual step.
During account creation, the installer will display your mnemonic.
You may see:
Important: write this mnemonic phrase in a safe place.
Save the mnemonic before continuing.
The mnemonic is required to recover the generated SVM account.
Store it securely and offline.
Never:
- Post it publicly
- Send it through Telegram/Discord
- Put it into GitHub
- Put it in a public
.env - Send it to another validator
- Take an unsecured screenshot of it
If the script says that it could not automatically capture the mnemonic, manually copy it from the terminal immediately.
12. Record Your SVM Addresses
The installer will display your validator information.
For example:
moniker: YOUR_MONIKER
address: steem1...
valoper: steemvaloper1...
Keep both addresses.
The most important one for validator monitoring is the:
steemvaloper1...
validator operator address.
13. Register Your Steem Account With SVM
The installer will instruct you to send a small amount of STEEM from your Steem account to the SVM registration account.
The transaction uses a specific memo.
The format is:
svm-register YOUR_SVM_ADDRESS
For example:
svm-register steem16d9lejs0hpqv4vswzn5yle8xpp9w92wx63g70f
The memo must be exact
Do not add:
register
or:
validator
or any other additional text.
Use exactly:
svm-register YOUR_SVM_ADDRESS
The script will then wait for the registration attestation.
Depending on network activity, this may take some time.
14. Wait for Registration Confirmation
The installer may display:
==> Waiting for attestation…
==> still waiting...
This is normal.
Once the registration is confirmed, you should see a message indicating that your Steem name has been confirmed as active for the SVM account.
At this point, the Steem identity and SVM validator account are linked.
15. Receive the Validator Faucet Funds
The installer will automatically request the validator faucet funds.
The expected process is similar to:
==> Claiming faucet…
✔ Faucet sent 5000 STEEM
The installer then waits for the funds to arrive.
Once the balance is detected, the installation continues automatically.
16. Create the Validator
The script will generate the validator configuration and submit the validator creation transaction.
You should see something similar to:
==> Writing validator.json…
==> Creating the validator…
A successful transaction should return:
code: 0
The installer will then confirm that the validator creation transaction has been broadcast.
17. Configure the Bridge Oracle
This is one of the important parts of the v0.0.3 setup.
The installer configures the Bridge Oracle using the validator identity generated during the installation.
You should see output similar to:
==> Exporting key for oracle/.env…
✔ oracle/.env written.
The Oracle environment is now prepared.
18. Start the Bridge Oracle
The installer starts the Bridge Oracle using Docker Compose.
You may see:
==> Starting the oracle (go profile)…
[+] up 2/2
✔ Container steemvm-node Running
✔ Container steemvm-oracle-go Recreated
✔ All done.
At this point you should have both:
SVM Node
+
Bridge Oracle
running on the validator server.
19. Verify Docker Services
Run:
docker compose ps
Confirm that the required SVM services are running.
If a container is repeatedly restarting, do not assume the installation is complete. Check its logs before proceeding.
20. Verify Your Validator
Use your validator operator address:
docker exec steemvm-node /root/go/bin/steemvmd query staking validator YOUR_VALOPER_ADDRESS
For example:
docker exec steemvm-node /root/go/bin/steemvmd query staking validator steemvaloper1...
Review the returned validator information.
21. Monitor the Bridge Oracle
To watch the Oracle logs:
docker compose logs -f oracle-go
Keep an eye on these logs during the first startup.
The objective is to confirm that:
- The Oracle container remains running
- The Oracle can communicate with the SVM node
- Price-feed operations are functioning
- No persistent configuration or authentication errors are occurring
22. Recommended Final Checks
After the installation completes, run:
git branch --show-current
Confirm:
feat/v0.0.3-bridge-oracle
Then:
docker compose ps
Then:
docker exec steemvm-node /root/go/bin/steemvmd query staking validator YOUR_VALOPER_ADDRESS
Finally:
docker compose logs -f oracle-go
These checks confirm the three major components:
Correct Git Branch
↓
SVM Validator
↓
Bridge Oracle
New Validator Installation — Complete Flow
The latest recommended flow is:
Fresh Ubuntu Server
↓
Install Docker / Docker Compose
↓
Clone SteemVirtualMachine-EVM
↓
git fetch origin
↓
Checkout feat/v0.0.3-bridge-oracle
↓
Run new-validator.sh
↓
Enter Steem Username
↓
Verify Public Keys
↓
Enter CoinMarketCap API Key
↓
Select Trusted SVM RPC
↓
Fetch Genesis
↓
Initialize & Sync SVM Node
↓
Generate SVM Account
↓
SAVE MNEMONIC
↓
Record SVM Address + Valoper Address
↓
Send svm-register Transaction
↓
Wait for Registration Attestation
↓
Receive Validator Faucet
↓
Create Validator
↓
Configure Bridge Oracle
↓
Start Bridge Oracle
↓
Verify Validator
↓
Monitor Oracle
Important: Existing Validators vs Brand-New Validators
This guide is specifically for a brand-new SVM validator.
If you already have an existing SVM validator, do not blindly run new-validator.sh on your existing node.
A new-validator installation creates a new SVM account and performs the registration and validator creation workflow.
Existing validators should follow the appropriate upgrade procedure instead.
Final Words
The v0.0.3 Bridge Oracle release makes validator onboarding much simpler by moving a large part of the setup into an automated installation script.
The most important things for a new validator are:
- Use the correct
feat/v0.0.3-bridge-oraclebranch. - Run the latest
new-validator.sh. - Verify your Steem public keys carefully.
- Use the exact
svm-register YOUR_SVM_ADDRESSmemo. - Save your SVM mnemonic securely.
- Verify the validator after creation.
- Make sure the Bridge Oracle is running.
- Monitor the Oracle logs after installation.
The objective is simple:
Clean server → automated setup → synchronized SVM node → registered Steem identity → validator created → Bridge Oracle running.
This is the recommended approach for bringing a new SVM validator onto the v0.0.3 Bridge Oracle testnet.
Welcome to the SVM Validator Network.