status-go/protocol/sqlite
Andrea Maria Piana e65760ca85 Add basic peersyncing
This commit adds basic syncing capabilities with peers if they are both
online.

It updates the work done on MVDS, but I decided to create the code in
status-go instead, since it's very tight to the application (similarly
the code that was the inspiration for mvds, bramble, is all tight
together at the database level).

I reused parts of the protobufs.

The flow is:

1) An OFFER message is sent periodically with a bunch of message-ids and
   group-ids.
2) Anyone can REQUEST some of those messages if not present in their
   database.

3) The peer will then send over those messages.

It's disabled by default, but I am planning to add a way to set up the
flags.
2024-01-23 12:46:17 +00:00
..
ad_hoc_migration.go chore(upgradeSQLCipher): Upgrading SQLCipher to version 5.4.5 (#3559) 2023-06-07 08:58:01 +03:00
db.go Add basic peersyncing 2024-01-23 12:46:17 +00:00
db_test.go fix: use proper migrations for protocol's test database 2023-10-03 15:11:58 +02:00
doc.go Move to monorepo structure (#1684) 2019-11-21 17:19:22 +01:00
migrations.go Refactorings: whisper transport removed (#2200) 2021-04-22 16:36:18 +03:00
migrations_test.go Make shhext and protocol work with Waku (#1777) 2020-01-13 20:17:30 +01:00