Commit Graph

172 Commits

Author SHA1 Message Date
Richard Ramos 1b7dd9fe3f chore: remove rendezvous 2022-10-27 09:16:26 -04:00
Richard Ramos 57a525f71e chore: upgrade libp2p 2022-10-19 15:54:02 -04:00
Richard Ramos 644debe042 refactor(rln): credentials management 2022-10-10 17:41:28 -05:00
Richard Ramos cd79be4812
fix: jenkinscript (#304)
* chore: add jenkinsfile for tests
* chore: remove old jenkinsfile
* fix: lint
* fix: update cc-test-reporter
2022-09-12 10:13:38 -04:00
Richard Ramos 7943f8f657
fix: close eth connection on stop 2022-08-18 12:27:10 -04:00
Richard Ramos 4589b6c31c feat: make rln optional 2022-08-15 14:41:58 -04:00
Richard Ramos 893f9f396c feat: chat2 dynamic RLN (#283) 2022-08-15 14:40:10 -04:00
Richard Ramos 132ac128e5 feat: RLN (dynamic) 2022-08-15 14:40:10 -04:00
Richard Ramos 587fd148ca chore: use static rln lib and fix lint 2022-08-15 14:40:10 -04:00
Richard Ramos 1636a33835 feat: RLN (static) 2022-08-15 14:40:10 -04:00
Richard Ramos 546416a9d5
refactor: remove WakuStoreWithRetentionPolicy and add build tag to migrations (#281) 2022-08-03 09:32:52 -04:00
Steven Normore fb6d59ff33
fix: close addrChan in the writer goroutine (#277) 2022-08-01 20:16:52 -04:00
Richard Ramos 8cf5f80529
fix: dial wss nodes and add ws to list of default transports (#274)
Also updates libp2p to latest version
2022-07-25 11:49:10 -04:00
Richard Ramos 36d4a61dc4 chore: add missing flags 2022-06-19 17:47:39 -04:00
Richard Ramos 3c0c3c4eeb
fix: js-waku / nwaku interop (#252) 2022-06-13 14:30:35 -04:00
Richard Ramos 77c1e26a9e chore: upgrade deps and go1.17 2022-05-30 15:30:43 -04:00
Martin Kobetic 7c44369def
feat: structured logging followup (#248) 2022-05-30 11:55:30 -04:00
Martin Kobetic 0c989d3d8c
feat: structured logging (#242) 2022-05-27 09:25:06 -04:00
Richard Ramos 9845fea2a2 fix: improve log for ENR and print git hash on startup 2022-05-05 14:26:24 -04:00
Richard Ramos bbab0f1714
fix: add topic to broadcast and some comments to functions (#229) 2022-04-25 23:31:26 +04:00
Richard Ramos b294ee6f6f
fix: port on discv5 (#224) 2022-03-31 21:20:10 -04:00
Richard Ramos a20a128fb7
fix: discv5 ip advertising (#223) 2022-03-29 20:02:33 -04:00
Richard Ramos aa6d8c8b58
fix: c api and add some documentation (#219) 2022-03-22 12:30:14 -04:00
Richard Ramos 290b7663d1
feat: secure websockets (#201) 2022-03-22 09:12:58 -04:00
Nicholas Molnar 21b2e1d97c
Create pluggable store (#210)
* Add store factory
* Add to test
2022-03-18 15:56:34 -04:00
Richard Ramos e7098efcff
chore: nim-waku interop test (#207) 2022-03-10 18:14:50 -04:00
Richard Ramos 8d155fb51e
fix: protocol name 2022-02-23 11:06:47 -04:00
Richard Ramos 0db40c7de5
fix: broadcaster blocked after publishing 1024 messages (#188) 2022-02-18 13:49:11 -04:00
Richard Ramos 11d1f8fb0d
feat: result aggregation in resume and enforce max page size (#183)
* feat: result aggregation in resume and enforce max page size
* feat: add WithLogger option to wakunode (#184)
* fix: rebase issues
2022-01-18 14:17:06 -04:00
Richard Ramos 0de19253da
refactor: maintenaibility fixes (#167) 2021-12-08 10:21:30 -04:00
Richard Ramos c45e8a3c31
fix: handle stale clients in filter protocol (#174) 2021-12-08 09:00:20 -04:00
Anthony Laibe 2b225e90e7 feat: Implement logic for publish from node 2021-12-07 14:32:02 +01:00
Anthony Laibe 9bb957afeb feat: build swap and attach it to the store 2021-12-07 14:31:36 +01:00
Richard Ramos ed91f47ff0
fix: wakuflag for ListenAddresses ENR (#171)
Also, reorganize code in utils package
2021-12-03 09:40:51 -04:00
Richard Ramos b728e62ec7
fix: disconnect peer after failing 2 consecutive pings (#168) 2021-11-24 16:11:24 -04:00
Richard Ramos ce417a6486
refactor: use WaitGroup for graceful shutdown of worker goroutines (#166) 2021-11-23 11:03:12 -04:00
Richard Ramos e8c08ac18b fix: invalid ticker usage 2021-11-21 10:04:23 -04:00
Richard Ramos 00ee0b7511 refactor: create separate functions for subscriptions and publishing 2021-11-19 20:04:38 -04:00
Anthony Laibe 75516a8f96 feat: implement rcp relay get messages 2021-11-19 14:53:40 +01:00
Richard Ramos 055227a4c6
fix: invalid ENR generated for addresses (#151) 2021-11-19 09:13:00 -04:00
Richard Ramos 817759c235
feat: discoveryV5 - part2 (#150) 2021-11-17 12:19:42 -04:00
Anthony Laibe 978bedfafa feat: add admin rpc methods 2021-11-17 16:11:02 +01:00
Richard Ramos 0c873e3c2d
feat: select peer with lowest ping time and test peer functions (#143)
* feat: select peer with lowest ping time and test peer functions
* fix: do not self-ping
2021-11-09 19:34:04 -04:00
Richard Ramos 9426cd133a
fix: store protocol should have a host regardless if acts as store node or not (#142) 2021-11-09 12:18:57 -04:00
Richard Ramos 2cbedf47a0 refactor: rename parameter from maxDays to maxDuration 2021-11-06 12:57:01 -04:00
Richard Ramos 6db2f258d8 feat: message retention policy for wakustore
Fixes#69
2021-11-06 12:57:01 -04:00
Richard Ramos 793e7f572f refactor: filter
Moves the filter logic from wakunode2 to waku_filter
2021-11-06 12:45:14 -04:00
Richard Ramos c98769b7f2 refactor: use envelopes in the store
Also do some linting and add documentation for some functions
2021-11-06 09:06:53 -04:00
Vitaliy Vlasov 268767262b
Iterate through Peerstore in startKeepAlive() (#102) 2021-11-01 13:33:58 -04:00
Richard Ramos b789d9900e
refactor: relay (#119) 2021-11-01 10:42:55 -04:00
Richard Ramos c0ba800af7
refactor: store and lightpush (#118) 2021-11-01 08:38:03 -04:00
Richard Ramos 98255060f3
refactor: add Next() and create Query and Result structs (#117) 2021-10-31 15:00:38 -04:00
Richard Ramos d94802f739
chose node type when starting filter and make relay optional (#113) 2021-10-30 10:29:34 -04:00
Richard Ramos f2be4a8e7a
test: keep alive (#110) 2021-10-29 11:24:31 -04:00
Richard Ramos e482075fa9
refactor: peer selection and filter API (#87) 2021-10-18 08:25:55 -04:00
Richard Ramos 5f3df9343c fix: goroutine leak on ping 2021-10-18 07:55:42 -04:00
Richard Ramos 654bebdb93
fix: peer metrics 2021-10-16 18:02:48 -04:00
Richard Ramos a956684f48
fix: use same privKey when displaying addresses 2021-10-15 08:39:51 -04:00
Richard Ramos c86db00285
feat: add --advertise-address flag 2021-10-14 22:15:02 -04:00
Anthony Laibe 86cf5304b2
fix linter (#73) 2021-10-13 14:48:29 +02:00
Richard Ramos dc52ba182a refactor: filter
- Create a channel when a subscription is created
- Add stop function for protocols
2021-10-11 19:02:25 -04:00
Richard Ramos 578b40a44e refactor: extract function to subscribe to topic 2021-10-10 18:53:25 -04:00
Richard Ramos 13aee0b1e0 refactor: change filter function parameters to not use protobuffers 2021-10-10 18:53:25 -04:00
Richard Ramos 8a28978f83
fix: wait until peer is connected to resume history 2021-10-10 11:46:31 -04:00
Richard Ramos 4a7779dda1 refactor: remove go-wakurelay-pubsub and update dependencies 2021-10-08 10:46:46 -04:00
Richard Ramos dbd7a1c2d7 WIP: replace go-wakurelay-pubsub by go-libp2p-pubsub 2021-10-08 10:46:46 -04:00
Richard Ramos 1991a54d64 refactor: connectedness
Uses libp2p network notifier to determine when a peer connects or disconnects, as well as using the host network peerstore instead of managing out own separate peer map
2021-10-06 14:07:46 -04:00
Richard Ramos 79e21dbb99 refactor: add peers before starting 2021-10-04 22:16:24 -04:00
Richard Ramos a58db1656d refactor: rendezvous nodes are added to peer store
- No need to specify peerIDs in command line flag
- Rendezvous nodes are selected automatically instead of passing them via waku option
2021-10-01 14:45:25 -04:00
Richard Ramos 954f2a0c56
feat: use leveldb for storing peers and clean up periodically older records from rendezvous server (#56) 2021-10-01 14:37:52 -04:00
Richard Ramos 70efcd72f3
feat: rendezvous (#54) 2021-10-01 13:49:50 -04:00
Richard Ramos 37a01edce4
fix: add context parameter to peer dial (#59) 2021-10-01 06:32:15 -04:00
Richard Ramos c8a83f04de
feat: add dns-discovery flags to wakunode and chat2 example (#52) 2021-09-30 19:03:19 -04:00
RichΛrd 6c4a74fb9c
fix: check for messages first on filter in case a non null request is being sent (#50)
* fix: check for messages first on filter in case a non null request is being sent
* fix: clean up logs
* fix: peer lock
2021-09-27 08:47:18 -04:00
Vitaliy Vlasov 67ac969a65 Use peerstore instead of network 2021-09-23 17:38:08 +03:00
Vitaliy Vlasov a3c7102a34 Fix keepAlive 2021-09-23 17:38:08 +03:00
Richard Ramos 1cf3de3a3f fix: return 2021-09-23 17:38:08 +03:00
Richard Ramos 4ce04014d1 fix: make resume optional and trigger connect/disconnect when dialing a peer or dropping it 2021-09-23 17:38:08 +03:00
Richard Ramos cf32e10236 expose function to retrieve list of peers and supported protocols 2021-09-23 17:38:08 +03:00
Richard Ramos 4450e6bba0 adds DialbyPeerID 2021-09-23 17:38:08 +03:00
Richard Ramos 11bf973daf chore: change log level to reduce noise 2021-09-23 17:38:08 +03:00
RichΛrd 52b46d6869 emit ConnStatus always to get an update when peers change connectivity (#46)
* emit ConnStatus event always to get an update when peers change
connectivity
* use peers map to determine peer count
2021-09-23 17:38:08 +03:00
RichΛrd 53b3d19948 add peers to ConnStatus (#45)
* add peers to ConnStatus
* return connected peers and supported protocols
2021-09-23 17:38:08 +03:00
Vitaliy Vlasov 24c7a8e4c6 Use keepAlive for Connectedness events 2021-09-23 17:38:08 +03:00
Richard Ramos 51f220a130
refactor: code duplication 2021-08-31 14:19:49 -04:00
Andrea Maria Piana b387da9ab4
Add tests and lint code 2021-08-13 13:56:09 +02:00
RichΛrd 748e738d9a
adding lint target and fixing lint issues (#38) 2021-07-29 08:40:54 -04:00
Richard Ramos a2ff7f3df9
Use sender timestamp for retrieving messages from store 2021-07-11 14:11:38 -04:00
Vitaliy Vlasov 690841d042 Add peer connectivity notifications 2021-06-29 16:35:01 +03:00
RichΛrd 367459f4d7
filter and lightpush showcase (#28) 2021-06-28 10:14:28 -04:00
RichΛrd 48d5a6996b
feat: configure metrics using opencensus (#32)
* feat: configure metrics using opencensus
* add runtime metrics
2021-06-28 09:20:23 -04:00
RichΛrd c44e50677c
feat: use ping protocol to keep conn to peers alive (#27) 2021-06-24 09:02:53 -04:00
Vitaliy Vlasov 0c3f109d9e Add UnsubscribeFilter 2021-06-16 11:39:15 +03:00
RichΛrd ceacac10c3
feat: resume message history (#24) 2021-06-10 09:00:06 -04:00
Vitaliy Vlasov b9f3f562eb
waku2-filter (#23)
* waku2-filter
2021-06-10 08:59:51 -04:00
Richard Ramos 9138d58152
Add option to enable lightpush protocol 2021-04-28 16:23:03 -04:00
Richard Ramos 3d8aae5b81
Lightpush protocol
- Partially implements #20. Requires some tests
- Extracts wakurelay code to separate file
- Extracts request id gen to separate file
- Initial implementation of lightpush protocol
- Adds utils functions to obtain a message hash
- Publish receives a context to send a message
2021-04-28 16:10:44 -04:00
Richard Ramos aee86211d1
Enabling pubsub topic filter in history queries
Fixes #19
2021-04-28 11:11:32 -04:00
Richard Ramos 997bc4f2d8
refactor: organize code 2021-04-21 20:09:37 -04:00
Richard Ramos 287a54aca7
add history content filter 2021-04-20 17:46:35 -04:00