Build on Moksha Testnet

📘

Try the Quick Start First

This guide is the manual version of the steps automated by the create-datadao CLI tool explained in the DataDAO Creator Quick Start.

This guide walks you through the minimum steps needed to spin up a working DataDAO on the Moksha Testnet.

Need help or have questions? Join the Vana Builders Discord to get support and connect with other developers.

What You’ll Build

ComponentPurpose
VRC-20 Token ContractRepresents dataset value for trading and rewards.
DataDAO ContractManages data uploads and interactions onchain.
Proof-of-Contribution (PoC)Validates data authenticity using the Satya network.
Refiner + SchemaStructures data for querying, ensuring VRC-15 compliance.
Contributor UIA React app for contributing the data.

Prerequisites

Install and configure these tools. Use Moksha Faucet to cover the gas fees.

ToolVersionInstall Instructions
Node.js20+brew install node or Node.js
DockerLatestDocker Desktop
Python3+brew install python or Python
PoetryLatestpip install poetry or Poetry
Github AccountSign up →
Pinata AccountSign up →

Add Vana Testnet to Your Wallet

To use the Vana testnet (Moksha) from the browser, add it to your wallet (MetaMask, Rabby, etc.):

Network Name:  Vana Moksha
RPC URL:       https://rpc.moksha.vana.org
Chain ID:      14800
Currency:      VANA
Explorer:      https://moksha.vanascan.io

Optional: Create a Vana Wallet

For this guide, you'll need a wallet with access to the address, private_key, and public_key to manage your DataDAO.

We recommend creating a fresh wallet to keep things clean and secure, especially since you'll need access to the private_key when deploying contracts.

Most wallet apps like MetaMask and Rabby don't let you export the public key — so we’ll use a simple dev tool to grab all three values upfront.

Quick Wallet Setup

  1. Go to https://privatekeys.pw/keys/ethereum/random
  2. Pick any random key from the list
  3. Copy the:
    • Private key
    • Uncompressed public key (second row under "Public Keys" tab)

Save these values somewhere safe — you’ll use them in your .env and when registering your DataDAO.

🚧

Testnet Only — Do Not Use in Production

This method is for quick testing. For production, use a securely generated wallet — like one from Vana CLI, a hardware wallet, or any trusted EVM-compatible tool.

Import into MetaMask

  1. Click your account name → Add AccountPrivate Key
  2. Paste the private key

Or Import into Rabby

  1. Click your address → Add New AddressImport Private Key
  2. Paste the same private key

Once imported, MetaMask or Rabby will automatically detect the wallet from the private key — and you’ll be able to copy the wallet address directly, just like any other wallet.

Your goal in this step is to have access to:

  • address — your public-facing identity as DataDAO owner
  • public_key — used for signing and verification
  • private_key — required to deploy contracts

Fund Your Wallet with Testnet $VANA

To deploy your DataDAO, you’ll need some testnet $VANA. Here’s how to get it:

  1. Go to the Vana Faucet
  2. Paste your address into the input field
  3. Click “Follow us on X” to unlock the faucet
  4. Pass the CAPTCHA and click “Get 10 $VANA”

You’ll receive 10 $VANA on the Moksha testnet.

Confirm your balance

  1. Visit moksha.vanascan.io
  2. Paste your address into the search bar
  3. Within ~1-2 minutes, you should see your balance update
  4. Open the “Internal Transactions” tab to view the faucet transfer

💡

Tip

The faucet may take up to five minutes to send $VANA to your wallet.