Skip to content

docs(build): CosmWasm Quickstart and Build a Dapp guides (MTN-115)#339

Open
JohnnyWyles wants to merge 7 commits into
mainfrom
chore/mtn-115-build-guides
Open

docs(build): CosmWasm Quickstart and Build a Dapp guides (MTN-115)#339
JohnnyWyles wants to merge 7 commits into
mainfrom
chore/mtn-115-build-guides

Conversation

@JohnnyWyles

@JohnnyWyles JohnnyWyles commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Build section: two "happy path" guide pages (MTN-115, under the MTN-111 content umbrella). Commands grounded in the existing Beaker / LocalOsmosis / OsmoJS pages. Build clean.

Review links point at this PR's Vercel preview build.

New pages

  • CosmWasm Quickstart — the ordered happy path (install Beaker -> scaffold -> build/test on LocalOsmosis -> deploy to testnet), linking the existing detailed pages in sequence. Distinct from the CosmWasm index overview: this is "do these four things."
  • Build a Dapp — scaffold (create-cosmos-app) -> connect a wallet (CosmosKit) -> query (SQS/OsmoJS) -> compose and broadcast a swap, tying the individual SDK pages into one walkthrough.

Scope note

The third page in MTN-115's list, a module-development guide (how to add/modify an x/ module), is deferred. The issue flagged it as "assess audience demand"; it's a niche, high-effort page whose content lives better alongside the chain repo. Flagging for your decision rather than shipping a thin version.

The accuracy review half of MTN-115 (verifying the build/chain module specs, dev-environment commands, etc. against deployed source) is a separate, larger pass not included here.

Cross-branch note

