SVM Validator Installation — Script Bug Fixes & the Latest Approach

in SVM - EVM on STEEMlast month

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-oracle branch. 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:

  1. Use the correct feat/v0.0.3-bridge-oracle branch.
  2. Run the latest new-validator.sh.
  3. Verify your Steem public keys carefully.
  4. Use the exact svm-register YOUR_SVM_ADDRESS memo.
  5. Save your SVM mnemonic securely.
  6. Verify the validator after creation.
  7. Make sure the Bridge Oracle is running.
  8. 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.