Skip to content

Commit 6d59f10

Browse files
josepotvolivacarlosala
authored
feat: add node and webpack to workers (#15)
Co-authored-by: Victor Oliva <[email protected]> Co-authored-by: Carlo Sala <[email protected]>
1 parent b308edb commit 6d59f10

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

docs/pages/getting-started.mdx

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Now you can create a PolkadotClient with a provider of your choice and start int
2727

2828
<Tabs.Root options={{
2929
smw: 'Smoldot (WebWorker)',
30+
smnw: 'Smoldot (NodeJS WebWorker)',
3031
sm: 'Smoldot',
3132
web: 'WebSocket',
3233
node: 'NodeJS Socket',
@@ -37,9 +38,17 @@ Now you can create a PolkadotClient with a provider of your choice and start int
3738
import { getSmProvider } from "polkadot-api/sm-provider";
3839
import { chainSpec } from "polkadot-api/chains/polkadot";
3940
import { startFromWorker } from "polkadot-api/smoldot/from-worker";
41+
42+
// Using vite
4043
import SmWorker from "polkadot-api/smoldot/worker?worker";
44+
const worker = new SmWorker();
45+
46+
// Using Webpack
47+
// const worker = new Worker(
48+
// new URL("polkadot-api/smoldot/worker", import.meta.url)
49+
// );
4150

42-
const smoldot = startFromWorker(new SmWorker());
51+
const smoldot = startFromWorker(worker);
4352
const chain = await smoldot.addChain({ chainSpec });
4453

4554
// Connect to the polkadot relay chain.
@@ -49,7 +58,33 @@ Now you can create a PolkadotClient with a provider of your choice and start int
4958

5059
// [!include ~/snippets/gettingStarted.ts:usage]
5160
```
61+
</Tabs.Content>
62+
<Tabs.Content value="snmw">
63+
```ts
64+
// [!include ~/snippets/gettingStarted.ts:import]
65+
import { getSmProvider } from "polkadot-api/sm-provider";
66+
import { chainSpec } from "polkadot-api/chains/polkadot";
67+
import { startFromWorker } from "polkadot-api/smoldot/from-node-worker";
68+
import { fileURLToPath } from "url"
69+
import { Worker } from "worker_threads"
70+
71+
const workerPath = fileURLToPath(
72+
import.meta.resolve("polkadot-api/smoldot/node-worker")
73+
);
74+
// Or with cjs
75+
// const workerPath = require.resolve("polkadot-api/smoldot/node-worker");
5276

77+
const worker = new Worker(workerPath);
78+
const smoldot = startFromWorker(worker);
79+
const chain = await smoldot.addChain({ chainSpec });
80+
81+
// Connect to the polkadot relay chain.
82+
const client = createClient(
83+
getSmProvider(chain)
84+
);
85+
86+
// [!include ~/snippets/gettingStarted.ts:usage]
87+
```
5388
</Tabs.Content>
5489
<Tabs.Content value="sm">
5590
```ts

0 commit comments

Comments
 (0)