Both pages reference the swap flow but link to the Integrate section generally (/integrate) rather than the new /integrate/swap page, because that page is on the unmerged MTN-114 branch (#338). Once #338 merges, these links can be pointed at /integrate/swap directly.


Accuracy sweep (added after initial review)

A full multi-agent, adversarially-verified audit of the entire Build section followed the initial pages. Every finding was independently verified (live-chain checks where relevant) before applying. 29 files changed.

CosmWasm re-led on cw-orchestrator. Beaker (unmaintained, last release Nov 2023) demoted to a referenced legacy path with a deprecation banner; the Quickstart, index, localosmosis, deployment, and verify-contract pages now lead with cw-orch + the official cw-template.

Verified fixes:

  • Governance params corrected against live mainnet (min_deposit 6000 OSMO, expedited 20000 OSMO; initial deposit 1500 OSMO at the 25% ratio).
  • Removed CLI: -b block and --broadcast-mode=block (both removed in SDK v0.47+) replaced with sync, across the CosmWasm pages and the multisig guide; legacy tx gov submit-proposal wasm-store replaced with tx wasm submit-proposal store-wasm; fixed the CODE_ID jq parse for SDK v0.47+.
  • Compile-breaking Rust: create:: → crate:: across cw-orch and Beaker code blocks; instantiate signature and LOCAL_OSMOSIS (not Juno).
  • Index pages: prose-vs-card mismatches fixed (dev-environment phantom "Build and Test" card, frontend missing "Build a Dapp"); added Developer Environment to the Build navbar dropdown.
  • Keys: osmovaloper/osmovalcons prefixes; multisig 18→6 decimal amount and sender; telescope osmojs imports.
  • Chain specs: gov self-links → same-page anchors; mint OSMO display; poolmanager noted as authoritative for pool_creation_fee; protorev em-dashes; tracker IDs removed from comments.

Build passes; onBrokenLinks set to throw.


Note

Low Risk
Documentation-only changes with no on-chain or application runtime impact; main risk is readers following outdated commands if any fix was missed.

Overview
Adds two happy-path guides: CosmWasm Quickstart (scaffold → cw-orchestrator → LocalOsmosis → testnet) and Build a Dapp (create-cosmos-app → CosmosKit → SQS/OsmoJS → swap broadcast). The CosmWasm index and related deployment pages now lead with cw-orchestrator; Beaker pages get a deprecation banner and stay as legacy reference.

The rest of the PR is a Build-section accuracy pass (~29 doc files): live gov deposit figures, SDK v0.47+ CLI (sync broadcast, tx wasm submit-proposal wasm-store, updated CODE_ID jq), validator key prefixes and multisig examples, pool creation fee sourced from poolmanager, and refreshed chain module specs (e.g. osmomath types in CL docs, incentives/lockup/superfluid messages, IBC hooks memo keys and async-ack section, downtime-detector queries). IA/nav tweaks add Developer Environment to the Build dropdown and align index prose with the card lists; several links point at hyperweb-io forks (CosmosKit, create-cosmos-app, Starship).

Reviewed by Cursor Bugbot for commit 52413bc. Bugbot is set up for automated code reviews on this repo. Configure here.

@JohnnyWyles JohnnyWyles marked this pull request as draft June 8, 2026 14:59
@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jun 18, 2026 3:22pm

Request Review

- osmosisd.md: align the example release tag in prose with the command
  (v31.0.3); Go 1.23.4 confirmed against the deployed go.mod.
- Fix a broken flag in the CosmWasm deployment guide (em-dash to
  `--target`) and an em-dash in prose.
- onchain spelling across 7 build/chain module specs.
Re-lead CosmWasm onto cw-orchestrator and the official cw-template, demoting the
unmaintained Beaker (last release 2023) to a referenced legacy path with a
deprecation banner. Fix verified content bugs found in a full audit of the
Build section:

- Governance: stale deposit params corrected against live mainnet (min_deposit
  6000 OSMO, expedited 20000 OSMO; initial deposit 1500 OSMO at the 25% ratio).
- CLI: replace removed `-b block` broadcast mode with `-b sync`; replace legacy
  `tx gov submit-proposal wasm-store` with `tx wasm submit-proposal store-wasm`
  (--summary); fix CODE_ID jq parsing to filter by event type and attribute key.
- Rust: fix compile-breaking `create::` -> `crate::` paths and prose; align
  cw-orch instantiate signature and use LOCAL_OSMOSIS not LOCAL_JUNO.
- Index pages: fix prose-vs-card mismatches (dev-environment phantom card,
  frontend missing Build a Dapp); add Developer Environment to the Build dropdown.
- Keys: correct osmovaloper/osmovalcons prefixes; fix multisig 18->6 decimal
  amount and sender; fix telescope osmojs imports and localhost link.
- Chain specs: gov self-links to same-page anchors; mint OSMO display; note
  poolmanager as authoritative for pool_creation_fee; remove protorev em-dashes.
- House style: drop tracker IDs from comments; fix javascript admonition,
  package.json block, node run command, and stale package/version references.
`--broadcast-mode=block` was removed in Cosmos SDK v0.47+ (only sync/async
remain), so the bank-send and tx-broadcast examples would error on the current
binary. Switch both to --broadcast-mode=sync. Completes the broadcast-mode
cleanup from the Build accuracy sweep.
Deep adversarially-verified audit of the chain module specs that the earlier pass
only skimmed. Each fix verified against deployed v31.0.1 source. Highlights:

- superfluid: correct the staking-power formula to amount * multiplier *
  (1 - MinimumRiskFactor) (was inverted); document the missing messages/events.
- tokenfactory: add mintToAddress/burnFromAddress to MsgMint/MsgBurn; fix the
  SetDenomMetadata proto label and state modifications.
- gamm: stop presenting the obsolete gamm pool_creation_fee as authoritative
  (poolmanager owns pool_creation_fee); drop the wrong 20 uusdc figure; fix the
  Spot Price / Pool query section structure.
- concentrated-liquidity: replace nonexistent MsgSwapExactIn/Out with the real
  poolmanager swap messages. pool-manager: link swaps to poolmanager, not gamm.
- lockup / incentives: document the missing messages (ExtendLockup, ForceUnlock,
  SetRewardReceiverAddress, MsgCreateGroup) and Gauge fields.
- twap: document the geometric TWAP API; fix sdk.Dec -> osmomath.Dec.
- mint: correct distribution proportions and epoch provisions to live values.
- ibc-hooks: add the Async Acks section; fix the malformed MsgExecuteContract
  example and the memo key names.
- cosmwasmpool: add the orderbook contract as a pool type alongside transmuter.
- Pin source links to the v31.0.1 tag; assorted event-table, anchor, and typo fixes.

Also removes a stale screenshot TODO from learn/get-started (screenshots updated).
@JohnnyWyles JohnnyWyles marked this pull request as ready for review June 17, 2026 16:22
Review fixes for the Build guides, verified against deployed versions.

- submit-wasm-proposal: the gov store-code subcommand is `wasm-store`, not
  `store-wasm` (wasmd v0.53.3 ships in Osmosis v31; `x/wasm/client/cli`
  defines `wasm-store`). The prior change inverted the token and would error
  "unknown command". Also drop `--run-as` (not a flag on the modern
  submit-proposal cmd) and add the required `--authority` (gov module address).
- quickstart: add cw-orch as an optional dependency (`cargo add --optional`)
  and clarify the `interface` feature flag is what keeps it out of the wasm
  artifact, matching the cw-orch page (the two had diverged).
- frontend/chain links: cosmos-kit, create-cosmos-app, and starship moved
  from the cosmology-tech GitHub org to hyperweb-io; repoint (redirects still
  work but will rot). Remove a dead link to the retired cosmology repo (404).
These are structural references (proto definitions, module/package locations,
long-lived keeper files), not version-specific behavioral claims. Pinning them
to v31.0.1 means they drift behind each mainnet patch (v31.0.2/.3 are already
tagged) and need manual bumping. Pointing at main keeps them current and
surfaces any real change to the reader. Verified every path (and the mint.proto
#L12 anchor) still resolves on main; the historical "as of v30" prose note is
left as-is.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant