serai/coordinator
Luke Parker b493e3e31f
Validator DHT (#494)
* Route validators for any active set through sc-authority-discovery

Additionally adds an RPC route to retrieve their P2P addresses.

* Have the coordinator get peers from substrate

* Have the RPC return one address, not up to 3

Prevents the coordinator from believing it has 3 peers when it has one.

* Add missing feature to serai-client

* Correct network argument in serai-client for p2p_validators call

* Add a test in serai-client to check DHT population with a much quicker failure than the coordinator tests

* Update to latest Substrate

Removes distinguishing BABE/AuthorityDiscovery keys which causes
sc_authority_discovery to populate as desired.

* Update to a properly tagged substrate commit

* Add all dialed to peers to GossipSub

* cargo fmt

* Reduce common code in serai-coordinator-tests with amore involved new_test

* Use a recursive async function to spawn `n` DockerTests with the necessary networking configuration

* Merge UNIQUE_ID and ONE_AT_A_TIME

* Tidy up the new recursive code in tests/coordinator

* Use a Mutex in CONTEXT to let it be set multiple times

* Make complimentary edits to full-stack tests

* Augment coordinator P2p connection logs

* Drop lock acquisitions before recursing

* Better scope lock acquisitions in full-stack, preventing a deadlock

* Ensure OUTER_OPS is reset across the test boundary

* Add cargo deny allowance for dockertest fork
2023-12-22 21:09:18 -05:00
..
src Validator DHT (#494) 2023-12-22 21:09:18 -05:00
tributary Correct a couple years of accumulated typos 2023-12-17 02:06:51 -05:00
Cargo.toml Validator DHT (#494) 2023-12-22 21:09:18 -05:00
LICENSE Add empty coordinator 2023-04-11 09:21:35 -04:00
README.md Add empty coordinator 2023-04-11 09:21:35 -04:00

Coordinator

The Serai coordinator communicates with other coordinators to prepare batches for Serai and sign transactions.

In order to achieve consensus over gossip, and order certain events, a micro-blockchain is instantiated.