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
e85d112828
feat: store timestamp validity checks ( #215 )
2022-03-22 08:34:45 -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
61cda61c3d
fix: flag conn error as failure ( #209 )
2022-03-09 19:15:04 -04:00
Richard Ramos
cf6c4ae8fe
fix: extract multiaddress from enode key if available ( #199 )
2022-03-08 08:58:32 -04:00
Richard Ramos
f4f307db87
fix: connect before opening a stream
2022-03-03 12:04:03 -04:00
Richard Ramos
b820d797c8
feat: add pubsub topic to Index pb ( #200 )
...
* feat: add pubsub topic to Index pb
* fix: flaky test
2022-03-02 12:02:13 -04:00
Richard Ramos
2817d71fea
feat: use `d5waku` as ProtocolID for DiscV5 ( #196 )
2022-02-28 14:28:09 -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
df66ef5bb5
fix: race condition in unsubscribe ( #197 )
2022-02-23 11:08:27 -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
e9dafb6038
fix: remove public key ( #193 )
2022-02-21 15:21:31 -04:00
Richard Ramos
3e5d0d0843
fix: flag naming inconsistency ( #194 )
...
Fixes #80
2022-02-21 11:23:52 -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
a3c67e0d42
feat: separate waku2 network ( #179 )
...
* chore: use go-discover instead of go-ethereum/p2p/discover
* feat: use validator function for discV5
2021-12-10 11:29:50 -04:00
Anthony Laibe
12593bb503
feat: private get messages
2021-12-10 15:51:40 +01:00
Richard Ramos
1b0e03c07b
feat: add support for RFC31 ENR ( #180 )
2021-12-10 10:26:38 -04:00
Richard Ramos
0de19253da
refactor: maintenaibility fixes ( #167 )
2021-12-08 10:21:30 -04:00
Anthony Laibe
d0d3271433
feat: private rpc encrypt message
2021-12-08 14:07:57 +01: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
23cbb24a94
fix: use max Int32 instead of 64 due to compile issue on android ( #170 )
2021-11-25 10:18:33 -04:00
Richard Ramos
a3125c7b61
fix: increase response read limit ( #169 )
2021-11-25 09:46:04 -04:00
Richard Ramos
b728e62ec7
fix: disconnect peer after failing 2 consecutive pings ( #168 )
2021-11-24 16:11:24 -04:00
Anthony Laibe
3571f0bab9
feat: init swap protocol
...
* Add proto files
* Add options
* Add credit/debit for soft mode
2021-11-24 13:58:35 +01:00
Richard Ramos
ce417a6486
refactor: use WaitGroup for graceful shutdown of worker goroutines ( #166 )
2021-11-23 11:03:12 -04:00
Richard Ramos
c8caa46c99
feat: add NAT for DiscV5 UDP port ( #164 )
2021-11-23 10:24:05 -04:00
Anthony Laibe
28487873b6
refactor: runnable service
2021-11-22 16:03:54 +01:00
Anthony Laibe
74c0f648f2
fix: Use log.Info rather than fmt.Println
2021-11-22 14:54:17 +01:00
Anthony Laibe
2afffd9dd9
feat: Add rpc method for filter#getmessages
2021-11-22 13:43:41 +01:00
Richard Ramos
79bb101787
fix: port number verification
2021-11-21 10:04:31 -04:00
Richard Ramos
e8c08ac18b
fix: invalid ticker usage
2021-11-21 10:04:23 -04:00
Richard Ramos
78a0d4d74d
fix: replace WIthTopic to ToTopic
2021-11-19 20:04:38 -04:00
Richard Ramos
00ee0b7511
refactor: create separate functions for subscriptions and publishing
2021-11-19 20:04:38 -04:00
Richard Ramos
56ef99e11f
refactor: remove topic type
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
Anthony Laibe
c91d666f35
feat: Add private service
...
Plus add missing methods in other services as not implemented yet
2021-11-19 09:38:16 +01:00
Anthony Laibe
38e5fdbe3e
feat: Add rpc filter
2021-11-18 13:35:55 +01:00
Anthony Laibe
2ae370ca41
test: Add test/refactor filter option
2021-11-18 13:35:46 +01:00
Richard Ramos
c9a9b02e48
test: stop / start discovery ( #153 )
2021-11-18 08:26:36 -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
6ae4d4fce2
feat: discoveryV5 - part1 ( #149 )
2021-11-16 10:22:01 -04:00
Anthony Laibe
e176975aed
test: Add more test for waku node
2021-11-12 14:26:22 +01:00
Richard Ramos
54f647aa4f
test: public_key and resolver ( #147 )
2021-11-10 21:34:39 -04:00
Richard Ramos
6d04308716
feat: 23/WAKU2-TOPICS ( #146 )
2021-11-10 10:28:45 -04:00
Anthony Laibe
9f504b1150
test: extend coverage with missing test
2021-11-10 14:55:23 +01:00
Anthony Laibe
b81bd6ff30
feat: Add rpc store
...
Add test for rpc services
2021-11-10 09:22:00 +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
Anthony Laibe
7ff5fcf838
feat: Add relay rpc methods
2021-11-09 13:54:45 +01:00
Richard Ramos
49737780ea
refactor: concurrent map and slices for filter
2021-11-08 08:58:14 -04:00
Richard Ramos
fcfe3568ab
feat: clean up older records in message queue
...
Fixes #133
2021-11-07 11:16:04 -04:00
Anthony Laibe
a1cb371d5a
refactor: lightpush options and be more explicit about
...
the relay node being present or not
2021-11-07 16:15:07 +01:00
Richard Ramos
a46881fc27
fix: rebase issues
2021-11-06 12:57:01 -04:00
Richard Ramos
2cbedf47a0
refactor: rename parameter from maxDays to maxDuration
2021-11-06 12:57:01 -04:00
Richard Ramos
a7c76d2af1
fix: typo
2021-11-06 12:57:01 -04:00
Richard Ramos
08c5c2303e
Use function to calculate duration in days
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
99248e9931
test: unsubscribe to filter
2021-11-06 12:25:45 -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
2336252efc
add size to store message channel
2021-11-05 10:29:40 -04:00
Anthony Laibe
7a34cf6d45
feat: Use correct rpc method name
2021-11-03 13:25:28 +01:00
Anthony Laibe
06a86f45b0
feat: Add first endpoint for rpc server
2021-11-02 15:16:23 +01: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
Anthony Laibe
189724dd1e
test: add filter test
2021-11-01 16:38:24 +01: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
d150123f21
fix: store and lightpush metrics ( #114 )
2021-10-30 19:19:03 -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
b7a7143803
select random peer instead of just the first ( #109 )
2021-10-28 15:26:25 -04:00
Richard Ramos
8ba64affba
test: resume and time based queries ( #108 )
2021-10-28 09:03:23 -04:00
Anthony Laibe
9030907960
test: add test for lightpush ( #106 )
...
* test: add test for lightpush
Co-authored-by: Richard Ramos <info@richardramos.me>
2021-10-28 14:41:17 +02:00
Richard Ramos
8253e381df
test: store
2021-10-25 15:41:08 -04:00
Anthony Laibe
ce49f29c08
test: add test for relay protocol
2021-10-25 21:24:42 +02:00
Anthony Laibe
3bf00b2f37
test: add test for generating requestid
2021-10-25 20:27:01 +02:00
Anthony Laibe
10378a5827
test: Add persistence module test
2021-10-22 09:41:26 +02: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
Anthony Laibe
9ad06b6eb8
test: Add time test
2021-10-20 21:51:26 +02:00
Richard Ramos
b1284d367d
test: utils ( #95 )
2021-10-20 14:43:59 -04:00
Richard Ramos
68fe29c56f
test: broadcast ( #94 )
2021-10-20 14:43:51 -04:00
Anthony Laibe
6f8e86b667
test: add persistence sqlite test
2021-10-20 17:34:03 +02:00
Anthony Laibe
990bbc50dc
test: Add metrics unit test
2021-10-20 15:50:53 +02: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
Anthony Laibe
5744879242
refactor: add leveldb rendezvous persistence
2021-10-18 09:16:57 +02:00
Richard Ramos
654bebdb93
fix: peer metrics
2021-10-16 18:02:48 -04:00
Richard Ramos
b661a4b9bc
fix: missing identity
2021-10-15 15:51:24 -04:00
Richard Ramos
a956684f48
fix: use same privKey when displaying addresses
2021-10-15 08:39:51 -04:00
Jakub
1c991a94d8
metrics: add /health endpoint for healthchecks ( #84 )
...
Because calling `/metrics` for a Consul healhcheck is too heavy
and far too verbose.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-10-15 12:47:40 +02: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
54a93a60c5
feat: add ability to regenerate proto files ( #76 )
2021-10-14 11:03:25 +02:00
Anthony Laibe
2df2289972
feat: Add log level options ( #75 )
2021-10-13 16:18:10 +02:00
Anthony Laibe
86cf5304b2
fix linter ( #73 )
2021-10-13 14:48:29 +02:00
Richard Ramos
c1bdead94d
revert: utils.GetUnixEpoch()
2021-10-12 09:45:22 -04: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
70e301f348
fix: flag names
2021-10-06 14:43:41 -04:00
Richard Ramos
245c01b286
fix: check err on wakunode start
2021-10-06 14:07: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
de0b63f4a2
feat: options to generate/specify/load node privatekey
2021-10-04 22:14:38 -04:00
Richard Ramos
f82732cd19
refactor: reorganize wakunode flags in groups
2021-10-04 18:39:03 -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
034656b2c0
refactor: rename protocol variables
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
5c9a29524d
feat: add gossipsub peer exchange option to waku node ( #53 )
2021-10-01 13:43:03 -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
Richard Ramos
9416077adf
fix: use multiaddres instead of strings
2021-09-27 14:16:06 -04:00
Andrea Maria Piana
cfcfb52a58
[ Fixes : #39 ] Add DNS discovery ( #48 )
...
This commit adds a public method that takes a url and returns a list of
multiaddr.
Once we better understand how to integrate it we can make it so that is
passed as a config when initializing waku, this commit only provides the
basic functionality.
2021-09-27 13:52:56 -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