73 Commits

Author SHA1 Message Date
Kim De Mey
2a77ecc2bf V2cleanup (#115)
* Cleanup of warnings + imports, etc.

* Remove connected_peers metric as there is already libp2p_pubsub_peers
2020-08-31 11:32:41 +08:00
Oskar Thorén
1b49702538 Waku v2: Simplify Waku Relay references (#112)
- Remove wakuRelayProto as this is initiated as part of switch PubSub
- Move WakuNode type into waku_types to avoid circular references
- Make necessary adjustments to get tests and sim to work
2020-08-28 17:08:28 +08:00
Oskar Thorén
288b49f636 Waku v2: Update docs and API with current state (#110)
* Waku v2: Update docs and API with current state

- Publish and subscribe implemented
- Three protocol split

* Update docs/api/v2/node.md

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* Update waku/node/v2/wakunode2.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-08-27 18:15:46 +08:00
Kim De Mey
f2525d752b Properly exit when address is already in use, fix #15 (#108) 2020-08-27 10:44:52 +08:00
Kim De Mey
3ec94442b4 Add Waku v1 usage example, fix #54 (#106)
* Add Waku v1 usage example, fix #54

* Add readme for example and fix typos
2020-08-26 14:20:04 +02:00
Oskar Thorén
b96a0931a8 Refactor: Waku protocol -> Waku relay protocol (#104)
* Refactor: Waku protocol -> Waku relay protocol

Including updating protocol string.

Addresses https://github.com/status-im/nim-waku/issues/101

* Refactor: WakuSub -> WakuRelay
2020-08-26 19:28:24 +08:00
Dean Eigenmann
ff28255fd1 feature/historic-api (#95)
* started working on historic api

* very rough code

* moved

* also publishing

* todos

* added tests

* added

* fix
2020-07-29 15:24:01 +02:00
Dean Eigenmann
f9b2392e1c enhancement/move-standard-setup (#94)
* moves out

* oops

* setup

* fix
2020-07-28 13:00:34 +02:00
Dean Eigenmann
51d521d3ef enhancement/init-function-signature-type (#93) 2020-07-28 12:28:32 +02:00
Oskar Thorén
4d9a7e4641 Node API: Implement publish (#91)
* Fix init signature according to Node API

See https://github.com/status-im/nim-waku/blob/master/docs/api/v2/node.md

* Update docs and example

* Node API: Basic subscribe

* Modify example with subscribe handler

* Waku Node: Implement basic publish topic
2020-07-28 16:18:30 +08:00
Oskar Thorén
4460adf7bf Node API: Implement basic subscribe topic (#89)
* Fix init signature according to Node API

See https://github.com/status-im/nim-waku/blob/master/docs/api/v2/node.md

* Update docs and example

* Node API: Basic subscribe

* Modify example with subscribe handler
2020-07-28 16:17:50 +08:00
Oskar Thorén
f938fc9efb Fix init signature according to Node API (#80)
* Fix init signature according to Node API

See https://github.com/status-im/nim-waku/blob/master/docs/api/v2/node.md

* Update docs and example
2020-07-28 16:06:00 +08:00
Oskar Thorén
3e7d1cbba6 Simplify Node API (#77)
* Waku v2 Node API: Split into implemented and NYI

- Init is now separated into Create and Start node

* Simplify Node API

* Node API: proc->method and add WakuNode as first argument

* Fix indent to make compile

* Stub out all API methods
2020-07-27 17:01:06 +08:00
Oskar Thorén
32bddd2ad6 Node: Separate run into create Wakunode and start (#59) 2020-07-24 09:39:58 +08:00
Dean Eigenmann
f57926bb19 enhancement/protobuf (#47)
* changed to data

* fix

* updated

* checkpoint

* sending protobuf

* working on tests

* bump

* fix

* fix

* fix

* testing

* Update test_waku.nim
2020-07-23 10:53:29 +08:00
Oskar Thorén
4be323642b Add basic example usage for Waku v2 (#52)
* Make Waku node async and gcsafe, hacky

...but the nimbus people are doing it!

* Add skeleton example usage

* Rename example to basic2 and add to Makefile

* Sketch out basic example and qualify imports etc

Loading config to start with.

Quite messy with imports/ambiguous identifiers/qualified names. Probably a
better way with exports (hide implementation details) and fully qualified names
by default?

* Example usage run, public run function

* Sketch out API usage

* Example basic RPC client usage

* waitFor run to compile

* Remove run and gsync markers; adjust example
2020-07-20 12:40:35 +08:00
Kim De Mey
e42cd95189 Bump vendor, fix builds and add v2 to CI (#45)
* Fix v2 builds, break v1 builds

* Fix build after nim-eth bump

* Add waku v2 build and tests to CI

* Fix parallel build issues by renaming
2020-07-13 12:08:03 +02:00
Dean Eigenmann
42fd0cc525 remove dir seperator as we already import os (#42) 2020-07-13 12:18:15 +08:00
Oskar Thoren
3510b35217 Add back metrics and grafana server under insecure flag
Update RAEDME
2020-07-07 10:43:46 +08:00
Oskar Thoren
3c9e7fb8a8 More messages for FloodSub vs GossipSub scenario 2020-07-07 10:43:46 +08:00
Kim De Mey
81956b1b55 Cleanup metrics + accounting flag + bump deps (#37)
* Cleaner metrics logging + accounting behind flag + some cleanup

* Bump vendor
2020-07-02 23:52:54 +02:00
Dean Eigenmann
0a3ecf6da8 updated printing enode of peer (#32) 2020-06-19 15:53:06 +02:00
Dean Eigenmann
82cc06cd62 feature/accounting (#29)
* adds accounting experimentally

* updated

* sent

* updated

* print metrics

* var

* indent

* fix
2020-06-18 11:16:23 +08:00
Oskar Thoren
f63d05e97a Break out sim into scenarios, one full node mesh vs light 2020-06-15 11:09:20 +08:00
Kim De Mey
ecdc29d93a Use metrics with labels, fix #24 (#27) 2020-06-09 13:44:39 +02:00
Kim De Mey
5bcef533cc Add genNodekey subcommand for #21 (#25) 2020-06-03 20:31:18 +02:00
Oskar Thoren
83abcf58d8 Propagating subscribes work, BUT at perf (need light node behavior) 2020-06-03 19:32:11 +08:00
Oskar Thoren
aeb34d68de Manual topic interest intermediate direct nodes work 2020-06-03 19:30:37 +08:00
Oskar Thoren
16b74ad80d parameterize floodsub/gossipsub 2020-06-02 19:27:53 +08:00
Oskar Thoren
5663e5aff5 quicksim unique messages 2020-06-02 19:27:20 +08:00
Oskar Thoren
0e12edd107 Quicksim failing example 2020-06-02 12:30:29 +08:00
Oskar Thoren
83ea3a5349 Adjust logs 2020-06-02 12:30:29 +08:00
Oskar Thoren
2d3587c54d Update nim-libp2p and other submodules
Need to use latest libp2p for GossipSub bug fix, safer to update all

Use MultiAddr.tryGet() per resultification upstream
2020-06-01 11:40:55 +08:00
Oskar Thoren
743c997dad Hardcode all six nodes listen topic, flooding 2020-05-28 11:52:57 +08:00
Oskar Thoren
291e6356f8 Maybe connect to multiple peers
Now connnectedpeers is (divide by two?): 0/8/7/6/5/4. Progress?
2020-05-28 11:40:41 +08:00
Oskar Thoren
7460d4b938 WIP try to fix port shift and multiple address mismatch 2020-05-28 11:28:44 +08:00
Oskar Thoren
4de41be423 Remove unused stuff from wakunode 2020-05-28 11:27:01 +08:00
Oskar Thoren
817d887c6a Fix mesh bug indent 2020-05-28 10:58:37 +08:00
6e927b2a82 add a Dockerfile for creating nim-waku images
Also I remove old Dockerfile at waku/node/v1/docker.

Images are uploaded to our Docker Hub account:
https://hub.docker.com/r/statusteam/nim-waku

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-27 12:51:20 +02:00
Oskar Thoren
b6d5425a84 Add support for mesh topology 2020-05-27 13:37:27 +08:00
Oskar Thoren
5d9faa621e 6 nodes in quicksim and post 100 messages 2020-05-27 12:33:53 +08:00
Oskar Thoren
cc0333f4b7 More cleanup 2020-05-27 12:25:02 +08:00
Oskar Thoren
64685135ae Remove unused imports 2020-05-27 12:09:05 +08:00
Oskar Thoren
f1d9103ff1 Basic metrics print node metrics 2020-05-27 12:00:50 +08:00
Oskar Thorén
f901a26fba Sleep and debug quicksim to get clearer view (#14) 2020-05-26 12:02:25 +08:00
Oskar Thorén
48806c0ff4 Upgrade vendor nim-libp2p and related packages (#13)
* Upgrade nim-libp2p to latest

* Upgrade nim-chronos to latest (needed for nim-libp2p)

* Fix conn.readLp varint

* Fix standard switch API change

* WIP: Crypto resultification on v2

* Fix Result usage for SkPrivateKey

* Result fixes

Co-authored-by: kdeme <kim.demey@gmail.com>
2020-05-26 11:55:53 +08:00
Oskar Thoren
6eb2e6eadb Subscribe RPC and quicksim WIP; hacky in-line handler 2020-05-22 15:35:31 +08:00
Oskar Thoren
9a52f6792c wakuPost -> wakuPublish and change sig 2020-05-22 15:28:51 +08:00
Oskar Thoren
257a7776e1 Publish with RPC; fix RPC sigs 2020-05-22 14:25:09 +08:00
Oskar Thoren
6974d8d90f Change Waku RPC to have access to wakuProto; basic publish rpc 2020-05-22 14:18:14 +08:00