Luke Parker
ad5522d854
Start handling P2P messages
...
This defines the tart of a very complex series of locks I'm really unhappy
with. At the same time, there's not immediately a better solution. This also
should work without issue.
2023-04-23 17:01:30 -04:00
Luke Parker
af84b7f707
Add a test for Tributary
...
Further fleshes out the Tributary testing code.
2023-04-22 22:28:20 -04:00
Luke Parker
8c74576cf0
Add a test to the coordinator for running a Tributary
...
Impls a LocalP2p for testing.
Moves rebroadcasting into Tendermint, since it's what knows if a message is
fully valid + original.
Removes TributarySpec::validators() HashMap, as its non-determinism caused
different instances to have different round robin schedules. It was already
prior moved to a Vec for this issue, so I'm unsure why this remnant existed.
Also renames the GH no-std workflow from the prior commit.
2023-04-22 10:49:52 -04:00
Luke Parker
8041a0d845
Initial Tributary handling
2023-04-20 05:05:17 -04:00
Luke Parker
f48022c6eb
Add basic getters to tributary
2023-04-15 00:41:48 -04:00
Luke Parker
2e2bc59703
Support reloading the mempool from disk
2023-04-14 15:51:56 -04:00
Luke Parker
695d923593
Reloaded provided transactions from the disk
...
Also resolves a race condition by asserting provided transactions must be
unique, allowing them to be safely provided multiple times.
2023-04-14 15:03:01 -04:00
Luke Parker
63318cb728
Add a DB to Tributary
...
Adds support for reloading most of the blockchain.
2023-04-14 14:11:40 -04:00
Luke Parker
72dd665ebf
Add DoS limits to tributary and require provided transactions be ordered
2023-04-13 20:35:55 -04:00
Luke Parker
e73a51bfa5
Finish binding Tendermint into Tributary and define a Tributary master object
2023-04-13 18:43:27 -04:00
Luke Parker
86cbf6e02e
Bind the signature scheme for tendermint-machine
2023-04-12 16:06:14 -04:00
Luke Parker
be947ce152
Add a mempool
2023-04-12 12:15:38 -04:00
Luke Parker
7c7f17aac6
Test the blockchain
2023-04-12 11:13:48 -04:00
Luke Parker
402a7be966
Block contructor and tests
2023-04-11 20:24:27 -04:00
Luke Parker
2cfee536f6
Define all coordinator transaction types
2023-04-11 19:04:53 -04:00
Luke Parker
7488d23e0d
Add basic transaction/block code to Tributary
2023-04-11 13:42:18 -04:00
Luke Parker
09f8ac37c4
Create a folder for tributary, the micro-blockchain
...
Moves tendermint again, this time under tributary.
2023-04-11 10:18:31 -04:00