Skip to content

Commit bf21442

Browse files
committed
docs: clarify native Dusk and wallet extension
1 parent 34456f5 commit bf21442

9 files changed

Lines changed: 113 additions & 13 deletions

File tree

public/llms-full.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Relevant docs:
6262
Dusk has two main developer paths:
6363

6464
- DuskEVM: Solidity, EVM tooling, EVM wallets, Ethereum-compatible infrastructure.
65-
- Native Dusk: Rust/WASM contracts through DuskVM for protocol-level assets, custom execution, privacy, or zero-knowledge capabilities close to the settlement layer.
65+
- Native Dusk: general-purpose Rust/WASM contracts through DuskVM for protocol-level assets, native transaction models, custom execution, market logic, privacy, or zero-knowledge capabilities close to the settlement layer.
6666

6767
Relevant docs:
6868

@@ -91,6 +91,7 @@ Relevant docs:
9191
- Deploy on DuskEVM: https://docs.dusk.network/developer/smart-contracts-dusk-evm/deploy-on-evm/
9292
- Smart Contracts on DuskDS: https://docs.dusk.network/developer/smart-contracts-duskds/
9393
- Dusk Connect: https://docs.dusk.network/developer/integrations/dusk-connect/
94+
- Dusk Wallet Extension: https://docs.dusk.network/developer/integrations/wallet-extension/
9495
- Transaction Lifecycle: https://docs.dusk.network/developer/integrations/tx-lifecycle/
9596
- HTTP API: https://docs.dusk.network/developer/integrations/http-api/
9697
- W3sper SDK: https://docs.dusk.network/developer/integrations/w3sper/

