Ignotus Peverell
efe414bf07
No send back for blocks and transactions ( #212 )
...
* Do not send txs and blocks to senders. Keeps a ring buffer of transaction and blocks hashes that a peer has received. Do not send what we've already received.
* Test fix and fmt
2017-10-26 17:48:51 +00:00
Yeastplume
8e382a7593
slog-rs logging ( #171 )
...
* added global slog instance, changed all logging macro formats to include logger instance
* adding configuration to logging, allowing for multiple log outputs
* updates to test, changes to build docs
* rustfmt
* moving logging functions into util crate
2017-10-12 16:56:44 +00:00
Ignotus Peverell
8504efb796
Cargo fmt all the things
2017-09-29 18:44:25 +00:00
Ignotus Peverell
7c72ccec7c
Cleaned up error handling in p2p module. Setting peer status on disconnect.
2017-02-26 20:08:40 -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
786da24653
A db store for peer data.
2017-02-09 20:16:34 -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
2d81abc16c
Added height as part of handshake to inform syncing.
2017-02-02 15:51:48 -08:00
Ignotus Peverell
572c1951e1
Introduced a higher-level connection abstraction, allowing the protocol to stay relatively simple. Deals with the lower level details of sending, receiving data, timeouts and dealing with futures.
2017-01-29 22:43:20 -08:00
Ignotus Peverell
7bea7341ab
Various cleanup and reorganization.
2016-12-11 13:04:52 -08:00
Ignotus Peverell
4b5c010b05
Rewrote most of p2p code to use futures-rs instead of mioco. Need some cleanup and support for a few more message types.
2016-12-10 19:11:49 -08:00
Merope Riddle
565374bac7
p2p: fix for changes in core serialization API
2016-11-01 02:16:57 +00:00
Ignotus Peverell
ee6fcab8db
Proper server and protocol event loop. Channels for shutdown and ping/pong trivial roundtrip. Working test.
2016-10-30 18:24:19 -07:00
Ignotus Peverell
42769c373c
Re-implemented the whole interaction between server, peer and protocol to be more Rust-ish. Server maintains peer references and protocol is internally mutable.
2016-10-29 12:36:45 -07:00
Ignotus Peverell
fdaf2ba6af
First working test with related fixes demonstrating a full peer handshake.
2016-10-27 14:28:02 -07:00
Ignotus Peverell
a9dc8a05ac
Preliminary impl of p2p package compiles now. Next step: basic handshake integration test.
2016-10-26 11:21:45 -07:00
Ignotus Peverell
b1762cb5f4
p2p module getting close to first integration test allowing 2 peers to connect. Fleshed out handshake and protocol use. Fixed most errors, just need to make the borrow checker happy.
2016-10-25 22:06:13 -07:00