@effectstream/sync 0.100.15 → 0.100.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -7
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -5,6 +5,11 @@ blocks from every chain you've configured (EVM, Bitcoin, Cardano, Midnight,
|
|
|
5
5
|
Avail, Celestia, NEAR…), normalizes them into a single rollup ordering,
|
|
6
6
|
and stages the inputs the state machine consumes.
|
|
7
7
|
|
|
8
|
+
- Blockchain-sync service: reads finalized blocks from every configured chain.
|
|
9
|
+
- Normalises into a single rollup ordering and stages inputs for the state machine.
|
|
10
|
+
- Drop-in fetchers: EVM, Bitcoin, Cardano UTXO-RPC, Midnight, Avail, Celestia, NEAR, NTP.
|
|
11
|
+
- `genSyncProtocols(config)` is what the runtime calls during boot.
|
|
12
|
+
|
|
8
13
|
## Install
|
|
9
14
|
|
|
10
15
|
```bash
|
|
@@ -24,7 +29,7 @@ author you declare which protocols to sync in your config; everything
|
|
|
24
29
|
else runs automatically.
|
|
25
30
|
|
|
26
31
|
If you're building a new chain integration, implement the sync-protocol
|
|
27
|
-
interfaces in [`src/sync-protocols/`](https://github.com/
|
|
32
|
+
interfaces in [`src/sync-protocols/`](https://github.com/effectstream/effectstream/tree/main/packages/node-sdk/sync/src/sync-protocols).
|
|
28
33
|
|
|
29
34
|
## Inside EffectStream
|
|
30
35
|
|
|
@@ -43,14 +48,14 @@ const protocols = await genSyncProtocols(config);
|
|
|
43
48
|
|
|
44
49
|
## Key exports
|
|
45
50
|
|
|
46
|
-
- `genSyncProtocols(dbConn, syncInfo)`
|
|
47
|
-
- `AllSyncProtocols`
|
|
48
|
-
- `ChainBlock`, plus base `Fetcher`/`State` types from `sync-protocols/base/`
|
|
51
|
+
- `genSyncProtocols(dbConn, syncInfo)` - Effection generator that instantiates a runtime fetcher + state pair for every protocol in `syncInfo` (from `config.syncProtocols`). Called from the runtime's process-blocks loop.
|
|
52
|
+
- `AllSyncProtocols` - union type covering every supported protocol; useful when authoring config that fans out.
|
|
53
|
+
- `ChainBlock`, plus base `Fetcher`/`State` types from `sync-protocols/base/` - the wire shape per chain.
|
|
49
54
|
|
|
50
55
|
Per-chain `Fetcher` / `SyncState` classes (`EvmFetcher`,
|
|
51
56
|
`BitcoinFetcher`, `MidnightFetcher`, `AvailFetcher`, `UtxoRpcFetcher`,
|
|
52
57
|
`NtpFetcher`, `CelestiaFetcher`, `NearFetcher`, and matching `*SyncState`
|
|
53
|
-
classes) are exported but are internal to the factory wiring
|
|
58
|
+
classes) are exported but are internal to the factory wiring -
|
|
54
59
|
application code drives them through `genSyncProtocols` rather than
|
|
55
60
|
instantiating them directly. Reach for them only if you're writing a
|
|
56
61
|
custom orchestration layer.
|
|
@@ -58,11 +63,11 @@ custom orchestration layer.
|
|
|
58
63
|
## Examples
|
|
59
64
|
|
|
60
65
|
End-to-end sync test (boots a node, reads blocks, asserts the DB):
|
|
61
|
-
[`e2e/evm/sync/`](https://github.com/
|
|
66
|
+
[`e2e/evm/sync/`](https://github.com/effectstream/effectstream/tree/main/e2e/evm/sync).
|
|
62
67
|
|
|
63
68
|
Runnable: [`test/examples.test.ts`](./test/examples.test.ts).
|
|
64
69
|
|
|
65
70
|
## Links
|
|
66
71
|
|
|
67
72
|
- Docs: https://effectstream.github.io/docs/packages/node/sync
|
|
68
|
-
- Source: https://github.com/
|
|
73
|
+
- Source: https://github.com/effectstream/effectstream/tree/main/packages/node-sdk/sync
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effectstream/sync",
|
|
3
|
-
"version": "0.100.
|
|
3
|
+
"version": "0.100.17",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://effectstream.github.io/docs/",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/
|
|
8
|
+
"url": "https://github.com/effectstream/effectstream",
|
|
9
9
|
"directory": "packages/node-sdk/sync"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/
|
|
12
|
+
"url": "https://github.com/effectstream/effectstream/issues"
|
|
13
13
|
},
|
|
14
14
|
"exports": "./src/mod.ts",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@effectstream/config": "0.100.
|
|
17
|
-
"@effectstream/db": "0.100.
|
|
18
|
-
"@effectstream/log": "0.100.
|
|
19
|
-
"@effectstream/utils": "0.100.
|
|
16
|
+
"@effectstream/config": "0.100.17",
|
|
17
|
+
"@effectstream/db": "0.100.17",
|
|
18
|
+
"@effectstream/log": "0.100.17",
|
|
19
|
+
"@effectstream/utils": "0.100.17",
|
|
20
20
|
"@midnight-ntwrk/ledger-v8": "8.0.3",
|
|
21
21
|
"@midnight-ntwrk/midnight-js-indexer-public-data-provider": "4.0.2",
|
|
22
22
|
"@midnight-ntwrk/onchain-runtime": "npm:@midnight-ntwrk/onchain-runtime-v3@3.0.0",
|