Running the Solana integration

This guide will walk you through the basics of running the KYVE + Solana integration.

Requirements

  • Ethereum Wallet

  • You need $DEV and $KYVE (You can get some for free here)

  • Any device with a good internet connection

Docker

You can run the Solana integration directly from Docker.

To pull the latest Docker image, run:

docker pull kyve/solana-snapshots:latest

And to start your node, run the following (don't forget to pass in options):

docker run --rm --name kyve-solana-node kyve/solana-snapshots:latest --pool {POOL_ADDRESS} --private-key {PRIVATE_KEY} --stake 100

Prebuilt Binaries

We also provide prebuilt binaries for you to run.

We currently support Linux, MacOS, and Windows binaries - which you can download from here.

To run a binary, all you need to do is specify your options.

Run on Linux

./kyve-solana-snapshots-linux --pool {POOL_ADDRESS} --private-key {PRIVATE_KEY} --stake 100

Run on MacOS

./kyve-solana-snapshots-macos --pool {POOL_ADDRESS} --private-key {PRIVATE_KEY} --stake 100

Run on Windows

.\kyve-solana-snapshots-win.exe --pool {POOL_ADDRESS} --private-key {PRIVATE_KEY} --stake 100

Options

-p, --pool <string>

The address of the pool you want to run on.

-s, --stake <string>

The amount of tokens you want to stake.

-pk, --private-key <string>

Your Ethereum private key that holds $KYVE.

-k, --keyfile <string> optional

The path to your Arweave keyfile.

-n, --name <string> optional, default is a random name

The identifier name of the node.

-e, --endpoint <string> optional

A custom Moonbase Alpha endpoint.

-g, --gas-multiplier <string> optional

The amount that you want to multiply the default gas price by.

-st, --send-statistics <boolean> optional, default is true

Send statistics.

Verify a node is running correctly

Uploader

When you run as an uploader you should see something like:

2021-11-19 09:41:00.000  INFO 🚀 Starting node ...
    Name                   = kyve-solana-uploader
    Address                = 0x...
    Pool                   = 0x...
    Desired Stake          = 100 $KYVE

    @kyve/core             = v0.1.1
    @kyve/solana-snapshots = v0.0.3
2021-11-19 09:41:00.000  DEBUG [PoolState] Attempting to fetch pool state. 
2021-11-19 09:41:00.000  DEBUG [PoolState] Successfully fetched pool state. 
2021-11-19 09:41:00.000  INFO ⏱  Pool version requirements met. 
2021-11-19 09:41:00.000  INFO 💻 Running node on runtime @kyve/solana-snapshots. 
2021-11-19 09:41:00.000  INFO 🌐 Joining KYVE Network ... 
2021-11-19 09:41:00.000  INFO ✅ Connected to node 0x...
2021-11-19 09:41:00.000  INFO 👌 Already staked with the correct amount. 
2021-11-19 09:41:00.000  INFO 📚 Running as an uploader ... 
2021-11-19 09:41:00.000  INFO [Solana Snapshots] ✅ Connection created. Endpoint = ...

Validator

When you run as a validator you should see something like:

2021-11-19 09:41:00.000  INFO 🚀 Starting node ...
    Name                   = kyve-solana-validator
    Address                = 0x...
    Pool                   = 0x...
    Desired Stake          = 100 $KYVE

    @kyve/core             = v0.1.1
    @kyve/solana-snapshots = v0.0.3
2021-11-19 09:41:00.000  DEBUG [PoolState] Attempting to fetch pool state. 
2021-11-19 09:41:00.000  DEBUG [PoolState] Successfully fetched pool state. 
2021-11-19 09:41:00.000  INFO ⏱  Pool version requirements met. 
2021-11-19 09:41:00.000  INFO 💻 Running node on runtime @kyve/solana-snapshots. 
2021-11-19 09:41:00.000  INFO 🌐 Joining KYVE Network ... 
2021-11-19 09:41:00.000  INFO ✅ Connected to node 0x...
2021-11-19 09:41:00.000  INFO 👌 Already staked with the correct amount. 
2021-11-19 09:41:00.000  INFO 🧐 Running as an validator ... 
2021-11-19 09:41:00.000  INFO [Validator] ✅ Connection created. Endpoint = ...

Last updated

Was this helpful?