# Canton dAppBooster: From Daml Contract to Running dApp on Your Laptop > Canton dAppBooster is BootNode's open source stack for Canton Network local development: a local network, wagmi-style hooks, UI components, a theme, and a demo dApp. Date: 2026-10-01T12:12:00-03:00 Author: Gabito URL: https://blog.bootnode.dev/posts/canton-dappbooster In the Canton Foundation's [2026 developer experience survey](https://forum.canton.network/t/canton-network-developer-experience-and-tooling-survey-analysis-2026/8412), 41% of respondents named environment setup and node operations as the task that took longest to get right: before you write a single line of business logic on Canton, you usually have to stand up a participant node, a synchronizer, the JSON Ledger API, auth, and a wallet. **It's a whole project before your project.** Canton dAppBooster is out, and it's built to solve exactly that problem: an open source stack for Canton Network local development, including a local Canton network, wagmi-style React hooks, UI components, a CSS theme, and a demo dApp. All wired together on your laptop. > **Key Takeaways** > > - Canton dAppBooster runs the whole Canton loop on your machine. > - Install it with `pnpm dlx dappbooster --canton`. > - Milestone 1 is funded by the Canton Development Fund. > - It's MIT licensed. ## Starting From Zero on Canton We've been building web3 products since 2017, and [the original EVM dAppBooster](/posts/dappbooster) came out of that work. Canton meant unlearning some of that, and [learning some new things](https://docs.canton.network/overview/understand/core-concepts): - The biggest one: there's no global state that everyone reads. - A party (think account, person, or organization) receives only the parts of a transaction it takes part in, plus their consequences. The rest is never sent to it. - Parties live on participant nodes, called validators on the public network. - Synchronizers order and confirm transactions, and Super Validators run the Global Synchronizer behind the public network. - Contracts are written in [Daml](https://docs.canton.network/sdks-tools/sdks/daml-sdk), a functional language with privacy built in. - Specs live in CIPs (Canton Improvement Proposals). ## Learning Canton by Sending Pull Requests Probably the fastest and best way to learn a new stack is by making changes or fixing something, sending pull requests and getting feedback from the people who maintain it. It's how [we got into Hyperlane through bounties](/posts/interop-experience-bootnode-path-into-hyperlane-via-bounties), and it's how we started on Canton. ![Timeline of Canton dAppBooster](/assets/blog/posts/2026-10-01/canton-dappbooster-timeline.svg) Our first Canton [PR #347](https://github.com/digital-asset/cn-quickstart/pull/347) went to [cn-quickstart](https://github.com/digital-asset/cn-quickstart), the reference app from [Digital Asset](https://www.digitalasset.com/). It adds a Node.js and TypeScript backend next to the existing Java one. Testing it meant walking every flow in the Quickstart demo, from login to license renewal, on both backends. That's a crash course in how a Canton app hangs together. ## A Dark Pool in a Weekend In June, we took the first version of the stack to [ETHGlobal New York](https://ethglobal.com/events/newyork2026) and built [Dark Pools](https://darkpools.cc/), a dark pool trading venue on Canton. Dark Pools [won a Canton Foundation prize](https://x.com/manu_bootnode/status/2066973076877947018) (here's the [Foundation's recap](https://x.com/CantonFdn/status/2066960749180674115)), and it was the stack's first real test under pressure. You can see more in the [Dark Pools repo](https://github.com/BootNodeDev/cn-hackathon-darkpools). ## Proposal #390 In May, we asked the [Canton Development Fund](https://canton.foundation/canton-foundation-launches-protocol-development-fund/) to back the stack with [proposal #390](https://github.com/canton-foundation/canton-dev-fund/pull/390). Our original proposal had five milestones but reviewers pointed out that three of them were redundant or already covered elsewhere in the ecosystem. The value they saw was in two pieces: the local Canton environment and the React starter, so they asked us to cut it down. We took the deal. > **From the review:** a reviewer invited contributions to [canton-network/wallet](https://github.com/canton-network/wallet), "particularly when it comes to providing automated testing facilities to dApp Servers." Our [PR #2364](https://github.com/canton-network/wallet/pull/2364) cuts the portfolio example's end-to-end tests from 11.6 to 6.5 minutes on an 8-core machine. ## What's Inside Canton dAppBooster ![Canton dAppBooster architecture: the demo dApp talks to Digital Asset's Wallet Gateway over CIP-0103 and reads Scan, the Wallet Gateway signs and submits to the app-user validator, the scripts deploy the demo DARs to app-user, and app-user, sv, and Scan run inside canton-barebones, which runs Splice LocalNet in Docker](/assets/blog/posts/2026-10-01/canton-dappbooster-architecture.svg) Canton dAppBooster wires the pieces together so day one goes to your own contract, not to infrastructure. Here are the five pieces, and how they connect: - **[canton-barebones](https://github.com/BootNodeDev/canton-barebones)** runs the network. It's a thin wrapper around LocalNet from [Splice](https://github.com/canton-network/splice), the open source code behind the Global Synchronizer. - **[canton-connect](https://github.com/BootNodeDev/canton-dappbooster/tree/main/canton-connect)** gives you wagmi-style React hooks on top of Digital Asset's [Canton dApp SDK](https://github.com/canton-network/wallet/tree/main/sdk/dapp-sdk). - **The [canton-dappbooster UI package](https://github.com/BootNodeDev/canton-dappbooster/tree/main/canton-dappbooster)** is a set of headless components, with no styling baked in, plus helpers. - **canton-theme** is a plain CSS theme, for when you want sensible defaults. - **The [demo dApp](https://github.com/BootNodeDev/canton-dappbooster/tree/main/dapp/frontend)** is a quick starting point for your next Canton project. The demo connects to Digital Asset's [Wallet Gateway](https://docs.canton.network/integrations/wallet-gateway/overview), which speaks [CIP-0103](https://github.com/canton-foundation/cips/blob/main/cip-0103/cip-0103.md), Canton's standard for how dApps talk to wallets. If you know Ethereum, you already know this API: CIP-0103 copies the provider methods from EIP-1193. Why wagmi-style? Because most developers in the Foundation's survey came from Ethereum: 71% of the respondents had an EVM background. So: if you've used wagmi, you'll feel at home. We also didn't want to rebuild what already exists. The stack builds on the dApp SDK, uses the Wallet Gateway, and drives Splice LocalNet as-is. So, if you're picking a starting point: - **[cn-quickstart](https://github.com/digital-asset/cn-quickstart)** is Digital Asset's full project template, with a reference app, a Java backend, and a React frontend. Pick it when you want the whole production shape. - **[Canton Builder Tool](https://github.com/canton-network-devs/Canton-Builder-Tool)** is just the network layer. You bring your own Daml project. - **Canton dAppBooster** gives you the network plus React hooks to connect a wallet, UI components, a theme, and a demo dApp you can fork. ## Try It on Your Laptop One command installs it. ```bash pnpm dlx dappbooster --canton ``` The [installation guide](https://docs.dappbooster.cc/installation/installer) shows how to start the stack, and the demo's built-in tutorial takes it from there. Want a look before installing anything? The [hosted demo](https://demo.dappbooster.cc/) will let you click around the UI first. Once you've clicked through the demo, it's time for a contract of your own. The [getting started tutorial](https://docs.dappbooster.cc/tutorials/getting-started) is a step-by-step guide showing you how to build a small one using Canton dAppBooster. Give it a try! ## Building on Canton? Let's Talk Try [Canton dAppBooster](https://github.com/BootNodeDev/canton-dappbooster), open an issue when something breaks, or create a PR if you want to contribute. If you're building on Canton and want a hand with architecture and privacy-model advice, Daml contracts and full-stack apps, or validator setup and integration from a team that's already been through the learning curve, [let's work together](#contact).