Ignotus Peverell
1b78a73328
Variety of small p2p fixes to block sync
...
Adds a couple utility function to p2p server to check whether
we're already connected to a peer before trying again. Other
very minor fixes and logging improvements.
2017-04-27 22:05:12 -07:00
Ignotus Peverell
3fe28b0f03
Server types cleanup and serde for configuration types
...
Moved error and configuration types from server.rs to types.rs
where they should have been from the start. Configuration types
for the server and p2p modules now derive serde Serialize and
Deserialize so we can have a simple JSON configuration file.
2017-04-24 18:49:57 -07:00
Ignotus Peverell
f64d20749f
Framework to define services as RESTful HTTP API services. Serde implementations for some core types.
2017-03-07 17:00:34 -08:00
Ignotus Peverell
eb024e91d2
Discovery and seeding of other peers. Relies either on a gist with IP addresses or a static list. Connects to a first list, sending peer request messages to discover more. Monitor the server to make sure there's always enough peer connections.
2017-02-18 18:42:34 -08:00
Ignotus Peverell
510feadce6
Minor compilation errors due to moving store Error.
2017-02-10 11:02:21 -08:00
Ignotus Peverell
4af049a887
Added full node sync mode. Follows closely the bitcoin header-first sync. Related p2p messages and protocol.
2017-02-07 13:52:17 -08:00
Ignotus Peverell
fc2697e7d8
When the cuckoo size is reduced for tests, pow needs to be recomputed for the genesis block.
2017-01-23 14:34:02 -08:00
Ignotus Peverell
0cc786a1e5
Refactored server to share the same struct whether futures are exposed or not. Multi-server test now properly waits for a block instead of a timer.
2016-12-23 12:15:36 -08:00
Ignotus Peverell
f067e18644
Adapters between the chain and the network for block broadcast. First working test that spins up 5 servers, connects them all together, mine a block on one and watch it getting added to all the other servers chains. Some improvements still needed to automate the test properly.
2016-12-20 17:39:02 -08:00
Ignotus Peverell
e688ff99e6
Started putting in place the adapter between the chain and p2p modules to forward blocks and transactions. Cleaned up chain store references.
2016-12-18 15:51:54 -08:00
Ignotus Peverell
d395b3d128
Added another server implementation for when the client needs to stay in control of the event loop (i.e. multiple servers for tests). Test to spin up 5 servers and connect them all together.
2016-12-14 16:10:39 -08:00
Ignotus Peverell
8a255c0218
Formatting.
2016-12-13 19:21:49 -08:00
Ignotus Peverell
0c52665f17
Server abstraction aggregating underlying modules (p2p, chain, etc.). Beginning of a test to start multiple servers, connect them and mine.
2016-11-29 18:51:36 -08:00