public/llms.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
- [Deploy on DuskEVM](https://docs.dusk.network/developer/smart-contracts-dusk-evm/deploy-on-evm/): deploy Solidity contracts on DuskEVM.
1717
- [Smart Contracts on DuskDS](https://docs.dusk.network/developer/smart-contracts-duskds/): write Rust/WASM contracts for native Dusk execution.
1818
- [Dusk Connect](https://docs.dusk.network/developer/integrations/dusk-connect/): integrate wallet discovery and account connection.
19+
- [Dusk Wallet Extension](https://docs.dusk.network/developer/integrations/wallet-extension/): integrate with the first-party browser wallet provider.
1920
- [Transaction Lifecycle](https://docs.dusk.network/developer/integrations/tx-lifecycle/): understand transaction flow.
2021
- [HTTP API](https://docs.dusk.network/developer/integrations/http-api/): integrate with Dusk APIs.
2122
- [W3sper SDK](https://docs.dusk.network/developer/integrations/w3sper/): SDK integration.

src/content/docs/developer/integrations/dusk-connect.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The Dusk Connect SDK is developed in the Dusk Network GitHub organization:
4242

4343
## Read next
4444

45+
- [Dusk Wallet Extension](/developer/integrations/wallet-extension)
4546
- [Web Wallet](/learn/web-wallet)
4647
- [Transaction Lifecycle](/developer/integrations/tx-lifecycle)
4748
- [W3sper SDK](/developer/integrations/w3sper)
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: Dusk Wallet Extension
3+
description: Use the Dusk Wallet browser extension as a first-party wallet for Dusk applications.
4+
---
5+
6+
The Dusk Wallet extension is the first-party browser wallet for Dusk. It gives users a self-custodial wallet in Chrome and Firefox, and gives applications a provider surface for connecting Dusk accounts.
7+
8+
Use the extension when you need:
9+
10+
- a browser wallet for Dusk accounts
11+
- public and shielded account flows
12+
- mainnet, testnet, devnet, or custom node support
13+
- dApp connection through Dusk provider discovery
14+
- a first-party wallet to test Dusk Connect integrations
15+
16+
For users who only need a hosted browser wallet, see [Web Wallet](/learn/web-wallet). For terminal and operator workflows, see [Rusk Wallet](/learn/rusk-wallet).
17+
18+
## How it fits with Dusk Connect
19+
20+
Dusk Connect is the SDK layer for wallet discovery and account connection. The Dusk Wallet extension is one wallet provider that can be discovered through that flow.
21+
22+
A typical dApp flow is:
23+
24+
1. Use Dusk Connect or provider discovery to find available Dusk wallets.
25+
2. Let the user choose the Dusk Wallet extension.
26+
3. Request account access.
27+
4. Ask the wallet to approve account actions or transactions when needed.
28+
29+
See [Dusk Connect](/developer/integrations/dusk-connect) for the SDK-level integration path.
30+
31+
## Provider discovery
32+
33+
The extension announces an EIP-1193-style provider through Dusk discovery events. Dusk is not an EVM chain, so wallet methods use Dusk-specific names.
34+
35+
```js
36+
const providers = [];
37+
38+
window.addEventListener("dusk:announceProvider", (event) => {
39+
providers.push(event.detail);
40+
});
41+
42+
window.dispatchEvent(new Event("dusk:requestProvider"));
43+
44+
const dusk = providers[0]?.provider;
45+
const [account] = await dusk.request({ method: "dusk_requestAccounts" });
46+
47+
dusk.on("accountsChanged", console.log);
48+
dusk.on("chainChanged", console.log);
49+
```
50+
51+
For the canonical provider API, see the wallet repository:
52+
53+
- <a href="https://github.com/dusk-network/wallet/blob/main/docs/provider-api.md" target="_blank" rel="noreferrer">Dusk Wallet provider API</a>
54+
55+
## Install for development
56+
57+
The extension builds Chrome and Firefox targets from the same repository.
58+
59+
```bash
60+
git clone https://github.com/dusk-network/wallet
61+
cd wallet
62+
npm install
63+
```
64+
65+
For Chrome:
66+
67+
```bash
68+
npm run build:chrome
69+
```
70+
71+
Then load `dist/` as an unpacked extension in `chrome://extensions` with Developer mode enabled.
72+
73+
For Firefox:
74+
75+
```bash
76+
npm run build:firefox
77+
```
78+
79+
Then load `dist-firefox/` as a temporary add-on in `about:debugging`.
80+
81+
## Repository
82+
83+
- <a href="https://github.com/dusk-network/wallet" target="_blank" rel="noreferrer">dusk-network/wallet</a>
84+
85+
## Read next
86+
87+
- [Dusk Connect](/developer/integrations/dusk-connect)
88+
- [Transaction Lifecycle](/developer/integrations/tx-lifecycle)
89+
- [Web Wallet](/learn/web-wallet)

src/content/docs/developer/overview.mdx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ Dusk has a **modular architecture** for regulated digital assets, privacy-aware
1010
- **DuskDS** – the Dusk L1: settlement, consensus, data availability, native transaction models, protocol contracts, and DuskVM.
1111
- **DuskEVM** – the EVM execution layer for Solidity applications and familiar EVM tooling.
1212

13-
As a builder, choose the path based on what your product needs:
13+
As a builder, choose the path based on what your product needs and which tooling model you want:
1414

1515
- use **DuskEVM** when your application benefits from Solidity, EVM tooling, existing wallets, and Ethereum-compatible infrastructure.
16-
- use **native Dusk** when your application needs protocol-level assets, custom execution, privacy, or zero-knowledge capabilities close to the settlement layer.
16+
- use **native Dusk** when your application should build directly on Dusk's own execution model, native transaction models, Rust/WASM contracts, protocol-level assets, privacy, or zero-knowledge capabilities.
1717

1818
## Choose your path
1919

@@ -26,7 +26,7 @@ As a builder, choose the path based on what your product needs:
2626
<LinkCard
2727
title="Native Dusk smart contracts"
2828
href="/developer/smart-contracts-duskds"
29-
description="Write Rust/WASM contracts directly on Dusk when your application needs native execution."
29+
description="Write general-purpose Rust/WASM contracts directly on Dusk's native execution layer."
3030
/>
3131
<LinkCard
3232
title="Integrate with DuskDS"
@@ -59,19 +59,24 @@ See: [Smart Contracts on DuskEVM](/developer/smart-contracts-dusk-evm/deploy-on-
5959

6060
## When to use native Dusk contracts
6161

62-
Use native Dusk smart contracts when you need:
62+
Native Dusk smart contracts are general-purpose smart contracts for Dusk's own execution environment. They are written in Rust, compiled to WASM, and executed by DuskVM.
63+
64+
Use this path when you need:
6365

6466
- protocol-level control on the settlement layer
6567
- direct interaction with Dusk transaction models
6668
- specialized contracts that need Rust/WASM execution
6769
- privacy or zero-knowledge capabilities that should live close to the base protocol
70+
- application logic that benefits from native Dusk assets, transaction models, or execution primitives
6871

6972
Typical examples include:
7073

7174
- genesis or protocol contracts such as transfers and staking
7275
- low-level infrastructure contracts
7376
- applications that need direct access to DuskVM and native Dusk features
7477

78+
Compared with DuskEVM, native Dusk contracts require more familiarity with Dusk-specific tooling and architecture. The tradeoff is deeper access to the protocol's own model rather than compatibility with the broader EVM ecosystem.
79+
7580
If that’s you, start with:
7681
[Smart Contracts on DuskDS](/developer/smart-contracts-duskds).
7782

src/content/docs/developer/smart-contracts-duskds.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ description: Build Rust/WASM smart contracts on DuskDS using the Forge framework
55

66
Dusk offers two paths for smart contract development:
77

8-
- **DuskDS** (this page) - Rust/WASM contracts on Dusk's native settlement layer with access to privacy features and the full power of Rust's ecosystem
8+
- **DuskDS** (this page) - general-purpose Rust/WASM contracts on Dusk's native execution layer, with access to native transaction models, privacy-aware flows, and the full power of Rust's ecosystem
99
- **[DuskEVM](/developer/smart-contracts-dusk-evm/deploy-on-evm)** - An Optimism-based EVM application layer for Solidity/Vyper contracts using familiar tooling (Hardhat, Foundry)
1010

11-
Choose DuskDS for native integration with Dusk's privacy and settlement features. Choose DuskEVM for rapid prototyping or when porting existing Solidity contracts.
11+
Choose DuskDS when you want to build directly with Dusk's native primitives: Rust/WASM execution, protocol-level assets, custom market logic, public and shielded transaction models, or privacy-aware compliance flows. Choose DuskEVM when you want Solidity, EVM wallets, and the broader Ethereum tooling ecosystem.
12+
13+
Native Dusk contracts are not limited to privacy-specific use cases. They can support general application logic, but they require developers to work closer to Dusk's own account, asset, and execution model than an EVM application would.
1214

1315
## Quick Start
1416

src/content/docs/learn/deep-dive/dusk-evm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ DuskEVM is an EVM-equivalent execution environment built on the OP Stack that us
77

88
Use DuskEVM when your application benefits from Solidity, Ethereum-compatible tooling, EVM wallets, and existing smart contract infrastructure.
99

10-
Use native Dusk development instead when your application needs Rust/WASM execution, direct access to native Dusk transaction models, or protocol-level privacy and zero-knowledge capabilities. For that path, see [DuskVM](/learn/deep-dive/dusk-vm/) and [Smart Contracts on DuskDS](/developer/smart-contracts-duskds/).
10+
Use native Dusk development instead when your application should be built directly against Dusk's own execution model: Rust/WASM contracts, native transaction models, protocol-level assets, custom market logic, or privacy and zero-knowledge capabilities. For that path, see [DuskVM](/learn/deep-dive/dusk-vm/) and [Smart Contracts on DuskDS](/developer/smart-contracts-duskds/).
1111

1212
## Where DuskEVM fits
1313

src/content/docs/learn/deep-dive/dusk-vm.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ description: Learn about DuskVM, the Wasmtime-based VM that executes native smar
66

77
## Overview
88

9-
[DuskVM](https://github.com/dusk-network/rusk/tree/master/vm) is the WASM virtual machine for native smart contracts on Dusk. It is based on the <a href="https://wasmtime.dev" target="_blank" rel="noreferrer">Wasmtime</a> runtime, with custom support for Dusks execution model.
9+
[DuskVM](https://github.com/dusk-network/rusk/tree/master/vm) is the WASM virtual machine for native smart contracts on Dusk. It is based on the <a href="https://wasmtime.dev" target="_blank" rel="noreferrer">Wasmtime</a> runtime, with custom support for Dusk's execution model.
1010

11-
Use DuskVM when your application needs native Dusk execution: protocol-level assets, Rust/WASM contracts, custom execution, privacy, or zero-knowledge capabilities close to the settlement layer.
11+
Use DuskVM when your application should run as a native Dusk contract: protocol-level assets, Rust/WASM contracts, custom execution, market logic, privacy-aware flows, or zero-knowledge capabilities close to the settlement layer.
1212

13-
Use DuskEVM instead when your application is designed around Solidity, EVM wallets, and Ethereum-compatible tooling. See [DuskEVM](/learn/deep-dive/dusk-evm).
13+
Use DuskEVM instead when your application is designed around Solidity, EVM wallets, and Ethereum-compatible tooling. DuskVM is closer to Dusk's native model; DuskEVM is closer to the Ethereum developer ecosystem. See [DuskEVM](/learn/deep-dive/dusk-evm).
1414

1515
## Where DuskVM fits
1616

17-
DuskVM is part of the DuskDS layer. It is the native execution environment for smart contracts that should live close to the Dusk L1 transaction models and settlement layer.
17+
DuskVM is part of the DuskDS layer. It is the native execution environment for general-purpose smart contracts that should live close to Dusk's transaction models and settlement layer.
1818

1919
At a high level, DuskVM provides:
2020

2121
- Specific memory management mechanism
22-
- Support for Dusks ABI
22+
- Support for Dusk's ABI
2323
- Support for inter-contract calls
2424

2525
DuskVM functions as the host-side interface, handling the execution environment and system-level operations.

src/sidebars/siteSidebar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ const siteSidebar = [
6363
{ label: "Stake Abstraction", link: "/learn/hyperstaking" },
6464
{ label: "Digital Identity Protocol", link: "/developer/digital-identity/protocol" },
6565
{ label: "Dusk Connect", link: "/developer/integrations/dusk-connect" },
66+
{ label: "Dusk Wallet Extension", link: "/developer/integrations/wallet-extension" },
6667
],
6768
},
6869
{

0 commit comments

Comments
 (0)