Commit Graph

276 Commits

Author SHA1 Message Date
Richard Ramos 3620a6b222 feat: allow specifying list of peerIDs to chose when doing a request 2022-11-25 17:37:54 -04:00
Richard Ramos 5d7d05ca16
fix: restart discv5 2022-11-22 19:46:56 -04:00
Richard Ramos df4e182266 fix: discV5 enr update 2022-11-22 17:57:05 -04:00
Richard Ramos a247e8346d chore: add extra logging for message IDs 2022-11-16 10:42:20 -04:00
Richard Ramos c8fc0404d1
chore: rename status-im/go-waku to waku-org/go-waku 2022-11-09 16:03:40 -04:00
Richard Ramos 8c58037770 fix: set tls min version to 1.2 2022-11-09 22:39:25 +03:00
Richard Ramos 8b64934e2c feat: peer exchange 2022-11-09 17:26:38 +03:00
Richard Ramos dc0968ca0a fix: chat2 rln credentials 2022-11-09 17:09:36 +03:00
Richard Ramos 38093bf660 chore: move dependencies from status-im to waku-org 2022-10-27 11:41:23 -04:00
Richard Ramos a60213b14b chore: add `agent-string` flag 2022-10-27 11:28:37 -04:00
Richard Ramos 77df9a2224 chore: set userAgent to `go-waku` 2022-10-27 11:28:37 -04:00
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 4d23f4256a feat: zerokit RLN 2022-10-04 19:27:21 -04: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 3716ebdf1d
fix: chat2 feedback 2022-09-11 17:08:58 -04:00
Richard Ramos 81220b0a2e
fix: stop node without rln 2022-08-26 22:01:26 -04:00
Richard Ramos a1e5b587a2 feat: add flag to set wss port 2022-08-26 11:59:50 -04:00
Richard Ramos 7943f8f657
fix: close eth connection on stop 2022-08-18 12:27:10 -04:00
Richard Ramos d14e3be64e
chore: add comments to rln options 2022-08-18 10:42:18 -04:00
Richard Ramos 4589b6c31c feat: make rln optional 2022-08-15 14:41:58 -04:00
Richard Ramos fb6aa64442 feat: store credentials in a file 2022-08-15 14:40:10 -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 6481e72885 feat: chat2 + RLN(static) 2022-08-15 14:40:10 -04:00
Richard Ramos 1636a33835 feat: RLN (static) 2022-08-15 14:40:10 -04:00
Richard Ramos dec00e69ad
feat: noise (#258) 2022-08-09 09:55:08 -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 ecf55b6f89
fix: advertise addr IP 2022-07-26 11:24:24 -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 27b5ab9c51 chore: test store being decoupled from relay and fix empty contenttopics on filter 2022-06-14 15:53:48 -04:00
Richard Ramos 3c0c3c4eeb
fix: js-waku / nwaku interop (#252) 2022-06-13 14:30:35 -04:00
Martin Kobetic 8e295a2a57
fix: race in TestConnectionStatusChanges (#257) 2022-06-10 08:15:00 -04:00
Vitaliy Vlasov ca595277e6
fix: iterate through Network peers during ping process (#182) 2022-06-01 16:11:35 -04:00
Richard Ramos 3847bcae68 fix: add back mplex muxer 2022-05-31 15:51:53 -04:00
Richard Ramos 77c1e26a9e chore: upgrade deps and go1.17 2022-05-30 15:30:43 -04:00
Richard Ramos 623e0705c5 fix: increase timeout 2022-05-30 15:30:43 -04:00
Richard Ramos 7c0206684f
refactor: use db for serving history queries (#243) 2022-05-30 14:48:22 -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 dfed1409ff feat: domain name config 2022-05-17 17:54:41 -04:00
Richard Ramos 7b3c853c15
refactor: use diff logger for waku 2022-05-06 15:29:31 -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 281e932c56 feat: add commit hash and method in debug rpc endpoint 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
Richard Ramos df235db6b7
feat: c-bindings for waku relay (#212) 2022-03-21 19:15:53 -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 af6f36ec54
fix: flaky test (#211) 2022-03-18 15:50:10 -04:00
Richard Ramos e7098efcff
chore: nim-waku interop test (#207) 2022-03-10 18:14:50 -04:00
Richard Ramos cdc0c9c69d
fix: remove unused vars 2022-02-24 09:40:18 -04:00
Richard Ramos d1931a6c69
fix: remove print 2022-02-24 09:37:10 -04:00
Richard Ramos 8d155fb51e
fix: protocol name 2022-02-23 11:06:47 -04:00
Richard Ramos 58f739765e
refactor: use int64 timestamps (#189)
* refactor: use int64 timestamps
* fix: changed PB Timestamp index to 10
2022-02-23 11:01:53 -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
Anthony Laibe e176975aed test: Add more test for waku node 2021-11-12 14:26:22 +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 12a1daae74 fix: remove useless parameter 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
Richard Ramos 0df1a21dba fix: connectedness_test async error 2021-11-05 10:29:40 -04:00
Richard Ramos 82ec44fcfa fix: lint and failing test 2021-11-02 07:59:10 -04:00
Richard Ramos 6a3a5b08b3 test: replace peer_events example app by a test 2021-11-02 07:59:10 -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 041a5dae67
test: payload encryption (#97) 2021-10-21 11:56:18 -04:00
Richard Ramos 59e4a11b55
test: payload encoding / decoding (#96) 2021-10-21 08:18:14 -04:00
Richard Ramos 68fe29c56f
test: broadcast (#94) 2021-10-20 14:43:51 -04:00
Richard Ramos eadd018ce5
fix: multiaddress format was incorrect when using ws (#90) 2021-10-18 08:38:01 -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
Richard Ramos 8c590851e3
fix: add --show-addresses and allow setting the listening address 2021-10-14 14:36:25 -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 8f87009466
fix: docs 2021-10-10 11:46:23 -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 761ae88bbd
fix: remove channel for disconnections
Since a subscriber might not be connected always it makes no sense to automatically unsubscribe on disconnet
2021-10-06 15:25:41 -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 4a4d0c97ec
docs. pt-2 2021-04-22 16:42:44 -04:00
Richard Ramos 51e0fecb76
docs. pt-1 2021-04-22 14:49:52 -04:00
Richard Ramos f978071043
add websocket support 2021-04-22 09:07:22 -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
Richard Ramos ef67ff356f
support memory only waku store 2021-04-18 20:03:16 -04:00