Skip to content

Commit 943653b

Browse files
committed
Clarify Solana deployment model and typecheck flow
1 parent 00bb19d commit 943653b

3 files changed

Lines changed: 51 additions & 1 deletion

File tree

BUILD.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,28 @@ This repository already has a deployed devnet program and published references t
117117

118118
If you intentionally deploy a fresh program for your own environment, treat that as an environment-specific override, not as a silent documentation update.
119119

120+
## What Deployment Means Here
121+
122+
"Deploying to Solana" in this repository means deploying the Anchor program binary to a Solana cluster such as devnet.
123+
124+
It does not mean:
125+
126+
- uploading the whole GitHub repository on-chain
127+
- storing the docs frontend on-chain
128+
- moving your scripts, SDK, or markdown files into Solana accounts
129+
130+
What stays off-chain:
131+
132+
- the repository and source history
133+
- the docs/frontend hosting
134+
- the CLI scripts and migration helpers
135+
- operator workflows and CI
136+
137+
What goes on-chain:
138+
139+
- the compiled program
140+
- the accounts created and managed by the program during DAO operation
141+
120142
## Helpful checks
121143

122144
```bash

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,20 @@ That context matters for positioning, but this repo does not claim prize results
5454
- Local tests cover commit, reveal, finalize, execute, cancellation, delegation, keeper reveal, and treasury validation paths
5555
- This repo is production-minded, but still devnet-first and not represented as a completed mainnet governance system
5656

57+
## What Goes On Solana
58+
59+
For this kind of project, you do not upload the whole repository to Solana.
60+
61+
- The on-chain program is what gets deployed to the Solana network
62+
- The repository stays in GitHub as the source of truth for code, scripts, SDK, docs, and frontend assets
63+
- The docs frontend can be hosted separately, such as GitHub Pages
64+
- Operators and users interact with the deployed program through RPC, wallets, scripts, SDK calls, or the frontend
65+
66+
So if the question is "does the project need to be on Solana?", the practical answer is:
67+
68+
- yes, the program should be deployed on Solana if you want a real working product
69+
- no, the rest of the project is not stored on-chain and should not be treated as something you "upload to Solana"
70+
5771
## What Exists Today
5872

5973
- Commit-reveal voting with hidden tally during the voting window

scripts/verify.sh

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,16 @@ verify_test() {
4343
"$ANCHOR_BIN" test --skip-build --skip-deploy
4444
}
4545

46+
verify_typecheck() {
47+
echo "[verify] typescript typecheck"
48+
if [[ -x "./node_modules/.bin/tsc" ]]; then
49+
./node_modules/.bin/tsc --noEmit
50+
else
51+
echo "[verify] missing local TypeScript compiler. Run npm install or yarn install first." >&2
52+
return 1
53+
fi
54+
}
55+
4656
verify_scan() {
4757
echo "[verify] non-real-code scan"
4858
local pattern
@@ -96,6 +106,9 @@ case "$mode" in
96106
scan)
97107
verify_scan
98108
;;
109+
typecheck)
110+
verify_typecheck
111+
;;
99112
rpc)
100113
verify_rpc
101114
verify_rpc_health_unit
@@ -109,6 +122,7 @@ case "$mode" in
109122
all)
110123
ensure_required_tools "NODE_BIN:node" "ANCHOR_BIN:anchor" "SOLANA_BIN:solana" "CARGO_BIN:cargo"
111124
verify_tools
125+
verify_typecheck
112126
verify_fmt
113127
verify_lint
114128
verify_build
@@ -119,7 +133,7 @@ case "$mode" in
119133
verify_rpc_health
120134
;;
121135
*)
122-
echo "Usage: $0 [all|tools|fmt|lint|build|test|scan|rpc|rpc-health|rpc-health-unit]" >&2
136+
echo "Usage: $0 [all|tools|typecheck|fmt|lint|build|test|scan|rpc|rpc-health|rpc-health-unit]" >&2
123137
exit 2
124138
;;
125139
esac

0 commit comments

Comments
 (0)