@msgboard/sdk 0.0.30 → 0.0.32
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 +37 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -54,7 +54,19 @@ const content = await board.content() // messages grouped by category
|
|
|
54
54
|
|
|
55
55
|
## Finding a node
|
|
56
56
|
|
|
57
|
-
A node must run the `msgboard_` module to serve these methods. If `status()` reports `enabled: false`, or a call returns JSON-RPC error `-32601` (method not found), the node does not have the module — point at one that does.
|
|
57
|
+
A node must run the `msgboard_` module to serve these methods. Ordinary public RPCs (for example `rpc.pulsechain.com`) do **not** run it. If `status()` reports `enabled: false`, or a call returns JSON-RPC error `-32601` (method not found), the node does not have the module — point at one that does.
|
|
58
|
+
|
|
59
|
+
### Supporting providers
|
|
60
|
+
|
|
61
|
+
| Provider | RPC | Chains | Node code |
|
|
62
|
+
|---|---|---|---|
|
|
63
|
+
| [valve.city](https://valve.city) | `https://one.valve.city/rpc/<key>/evm/<chainId>` | 1, 369, 943 | [valve-tech/reth](https://github.com/valve-tech/reth) |
|
|
64
|
+
|
|
65
|
+
The endpoints are **keyed** — the API key sits in the path, and `vk_demo` is a public, rate-limited demo key for trying things out (for example `https://one.valve.city/rpc/vk_demo/evm/369`). The list is small for now; other node teams (PulseChain, g4mm4) are working toward serving the module. The live support matrix is the **Join the Network** section on https://msgboard.xyz.
|
|
66
|
+
|
|
67
|
+
### Running your own
|
|
68
|
+
|
|
69
|
+
The module is implemented in the [valve-tech/reth](https://github.com/valve-tech/reth) fork (`crates/net/msgboard` + `msgboard-types`). Run that node for a chain and its RPC will serve the `msgboard_` methods — verify with `status()` returning `enabled: true`. There is no separate gateway to deploy: the module lives in the execution client itself.
|
|
58
70
|
|
|
59
71
|
## Proof of work and difficulty
|
|
60
72
|
|
|
@@ -72,7 +84,30 @@ board.getDifficulty('0x...') // bigint
|
|
|
72
84
|
|
|
73
85
|
`workMultiplier` and `workDivisor` come from `status()` and are applied automatically by `doPoW`.
|
|
74
86
|
|
|
75
|
-
|
|
87
|
+
### The board enforces a floor, not a fixed config
|
|
88
|
+
|
|
89
|
+
A message **declares its own** `workMultiplier` and `workDivisor` — they are fields of the message, and they are cryptographically baked into the work (the challenge is derived from a digest of the two factors, so you cannot misreport them without redoing the grind). The node computes the message's difficulty from the message's *own* declared factors and accepts it when **both**:
|
|
90
|
+
|
|
91
|
+
1. the proof of work satisfies that declared difficulty (`workHash % difficulty == 0`), and
|
|
92
|
+
2. the declared difficulty is **at least** the board's current minimum — a single work threshold.
|
|
93
|
+
|
|
94
|
+
The consequence is the part that surprises people: **a message does not have to use the same factors as the board.** It only has to do *at least* as much work as the floor demands. Any factor pair whose resulting difficulty meets or exceeds the floor is accepted — even a different ratio, even far more work than required. (Verified on a live node: a message declaring `30000 / 3000000` was accepted by a board configured for `10000 / 1000000`.)
|
|
95
|
+
|
|
96
|
+
### Manipulating the work
|
|
97
|
+
|
|
98
|
+
`doPoW` reads the board's live factors from `status()` because they produce the **cheapest valid message** — the least work that still clears the floor. But you can deliberately do more:
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
const status = await board.status()
|
|
102
|
+
// Default: grind exactly to the board's floor (cheapest acceptable message).
|
|
103
|
+
board.setDifficultyFactors(BigInt(status.workMultiplier), BigInt(status.workDivisor))
|
|
104
|
+
|
|
105
|
+
// Or do extra work — e.g. halve the divisor to double the difficulty. Still accepted (it
|
|
106
|
+
// clears the floor), and it stays valid even if the board later tightens up to that level.
|
|
107
|
+
board.setDifficultyFactors(BigInt(status.workMultiplier), BigInt(status.workDivisor) / 2n)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
So the two factors are best understood as a **board-level floor** plus a **per-message dial**: operators raise the floor (a higher `workMultiplier` or lower `workDivisor`) to admit fewer messages and resist spam, or lower it to admit more; individual senders may always pay *above* the floor. The only failure mode is paying **below** it — work that cleared a looser floor is rejected once the board raises it, which is why `doPoW` grinds against the **live** factors by default.
|
|
76
111
|
|
|
77
112
|
## Categories
|
|
78
113
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAwB,MAAM,MAAM,CAAA;AAErD,OAAO,KAAK,EACV,MAAM,EACN,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,MAAM,EAEN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAA;AAGvB,cAAc,gBAAgB,CAAA;AAO9B;;;GAGG;AACH,qBAAa,cAAc;IAcvB,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAb9B,OAAO,CAAC,kBAAkB,CAAmB;IAE7C,GAAG,EAAE,MAAM,CAAA;IAEX,aAAa,EAAE,MAAM,CAAA;IAErB,SAAS,EAAE,OAAO,CAAQ;IAE1B,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAE3C,OAAO,EAAE,MAAM,CAAI;gBAGP,QAAQ,EAAE,QAAQ,EAC5B,MAAM,GAAE,MAAW;IAYrB,IAAI,iBAAiB,IAMU,iBAAiB,CAD/C;IACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,EAK/C;IAED,6DAA6D;IAC7D,MAAM;IAIN;;;;;;;;OAQG;IACG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,KAAK,SAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAwB,MAAM,MAAM,CAAA;AAErD,OAAO,KAAK,EACV,MAAM,EACN,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,MAAM,EAEN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAA;AAGvB,cAAc,gBAAgB,CAAA;AAO9B;;;GAGG;AACH,qBAAa,cAAc;IAcvB,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAb9B,OAAO,CAAC,kBAAkB,CAAmB;IAE7C,GAAG,EAAE,MAAM,CAAA;IAEX,aAAa,EAAE,MAAM,CAAA;IAErB,SAAS,EAAE,OAAO,CAAQ;IAE1B,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAE3C,OAAO,EAAE,MAAM,CAAI;gBAGP,QAAQ,EAAE,QAAQ,EAC5B,MAAM,GAAE,MAAW;IAYrB,IAAI,iBAAiB,IAMU,iBAAiB,CAD/C;IACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,EAK/C;IAED,6DAA6D;IAC7D,MAAM;IAIN;;;;;;;;OAQG;IACG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,KAAK,SAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAkFnG;;;;OAIG;IACG,YAAY;cACY,GAAG;gBAAU,GAAG;;IAM9C;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,WAAW;IAKzC;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,GAAG;IAI7B;;;;OAIG;IACG,UAAU;IAIhB;;;;OAIG;IACG,OAAO,CAAC,MAAM,GAAE,aAAkB;IAIxC;;;;OAIG;IACG,MAAM;IAIZ;;;;OAIG;IACH,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAGhE;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,GAAG;IAIvB;;;;;OAKG;IACG,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAItF"}
|
package/dist/index.js
CHANGED
|
@@ -119,15 +119,19 @@ class MsgBoardClient {
|
|
|
119
119
|
const { breakInterval } = this;
|
|
120
120
|
const start = Date.now();
|
|
121
121
|
this.progressHandler({ ...stats });
|
|
122
|
+
// Incremental challenge search: advances the challenge point by one curve ADDITION
|
|
123
|
+
// per nonce instead of a full scalar MULTIPLY, ~10x faster while staying bit-identical
|
|
124
|
+
// to checkWork (the node's verifier). It mutates message.nonce and rebases on its own
|
|
125
|
+
// when the block poller above updates message.blockHash mid-grind.
|
|
126
|
+
const search = (0, core_1.createChallengeSearch)(message);
|
|
122
127
|
while (true) {
|
|
123
128
|
if (this.cancelled) {
|
|
124
129
|
killPoll = true;
|
|
125
130
|
return { message, stats };
|
|
126
131
|
}
|
|
127
|
-
message.nonce += 1n;
|
|
128
|
-
stats.duration = Date.now() - start;
|
|
129
132
|
stats.iterations += 1n;
|
|
130
|
-
const hash =
|
|
133
|
+
const hash = search.next(stats.difficulty);
|
|
134
|
+
stats.duration = Date.now() - start;
|
|
131
135
|
if (hash) {
|
|
132
136
|
message.hash = hash;
|
|
133
137
|
stats.isValid = true;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+BAAqD;AACrD,4DAA6B;AAe7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@msgboard/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.32",
|
|
4
4
|
"description": "MsgBoard client SDK for the msgboard_ JSON-RPC module",
|
|
5
5
|
"repository": "github:valve-tech/msgboard",
|
|
6
6
|
"author": "MsgBoard",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"commonjs": "./dist/index.js",
|
|
15
15
|
"exports": {
|
|
16
16
|
".": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
17
18
|
"require": "./dist/index.js",
|
|
18
|
-
"default": "./dist/index.js",
|
|
19
19
|
"import": "./dist/index.js",
|
|
20
|
-
"
|
|
20
|
+
"default": "./dist/index.js"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"keywords": [
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"vitest": "^3.1.1"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@msgboard/core": "^0.0.
|
|
62
|
+
"@msgboard/core": "^0.0.32",
|
|
63
63
|
"bn.js": "^5.2.1",
|
|
64
64
|
"debug": "^4.4.0",
|
|
65
65
|
"elliptic": "^6.6.1",
|