OpenViSTAI · Agents · Blockchain · Crypto
Menu
Layer 1

Gowaves

Gowaves is an open-source Go implementation of the Waves blockchain node, plus libraries and command-line tools for operating nodes and developing software that interacts with the Waves blockchain.

Independent OpenViST project profile, based on linked sources.

Gowaves — OpenViST project profile in Layer 1.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Gowaves when you need Go-based node software, local blockchain infrastructure, or libraries for building Waves transaction and smart-contract integrations.

Who it is for

  • Go developers building applications or transaction workflows for Waves.
  • Blockchain operators running a self-hosted Waves node.
  • Teams working with Waves smart-contract and node tooling.

Documented uses

  • Run a Waves MainNet or TestNet node.
  • Import blockchain data into a Go node's state directory.
  • Create wallets and configure private-key loading for block generation.
  • Construct, sign and broadcast Waves InvokeScript transactions from Go.
  • Develop software using Waves libraries and supported blockchain APIs.
Before you choose

Requirements & limits

The repository is public and MIT-licensed. Prebuilt binaries are referenced for Linux, macOS and Windows through the GitHub Releases page. Building from source requires Go 1.26 or later.

  • Choose it when a Go implementation of the Waves node or client libraries is important.
  • Account for the reduced and limited REST API before selecting it for REST-dependent work.
  • Use the documented gRPC or MetaMask support where those interfaces fit the integration.
  • Plan around the incompatibility between Go-node and Scala-node state storage.
  • Use the documented TestNet client endpoint for the example transaction-broadcast workflow.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Set up a self-hosted Waves node from a binary

Download a Gowaves node binary and start a MainNet or TestNet node.

Before you start

  • A Linux, macOS or Windows system.
  • A suitable node binary from the Gowaves Releases page.
  • A path for the node state directory.

Steps

  1. Download the appropriate node binary from the Releases page.

  2. Run the node with ./node -state-path [path to node state directory].

  3. For TestNet, add -blockchain-type testnet; peer addresses may also be supplied as a comma-separated list.

Expected outcome

The Gowaves node process is started with the selected state directory and, where specified, the TestNet configuration.

Guide limitations

  • The default configuration runs MainNet.
  • The Go node's state storage is incompatible with the Scala node.
  • The repository identifies REST API support as partial and limited.
Source-based practical guide

Create and use a Gowaves wallet for block generation

Create an encrypted wallet file and provide it to a node for loading private keys.

Before you start

  • A suitable wallet utility binary from the Gowaves Releases page.
  • A password for the wallet file.
  • A node state directory and, for block generation, the required wallet path and password.

Steps

  1. Run ./wallet -new and provide a password when prompted.

  2. Start the node with -wallet-path [path to wallet file] and -wallet-password [password string].

  3. Use -blockchain-type testnet when configuring a TestNet node, if required.

Expected outcome

The wallet utility creates a wallet file, and the node is configured to attempt loading its private keys for block generation.

Guide limitations

  • The wallet file is encrypted with the password entered during creation.
  • The documentation describes key loading and block-generation configuration but does not establish that block generation will occur in a particular environment.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
2 October 2026
Original website title
wavesplatform/gowaves · Official homepage title · retained in its source language