diff --git a/config/theme/navbar.ts b/config/theme/navbar.ts index 362ac9652a..71f00f0ed2 100644 --- a/config/theme/navbar.ts +++ b/config/theme/navbar.ts @@ -450,9 +450,9 @@ const tools: NavbarItem = { activeBasePath: 'docs/tools/openzeppelin-contracts' }, { - to: '/docs/tools/scaffold-stellar', - label: 'Scaffold Stellar', - activeBasePath: 'docs/tools/scaffold-stellar' + to: '/docs/tools/stellar-scaffold', + label: 'Stellar Scaffold', + activeBasePath: 'docs/tools/stellar-scaffold' }, { to: '/docs/tools/developer-tools', diff --git a/docs/build/smart-contracts/getting-started/README.mdx b/docs/build/smart-contracts/getting-started/README.mdx index b8967e41c0..75915cd784 100644 --- a/docs/build/smart-contracts/getting-started/README.mdx +++ b/docs/build/smart-contracts/getting-started/README.mdx @@ -9,7 +9,7 @@ sidebar_position: 20 :::tip -Start with [Scaffold Stellar](https://scaffoldstellar.org/docs/quick-start) for the fastest path to a working dApp on Stellar. Scaffold Stellar is a toolkit that bundles a CLI, contract templates, a smart contract registry, and a modern frontend for building full-stack dApps. +Start with [Stellar Scaffold](https://stellarscaffold.org/docs/quick-start) for the fastest path to a working dApp on Stellar. It scaffolds the contracts, the frontend, and the wiring between them, so you get a running full-stack app before writing any of the setup yourself. _Use this getting started guide for a lower-level tour of Stellar smart contract development from the main Stellar CLI._ diff --git a/docs/build/smart-contracts/getting-started/hello-world-frontend.mdx b/docs/build/smart-contracts/getting-started/hello-world-frontend.mdx index 8dfdc9a636..88e81f789e 100644 --- a/docs/build/smart-contracts/getting-started/hello-world-frontend.mdx +++ b/docs/build/smart-contracts/getting-started/hello-world-frontend.mdx @@ -12,7 +12,7 @@ In the previous examples, we invoked the contracts using the Stellar CLI, and in :::info -This example shows one way of creating a binding between a contract and a frontend. For a more comprehensive guide to Dapp frontends, see the [Build a Dapp Frontend](../../apps/dapp-frontend.mdx) documentation. For tooling that helps you start with smart contracts integrated with a working frontend environment quickly, jump to learn more about [Scaffold Stellar](#using-scaffold-stellar-to-rapidly-develop-dapps). +This example shows one way of creating a binding between a contract and a frontend. For a more comprehensive guide to Dapp frontends, see the [Build a Dapp Frontend](../../apps/dapp-frontend.mdx) documentation. For tooling that helps you start with smart contracts integrated with a working frontend environment quickly, jump to learn more about [Stellar Scaffold](#using-stellar-scaffold-to-rapidly-develop-dapps). ::: @@ -127,52 +127,16 @@ When you start up the dev server with `npm run dev`, you will see similar output ::: -## Using Scaffold Stellar to rapidly develop dapps +## Using Stellar Scaffold to rapidly develop dapps -[Scaffold Stellar](../../../tools/scaffold-stellar.mdx) is a developer toolkit for building decentralized applications and smart contracts on the Stellar blockchain, integrated with a frontend application. +This tutorial wired a frontend to a contract by hand so you could see each piece: generate the bindings, install the package, keep the deployed contract and the generated client in sync. That loop is the same on every project, and [Stellar Scaffold](../../../tools/stellar-scaffold.mdx) exists to automate it — it scaffolds the frontend, regenerates type-safe TypeScript clients whenever your contracts change, and manages deployments across networks, so you spend your time on the app instead of the plumbing between contract and UI. -Getting a running set of smart contracts and a frontend can be done in just a few short steps with Scaffold Stellar. This tutorial will show you how to make a new Scaffold Stellar project. - -If you'd like to use existing smart contracts in a Scaffold Stellar project, all you need to do is copy them to the `contracts/` folder in your project root! - -1. Install the Scaffold Stellar CLI - -Since you already have the Stellar CLI installed, you have everything you need to install Scaffold Stellar: - -```sh -cargo binstall stellar-scaffold-cli -``` - -We recommend using [binstall](https://crates.io/crates/cargo-binstall) for faster installs, or use `cargo install --locked stellar-scaffold-cli`. Scaffold Stellar is a plugin on the Stellar CLI, meaning you'll use `stellar scaffold` from the command line. - -2. Initialize a fresh Scaffold Stellar project - -```sh -stellar scaffold init -``` - -Scaffold Stellar is a plugin on the Stellar CLI, so you'll run commands as `stellar scaffold `. `init` initializes a fresh Stellar Scaffold project at the provided path. - -3. Install Node dependencies & set up environment variables - -Make sure you already have [Node.js](https://nodejs.org/en/download/package-manager), and run: - -```sh -cd # make sure you're in your new project's directory -npm install # install frontend dependencies -cp .env.example .env # copies the example frontend environment variable file to your own copy -``` - -4. Start your app in development mode! +Scaffold is a plugin on the Stellar CLI you already have installed, so you run it as `stellar scaffold`: ```sh -npm start # or npm run dev +cargo install --locked stellar-scaffold-cli ``` -This command does two tasks concurrently: it runs `stellar scaffold watch --build-clients` which compiles your smart contracts, updating them as you change them, deploying them to your local Stellar chain (make sure Docker is running!), and configures all these settings via your `environments.toml` file in your root project folder. - -The second task it runs is `vite`, a popular JavaScript build tool to compile and watch your React frontend for changes. - -After a little compiling time, you'll be able to see your running app at [localhost:5173](http://localhost:5173)! +From there, [`stellar scaffold init`](https://stellarscaffold.org/docs/quick-start) creates a project with contracts, a frontend, and a live dev loop already wired together. Existing contracts work too — Scaffold picks them up from the project's contracts directory. -Learn more about [Scaffold Stellar](../../../tools/scaffold-stellar.mdx). +For the full walkthrough, including local network setup, environment configuration, and deploying to testnet and mainnet, see the [Stellar Scaffold quick start](https://stellarscaffold.org/docs/quick-start). diff --git a/docs/tools/README.mdx b/docs/tools/README.mdx index eb9364742c..f18a3331c9 100644 --- a/docs/tools/README.mdx +++ b/docs/tools/README.mdx @@ -35,9 +35,9 @@ OpenZeppelin Relayer, also known as Stellar Channels Service, is a managed infra OpenZeppelin Stellar Contracts is a collection of audited contracts and utilities for Stellar. The contracts are developed by OpenZeppelin in collaboration with the Stellar community and the Stellar Development Foundation (SDF), in an effort to bring a library of high-quality and audited contracts that can be used to build applications on the Stellar network. -### [Scaffold Stellar](./scaffold-stellar.mdx) +### [Stellar Scaffold](./stellar-scaffold.mdx) -Scaffold Stellar is a developer toolkit for building decentralized applications (dApps) and smart contracts on Stellar. It provides CLI tools, reusable contract templates, a smart contract registry, and a modern frontend. +Stellar Scaffold is a full-stack toolkit for building decentralized applications (dApps) and smart contracts on Stellar, wrapping the contract-to-frontend workflow end to end. ### [More Developer Tools](./developer-tools/README.mdx) diff --git a/docs/tools/cli/plugins-list.mdx b/docs/tools/cli/plugins-list.mdx index 9bb4424dc6..b3e733cd5b 100644 --- a/docs/tools/cli/plugins-list.mdx +++ b/docs/tools/cli/plugins-list.mdx @@ -8,10 +8,16 @@ This is a list of all plugins made available by the community, so please review ### [stellar-scaffold/cli](https://github.com/stellar-scaffold/cli) -The Stellar app lifecycle streamlined. `stellar scaffold` CLI: init, learn, & build ambitious apps. `stellar registry` CLI: author, publish, deploy & upgrade Wasm binaries + smart contracts (or use someone else's) +The easiest way to build Stellar apps. One command scaffolds your contracts, a modern frontend, and type-safe clients that connect the two, keeping everything in sync as you build so you don't have to. [https://github.com/stellar-scaffold/cli](https://github.com/stellar-scaffold/cli) +### [stellar-registry/cli](https://github.com/stellar-registry/cli) + +Stellar CLI plugin for publishing and deploying contracts via the on-chain registry + +[https://github.com/stellar-registry/cli](https://github.com/stellar-registry/cli) + ### [lightsail-network/stellar-contract-bindings](https://github.com/lightsail-network/stellar-contract-bindings) CLI tool designed to generate language bindings for Stellar Soroban smart contracts. diff --git a/docs/tools/openzeppelin-contracts.mdx b/docs/tools/openzeppelin-contracts.mdx index 1c6fabc41e..fa04f59e2e 100644 --- a/docs/tools/openzeppelin-contracts.mdx +++ b/docs/tools/openzeppelin-contracts.mdx @@ -17,7 +17,7 @@ For latest OpenZeppelin developer docs, please visit: [https://docs.openzeppelin ## Getting started with Contract Wizard -[OpenZeppelin's Contract Wizard](https://wizard.openzeppelin.com/stellar) includes support for Stellar’s Rust-based smart contracts, making it easier for developers to generate and deploy secure, audited contracts. After you have selected your desired template and options you can download it as a single file, a Rust development package, or a [Scaffold Stellar Package](./scaffold-stellar). Try it out below or visit the wizard [here](https://wizard.openzeppelin.com/stellar). +[OpenZeppelin's Contract Wizard](https://wizard.openzeppelin.com/stellar) includes support for Stellar’s Rust-based smart contracts, making it easier for developers to generate and deploy secure, audited contracts. After you have selected your desired template and options you can download it as a single file, a Rust development package, or a [Stellar Scaffold Package](./stellar-scaffold). Try it out below or visit the wizard [here](https://wizard.openzeppelin.com/stellar). diff --git a/docs/tools/scaffold-stellar.mdx b/docs/tools/scaffold-stellar.mdx deleted file mode 100644 index c21c25d57c..0000000000 --- a/docs/tools/scaffold-stellar.mdx +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Scaffold Stellar -description: Convention-over-configuration toolkit for Stellar smart contract development -sidebar_label: Scaffold Stellar -sidebar_position: 45 ---- - -import YouTube from "@site/src/components/YouTube"; - -**Scaffold Stellar** is a developer toolkit for building decentralized applications (dApps) and smart contracts on the Stellar blockchain. It helps you go from idea to working full-stack dApp faster — by providing CLI tools, reusable contract templates, a smart contract registry, and a modern frontend. - -Visit the [Scaffold Stellar](https://scaffoldstellar.org) homepage for guides, docs, and more. - -## Prerequisites - -Before you begin, make sure you have the following installed: - -| Tool | Description | Install Link | -| --- | --- | --- | -| [Rust & Cargo](https://www.rust-lang.org/tools/install) | For writing and compiling smart contracts | `curl https://sh.rustup.rs -sSf \| sh` | -| [Node.js & npm](https://nodejs.org) | For frontend development | Download from official site | -| [Stellar CLI](https://github.com/stellar/stellar-cli) | For building, deploying, and interacting with smart contracts | [`Link for the repo`](https://github.com/stellar/stellar-cli) | -| [Docker](https://www.docker.com/get-started) | For running a local Stellar network via the `stellar/quickstart` image | [Download Docker Desktop](https://www.docker.com/products/docker-desktop) | - -## Getting Started - -### Installation - -Install the required CLI tools: - -```bash -# Install stellar-scaffold CLI -cargo install --locked stellar-scaffold-cli - -# Install registry CLI (to easily deploy your contract to the registry) -cargo install --locked stellar-registry-cli -``` - -:::tip[For a faster install, use cargo-binstall] - -Instead of building from source, you can speed up the installation by getting the binary directly using [cargo-binstall](https://github.com/cargo-bins/cargo-binstall). This is especially useful in CI environments. - -```bash -# Install cargo-binstall (see other install methods in their README linked above) -cargo install cargo-binstall - -# Install the binaries -cargo binstall stellar-scaffold-cli stellar-registry-cli -``` - -::: - -While the CLIs are installing, check out this intro to Scaffold Stellar! - - - -### Creating a New Project - -1. Initialize a new project: - -```bash -stellar scaffold init my-project -cd my-project -``` - -This will create the project scaffold in the directory you specified with a few sample contracts. Or you can start from the [OpenZeppelin Wizard](./openzeppelin-contracts) to customize your contract and start a Scaffold Stellar project from there. - -2. Start the app: - -```bash -npm start -``` - -You'll have a running dApp integrated with the starter contracts, ready to start building! - -Explore the `environments.toml` file to customize your development environment(s) that's set by your `.env` file. - -## Project Structure - -When you run `stellar scaffold init`, it creates a full-stack project structure with example contracts and a modern frontend: - -``` -my-project/ -├── contracts/ # Rust smart contracts (compiled to WASM) -├── packages/ # Auto-generated TypeScript contract clients -├── src/ # React frontend code -│ ├── components/ # Reusable UI components -│ ├── contracts/ # Contract interaction logic -│ ├── App.tsx # Main app component -│ └── main.tsx # Entry point -├── environments.toml # Configuration per environment (dev/test/prod) -├── .env # Local environment variables -├── package.json # Frontend packages -└── target/ # Build outputs -``` - -This template provides a ready-to-use frontend application with example smart contracts and their TypeScript clients. The frontend is set up with `Vite`, `React`, and includes basic components for interacting with the contracts. - -## Features - -- **CLI Plugins for Stellar** - - `stellar scaffold init`: Initialize new Stellar smart contract projects - - `stellar scaffold upgrade`: Transform existing Stellar contract workspaces into Scaffold projects - - `stellar scaffold build`: Build contracts and generate TypeScript clients - - `stellar scaffold watch`: Development mode with hot reloading - - `stellar registry`: Publish, deploy, and manage smart contracts - -- **Environment Management** - - Environment-specific builds (development, testing, staging, production) - - Seamless integration with both local and deployed contracts - - Network configuration via `environments.toml` - - Support for multiple deployment environments - -- **Smart Contract Registry** - - On-chain publishing platform for Wasm binaries - - Version management and contract naming - - Contract verification and dependency management - - Secure deployment workflow for testnet and mainnet - -### More Resources - -For more information, check out the [project on GitHub](https://github.com/theahaco/scaffold-stellar)! - -## Video Series - -Check out the [Scaffold Stellar video series on YouTube](https://www.youtube.com/playlist?list=PLmr3tp_7-7Gjj6gn5-bBn-QTMyaWzwOU5) for step-by-step tutorials and guides: - -- [Scaffold Stellar | A Boilerplate For Stellar Developers](https://www.youtube.com/watch?v=7wKD3d9w5d0) - Comprehensive walkthrough of Scaffold Stellar as a boilerplate for Stellar development. -- [Scaffold Stellar: Getting Started and Guess the Number](https://www.youtube.com/watch?v=86hWe8Ragtg) - A practical tutorial that walks through improving the default "Guess the Number" dApp included in Scaffold Stellar. -- [Building dApps with Scaffold Stellar](https://www.youtube.com/watch?v=t85jrhsTYV8) - An overview of the open source Scaffold Stellar development toolkit and how it streamlines the creation and management of Stellar apps. -- [Live Demo of Scaffold Stellar](https://www.youtube.com/watch?v=0syGaIn3ULk) - A live demonstration showing Scaffold Stellar in action. -- [Intro to Scaffold Stellar](https://www.youtube.com/watch?v=559ht4K4pkM) - Introduction to the Scaffold Stellar toolkit and its features. -- [Which Frontend?](https://www.youtube.com/watch?v=pz7O54Oia_w) - Guide on choosing and working with frontend frameworks in Scaffold Stellar. -- [Scaffold Stellar: Get started building](https://www.youtube.com/watch?v=H-M962aPuTk) - Learn how to install Scaffold Stellar, review included libraries and integrations, and get your development environment up and running. -- [Rapid Application Development with Scaffold Stellar | Meridian 2025](https://www.youtube.com/watch?v=sx77r9qQOeE) - Introduction to Scaffold Stellar's rapid development environment, showing how to go from prototype to production. diff --git a/docs/tools/stellar-scaffold.mdx b/docs/tools/stellar-scaffold.mdx new file mode 100644 index 0000000000..3ab4da0749 --- /dev/null +++ b/docs/tools/stellar-scaffold.mdx @@ -0,0 +1,38 @@ +--- +title: Stellar Scaffold +description: A full-stack toolkit for building Stellar dApps — CLI, frontend templates, and an on-chain contract registry +sidebar_label: Stellar Scaffold +sidebar_position: 45 +--- + +## [Stellar Scaffold](https://stellarscaffold.org) + +Stellar Scaffold is a full-stack toolkit for building decentralized applications (dApps) and smart contracts on Stellar. If you've used the [Stellar CLI](https://github.com/stellar/stellar-cli) to write and deploy Soroban contracts, Scaffold wraps that workflow end to end: it scaffolds a TypeScript frontend, keeps type-safe contract clients in sync with your deployed contracts as you change them, and manages deployments across networks — so your time goes to your app instead of the plumbing between contract and UI. + +It is an officially sanctioned [Stellar Development Foundation Public Good](https://stellar.org/grants-and-funding), actively maintained with community input into its roadmap. + +![Stellar Scaffold](https://stellarscaffold.org/img/code_hero.svg) + +## What you get + +- **[CLI plugin](https://stellarscaffold.org/docs/cli)** — `stellar scaffold` starts a new project, converts an existing Soroban workspace into one, and runs a live dev loop that rebuilds contracts and regenerates their clients as you edit. Source at [stellar-scaffold/cli](https://github.com/stellar-scaffold/cli). + +- **[Frontend templates](https://github.com/stellar-scaffold/ui)** — official React and SvelteKit starting points, each with a wallet integration and a browser-based contract debugger. + +- **Type-safe contract clients** — your Rust contracts become typed TypeScript clients automatically, so the frontend calls them with full editor autocomplete instead of hand-written request code. + +- **[Smart contract registry](https://stellarscaffold.org/docs/registry)** — an on-chain registry for publishing Wasm binaries under versioned, human-readable names, then deploying and managing them across testnet and mainnet. Hosted at [rgstry.xyz](https://rgstry.xyz); source at [stellar-registry/cli](https://github.com/stellar-registry/cli). + +## Get started + +Follow the [Stellar Scaffold quick start](https://stellarscaffold.org/docs/quick-start) to install the CLI and create your first project. + +## Learn more + +- Documentation, guides, and reference: [stellarscaffold.org](https://stellarscaffold.org) +- Step-by-step [video series on YouTube](https://www.youtube.com/playlist?list=PLmr3tp_7-7Gjj6gn5-bBn-QTMyaWzwOU5) +- What people are building, and how to submit your own project: [showcase](https://stellarscaffold.org/showcase) + +## Help us improve + +Stellar Scaffold is open source and we welcome your feedback. File bugs and feature requests on [GitHub](https://github.com/stellar-scaffold/cli/issues) — your input shapes where the toolkit goes next. diff --git a/nginx/includes/redirects.conf b/nginx/includes/redirects.conf index d92606d5a0..8f83378265 100644 --- a/nginx/includes/redirects.conf +++ b/nginx/includes/redirects.conf @@ -32,6 +32,7 @@ rewrite ^/docs/software-and-sdks$ "/docs/tools/sdks" permanent; rewrite ^/docs/tools-and-sdks(.*)$ "/docs/tools/sdks$1" permanent; rewrite ^/docs/data/indexers/data-indexers$ "/docs/data/indexers/indexer-providers" permanent; rewrite ^/docs/tools/developer-tools/data-indexers "/docs/data/indexers/data-indexers" permanent; +rewrite ^/docs/tools/scaffold-stellar$ "/docs/tools/stellar-scaffold" permanent; rewrite ^/docs/data/indexers/indexer-providers(/indexer-providers)?$ "/docs/data/indexers" permanent; rewrite ^/docs/start/introduction$ "/docs" permanent; rewrite ^/docs/start/list-of-operations$ "/docs/learn/fundamentals/list-of-operations" permanent; diff --git a/routes.txt b/routes.txt index 7989cd7ea1..a80916ce29 100644 --- a/routes.txt +++ b/routes.txt @@ -817,11 +817,11 @@ /docs/tools/quickstart/network-modes /docs/tools/ramps /docs/tools/ramps/moneygram -/docs/tools/scaffold-stellar /docs/tools/sdks /docs/tools/sdks/build-your-own /docs/tools/sdks/client-sdks /docs/tools/sdks/contract-sdks +/docs/tools/stellar-scaffold /docs/validators /docs/validators/admin-guide /docs/validators/admin-guide/advanced diff --git a/static/llms.txt b/static/llms.txt index 1b5f25b4c6..4172e90f94 100644 --- a/static/llms.txt +++ b/static/llms.txt @@ -111,7 +111,7 @@ Developer Tools - [Quickstart](https://developers.stellar.org/docs/tools/quickstart.md) - [OpenZeppelin Relayer](https://developers.stellar.org/docs/tools/openzeppelin-relayer.md) - [OpenZeppelin Contracts](https://developers.stellar.org/docs/tools/openzeppelin-contracts.md) -- [Scaffold Stellar](https://developers.stellar.org/docs/tools/scaffold-stellar.md) +- [Stellar Scaffold](https://developers.stellar.org/docs/tools/stellar-scaffold.md) - [Building with AI](https://developers.stellar.org/docs/build/building-with-ai.md) - [More Developer Tools](https://developers.stellar.org/docs/tools/developer-tools.md)