diff --git a/nimbus/rpc/waku.nim b/nimbus/rpc/waku.nim index b07506510..e3a42f33f 100644 --- a/nimbus/rpc/waku.nim +++ b/nimbus/rpc/waku.nim @@ -271,7 +271,7 @@ proc setupWakuRPC*(node: EthereumNode, keys: KeyStorage, rpcsrv: RpcServer) = if config.topics.isSome(): try: # TODO: an addTopics call would probably be more useful - let result = await node.setTopics(config.topics.get().concat(filter.topics)) + let result = await node.setTopicInterest(config.topics.get().concat(filter.topics)) if not result: raise newException(ValueError, "Too many topics") except CatchableError: diff --git a/vendor/nim-eth b/vendor/nim-eth index b89874f6c..c679b9d43 160000 --- a/vendor/nim-eth +++ b/vendor/nim-eth @@ -1 +1 @@ -Subproject commit b89874f6cc35f2506de5d97c9a50978c77e0048f +Subproject commit c679b9d436fa1e5e00690dba443c0c9f31b321b9 diff --git a/waku/README.md b/waku/README.md index 66590c6f4..84b520236 100644 --- a/waku/README.md +++ b/waku/README.md @@ -77,15 +77,15 @@ This dashboard can be found at `./waku/metrics/waku-sim-all-nodes-grafana-dashbo *This section last updated February 14, 2020* -This client of Waku is spec compliant with [Waku spec v0.3](https://specs.vac.dev/waku/waku.html) with the exception of: -- Currently nodes with higher version don't automatically disconnect if versions are different +This client of Waku is spec compliant with [Waku spec v0.3](https://specs.vac.dev/waku/waku.html). It doesn't yet implement the following recommended features: - No support for rate limiting - No support for DNS discovery to find Waku nodes - It doesn't disconnect a peer if it receives a message before a Status message -- No support for negotiation with peer supporting multiple version +- No support for negotiation with peer supporting multiple versions via Devp2p capabilities in `Hello` packet Additionally it makes the following choices: - It doesn't send message confirmations -- It has partial support for accounting +- It has partial support for accounting: + - Accounting of total resource usage and total circulated envelopes is done through metrics But no accounting is done for individual peers. diff --git a/waku/quicksim.nim b/waku/quicksim.nim index 87e4bebd4..9b6e2a1ad 100644 --- a/waku/quicksim.nim +++ b/waku/quicksim.nim @@ -11,16 +11,18 @@ template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0] const sigWakuPath = &"{sourceDir}{DirSep}rpc{DirSep}wakucallsigs.nim" createRpcSigs(RpcHttpClient, sigWakuPath) +const topicAmount = 100 + let trafficNode = newRpcHttpClient() - lightWakuNode = newRpcHttpClient() lightNode = newRpcHttpClient() + lightNode2 = newRpcHttpClient() -waitFor lightWakuNode.connect("localhost", Port(8545)) -waitFor lightNode.connect("localhost", Port(8546)) +waitFor lightNode.connect("localhost", Port(8545)) +waitFor lightNode2.connect("localhost", Port(8546)) waitFor trafficNode.connect("localhost", Port(8548)) -proc generateTopics(amount = 100): seq[waku_protocol.Topic] = +proc generateTopics(amount = topicAmount): seq[waku_protocol.Topic] = var topic: waku_protocol.Topic for i in 0..