diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 66ea321f..9277fb01 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -41,10 +41,7 @@ jobs: runs-on: ubuntu-latest env: DEFAULT_REF: next - # v0.14 pins tutorials to the PR #186 branch (kbg/chore/v14-migration) - # so the live /next/ ingest matches what v0.14 snapshot was cut from. - # TODO: flip back to `main` once 0xMiden/tutorials#186 merges upstream. - DEFAULT_TUTORIALS_REF: kbg/chore/v14-migration + DEFAULT_TUTORIALS_REF: main steps: - name: Checkout docs site uses: actions/checkout@v4 diff --git a/.release/release-manifest.yml b/.release/release-manifest.yml index 9d4e5a80..3f94a6c9 100644 --- a/.release/release-manifest.yml +++ b/.release/release-manifest.yml @@ -3,7 +3,7 @@ refs: # exact, immutable refs per source repo (tags or release branches) protocol: "refs/tags/v0.14.4" node: "refs/tags/v0.14.9" miden-client: "refs/tags/v0.14.4" - tutorials: "refs/pull/186/head" + tutorials: "refs/heads/main" miden-vm: "refs/tags/v0.22.1" compiler: "refs/tags/v0.8.1" next_version: "0.15" diff --git a/docs/builder/tools/index.md b/docs/builder/tools/index.md index 5e0d4a94..30cda35e 100644 --- a/docs/builder/tools/index.md +++ b/docs/builder/tools/index.md @@ -22,9 +22,12 @@ Developer tools for building on and interacting with the Miden network. Use the -## Environments +## Toolchain + environments - + + + Install and switch between Miden toolchain channels — VM, compiler, client, stdlib, kernel — from a unified `miden` command. + Interactive environment for writing and testing Miden Assembly programs. diff --git a/docs/builder/tools/midenup.md b/docs/builder/tools/midenup.md new file mode 100644 index 00000000..fa5f0239 --- /dev/null +++ b/docs/builder/tools/midenup.md @@ -0,0 +1,117 @@ +--- +title: midenup +sidebar_label: Midenup +sidebar_position: 2 +description: "The Miden toolchain installer — bootstrap, pin, and switch between Miden VM / compiler / client / stdlib toolchains from a single `miden` entry point." +--- + +# midenup + +`midenup` is the Miden toolchain installer. One install gives you a unified `miden` command that delegates to the Miden VM, compiler (`midenc` + `cargo-miden`), client, stdlib, and transaction kernel — all versioned together as a single release channel. + + + + The installer repo. Tracks the canonical channel manifest and publishes prebuilt toolchain releases. + + + Machine-readable inventory of available toolchain channels and the component versions each one pins. + + + +## Install + +```bash title=">_ Install midenup" +cargo install midenup && midenup init +``` + +`midenup init` sets up `$MIDENUP_HOME`, writes a `miden` symlink into `$CARGO_HOME/bin`, and prepares the toolchain cache. Since most Rust users already have `$CARGO_HOME/bin` on their PATH, the `miden` command is ready immediately. + + +Run `miden --version`. If you see "command not found," add `$CARGO_HOME/bin` (default `~/.cargo/bin`) to your PATH and re-open the shell. + + +## Components it manages + + + + The MASM interpreter, prover, and verifier. Used by every Miden program. + + + `midenc` and `cargo-miden` — the Rust frontend that compiles `#[miden]` code to MASM. + + + `miden-client` — accounts, transactions, notes, proving. + + + `miden-stdlib` — the canonical MASM standard library. + + + `miden-base` — the transaction kernel that runs inside every account and note script. + + + Additional Miden components will be added to `midenup` as they ship. + + + +## Toolchain management + +### Install a channel + +```bash +midenup install stable # latest matching component set +midenup install 0.14 # pin to a specific release line +``` + +### Switch the active toolchain + +```bash +midenup set 0.14 # pin for the current project (writes miden-toolchain.toml) +midenup override 0.14 # set the system-wide default +midenup show active-toolchain # which one is active right now? +``` + +A `miden-toolchain.toml` in the current directory always wins — otherwise the system default applies, falling back to `stable` if none is set. + +### Uninstall + +```bash +midenup uninstall 0.14 +``` + +Delete `$MIDENUP_HOME` to uninstall `midenup` itself. Find its location with `midenup show home`. + + +Removing toolchain directories manually corrupts the `midenup` environment. Use `midenup uninstall` so the installer updates its bookkeeping. + + +## The `miden` entry point + +`miden` delegates to the right component based on the subcommand. Common aliases: + +| `miden` command | Delegates to | What it does | +| --- | --- | --- | +| `miden new` | `cargo miden new` | Create a new Miden Rust project | +| `miden build` | `cargo miden build` | Build the project | +| `miden new-wallet` | `miden-client new-wallet --deploy` | Create and deploy a wallet account | +| `miden account` | `miden-client account` | Create or inspect a local account | +| `miden faucet` | `miden-client mint` | Fund an account from the faucet | +| `miden deploy` | `miden-client -s public --account-type regular-account-immutable-code` | Deploy a public, immutable-code contract | +| `miden call` | `miden-client account --show` | Read state from an account (view) | +| `miden send` | `miden-client send` | Send a state-changing transaction | +| `miden simulate` | `miden-client exec` | Dry-run a transaction without committing | + +Everything outside the alias table is forwarded to the underlying binary — e.g., `miden exec …` goes straight through to `miden-client exec`. + +## Related + + + + Full environment setup — prerequisites, node install, first account. + + + Walk through `miden account`, `miden send`, `miden faucet`, and the rest. + + + Endpoints the `miden` CLI points at — RPC, faucet, remote prover, block explorer. + + diff --git a/sidebars.ts b/sidebars.ts index 2112d7a8..a49f8da5 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -241,6 +241,7 @@ const sidebars: SidebarsConfig = { }, ], }, + "builder/tools/midenup", "builder/tools/playground", "builder/tools/network", ], diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 8511a830..c0caa9c1 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -73,10 +73,10 @@ export default function Home(): JSX.Element { - Install midenup + Install midenup diff --git a/versioned_docs/version-0.14/builder/tools/index.md b/versioned_docs/version-0.14/builder/tools/index.md index 5e0d4a94..30cda35e 100644 --- a/versioned_docs/version-0.14/builder/tools/index.md +++ b/versioned_docs/version-0.14/builder/tools/index.md @@ -22,9 +22,12 @@ Developer tools for building on and interacting with the Miden network. Use the -## Environments +## Toolchain + environments - + + + Install and switch between Miden toolchain channels — VM, compiler, client, stdlib, kernel — from a unified `miden` command. + Interactive environment for writing and testing Miden Assembly programs. diff --git a/versioned_docs/version-0.14/builder/tools/midenup.md b/versioned_docs/version-0.14/builder/tools/midenup.md new file mode 100644 index 00000000..fa5f0239 --- /dev/null +++ b/versioned_docs/version-0.14/builder/tools/midenup.md @@ -0,0 +1,117 @@ +--- +title: midenup +sidebar_label: Midenup +sidebar_position: 2 +description: "The Miden toolchain installer — bootstrap, pin, and switch between Miden VM / compiler / client / stdlib toolchains from a single `miden` entry point." +--- + +# midenup + +`midenup` is the Miden toolchain installer. One install gives you a unified `miden` command that delegates to the Miden VM, compiler (`midenc` + `cargo-miden`), client, stdlib, and transaction kernel — all versioned together as a single release channel. + + + + The installer repo. Tracks the canonical channel manifest and publishes prebuilt toolchain releases. + + + Machine-readable inventory of available toolchain channels and the component versions each one pins. + + + +## Install + +```bash title=">_ Install midenup" +cargo install midenup && midenup init +``` + +`midenup init` sets up `$MIDENUP_HOME`, writes a `miden` symlink into `$CARGO_HOME/bin`, and prepares the toolchain cache. Since most Rust users already have `$CARGO_HOME/bin` on their PATH, the `miden` command is ready immediately. + + +Run `miden --version`. If you see "command not found," add `$CARGO_HOME/bin` (default `~/.cargo/bin`) to your PATH and re-open the shell. + + +## Components it manages + + + + The MASM interpreter, prover, and verifier. Used by every Miden program. + + + `midenc` and `cargo-miden` — the Rust frontend that compiles `#[miden]` code to MASM. + + + `miden-client` — accounts, transactions, notes, proving. + + + `miden-stdlib` — the canonical MASM standard library. + + + `miden-base` — the transaction kernel that runs inside every account and note script. + + + Additional Miden components will be added to `midenup` as they ship. + + + +## Toolchain management + +### Install a channel + +```bash +midenup install stable # latest matching component set +midenup install 0.14 # pin to a specific release line +``` + +### Switch the active toolchain + +```bash +midenup set 0.14 # pin for the current project (writes miden-toolchain.toml) +midenup override 0.14 # set the system-wide default +midenup show active-toolchain # which one is active right now? +``` + +A `miden-toolchain.toml` in the current directory always wins — otherwise the system default applies, falling back to `stable` if none is set. + +### Uninstall + +```bash +midenup uninstall 0.14 +``` + +Delete `$MIDENUP_HOME` to uninstall `midenup` itself. Find its location with `midenup show home`. + + +Removing toolchain directories manually corrupts the `midenup` environment. Use `midenup uninstall` so the installer updates its bookkeeping. + + +## The `miden` entry point + +`miden` delegates to the right component based on the subcommand. Common aliases: + +| `miden` command | Delegates to | What it does | +| --- | --- | --- | +| `miden new` | `cargo miden new` | Create a new Miden Rust project | +| `miden build` | `cargo miden build` | Build the project | +| `miden new-wallet` | `miden-client new-wallet --deploy` | Create and deploy a wallet account | +| `miden account` | `miden-client account` | Create or inspect a local account | +| `miden faucet` | `miden-client mint` | Fund an account from the faucet | +| `miden deploy` | `miden-client -s public --account-type regular-account-immutable-code` | Deploy a public, immutable-code contract | +| `miden call` | `miden-client account --show` | Read state from an account (view) | +| `miden send` | `miden-client send` | Send a state-changing transaction | +| `miden simulate` | `miden-client exec` | Dry-run a transaction without committing | + +Everything outside the alias table is forwarded to the underlying binary — e.g., `miden exec …` goes straight through to `miden-client exec`. + +## Related + + + + Full environment setup — prerequisites, node install, first account. + + + Walk through `miden account`, `miden send`, `miden faucet`, and the rest. + + + Endpoints the `miden` CLI points at — RPC, faucet, remote prover, block explorer. + + diff --git a/versioned_sidebars/version-0.14-sidebars.json b/versioned_sidebars/version-0.14-sidebars.json index b73e03ee..10b6778e 100644 --- a/versioned_sidebars/version-0.14-sidebars.json +++ b/versioned_sidebars/version-0.14-sidebars.json @@ -270,6 +270,7 @@ } ] }, + "builder/tools/midenup", "builder/tools/playground", "builder/tools/network" ]