This file is for the boring failures that waste time.
- Solana CLI in your
PATH - Rust stable
- Anchor CLI
0.31.1 - Node.js + Yarn
- Program ID in this repo:
5AhUsbQ4mJ8Xh7QJEomuS85qGgmK9iNvFqzF669Y7Psx
Official Solana references:
- RPC methods and commitment behavior: https://solana.com/docs/rpc
For this repository in particular, the practical RPC surface is small and explicit:
getVersionfor RPC health checksgetAccountInfofor contract/account inspectiongetProgramAccountsfor proposal discoverygetSlotandgetBlockTimefor phase timing in the docs frontend and devnet operator views
Commitment guidance worth following from the Solana docs:
confirmedis the default operational sweet spot when the app is tracking progressfinalizedis the safer read when you care more about rollback resistance than speed
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH"
yarn install
anchor buildIf you want the full local flow:
solana-test-validator --reset
anchor testbash scripts/verify.sh toolsUsually your Solana install is present but not exported into PATH.
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
solana --versionThis repo is pinned to 0.31.1.
anchor --version
yarn list @coral-xyz/anchorIf your CLI or JS package is materially newer or older, fix that first.
Use the repo scripts instead of guessing:
bash scripts/fund-devnet.sh 2
bash scripts/check-rpc-health.shIf your network is proxying RPC traffic badly, set NO_PROXY for the RPC hosts or switch networks.
If solana CLI is not installed, some repository tooling still works:
bash scripts/check-rpc-health.shuses direct JSON-RPC over HTTPbash scripts/check-contracts.sh <ADDRESS>now falls back to JSON-RPC account inspection instead of requiringsolana account
If you do need the full Solana toolchain, install the CLI before debugging Anchor-specific failures. This repo still assumes the CLI is present for local validator, deploy, and several shell workflows.
Check wallet and RPC explicitly:
solana config get
anchor keys listThen either:
anchor deploy --provider.cluster devnetor:
./deploy.shThis repository already has a deployed devnet program and published references to its address. Do not casually rotate the program ID just because a local deploy produced a new one.
If you intentionally deploy a fresh program for your own environment, treat that as an environment-specific override, not as a silent documentation update.
"Deploying to Solana" in this repository means deploying the Anchor program binary to a Solana cluster such as devnet.
It does not mean:
- uploading the whole GitHub repository on-chain
- storing the docs frontend on-chain
- moving your scripts, SDK, or markdown files into Solana accounts
What stays off-chain:
- the repository and source history
- the docs/frontend hosting
- the CLI scripts and migration helpers
- operator workflows and CI
What goes on-chain:
- the compiled program
- the accounts created and managed by the program during DAO operation
bash scripts/verify.sh fmt
bash scripts/verify.sh lint
bash scripts/verify.sh build
bash scripts/verify.sh test
bash scripts/verify.sh scan