dependabot-preview[bot]
46cb7c02f2
Bump once_cell from 1.3.1 to 1.4.0
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.3.1...v1.4.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 22:28:18 -04:00
dependabot-preview[bot]
83ee4c2ca3
Bump hyper from 0.13.4 to 0.13.5
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.4 to 0.13.5.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.4...v0.13.5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-18 08:43:40 +00:00
dependabot-preview[bot]
6867449ff4
Bump hyper from 0.13.3 to 0.13.4
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.3 to 0.13.4.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.3...v0.13.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-20 21:05:17 -04:00
Henry de Valence
dd8ba287bf
Correct block version parsing.
2020-03-18 21:34:02 -04:00
dependabot-preview[bot]
cf0348b4f5
Bump hyper from 0.13.2 to 0.13.3
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.2 to 0.13.3.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.2...v0.13.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 20:16:27 -05:00
Henry de Valence
81500dfe11
Add Zebra logotype.
2020-02-26 21:25:35 -08:00
Henry de Valence
cd6deea7e1
Clarify that it's the ZF discord and that it's engineering-focused.
2020-02-26 21:25:35 -08:00
Henry de Valence
ff3efd504c
Add Zebra logo to all workspace crates.
...
Also add html_root_url attributes.
2020-02-26 21:25:35 -08:00
Henry de Valence
f98cda40f9
Remove unused import.
2020-02-21 06:48:25 -05:00
Henry de Valence
9c357eaf1e
Use retries for FindBlocks requests.
2020-02-21 06:48:25 -05:00
Henry de Valence
b951f13f06
Add a `revhex` utility command to reverse endianness.
...
This makes it easier to translate block hashes output by our debug logs into
the format used by other tools.
2020-02-21 06:48:25 -05:00
Henry de Valence
afa2c2347f
fmt
2020-02-21 06:48:25 -05:00
Henry de Valence
8bff6ada6c
Prevent a crash serializing configs.
2020-02-14 20:14:05 -05:00
Henry de Valence
75d3d44fb3
Metrics MVP: add two metrics and export them to Prometheus.
...
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2020-02-14 20:14:05 -05:00
Henry de Valence
b443d7a4be
Fix clippy lints.
2020-02-14 18:23:41 -05:00
Henry de Valence
7ba007f23d
Exercise network functionality by downloading lots of blocks.
...
(Don't check any information about them, just blindly download).
2020-02-14 18:23:41 -05:00
Henry de Valence
7049f9d891
Add a FindBlocks request to get initial block hashes.
...
Bitcoin does this either with `getblocks` (returns up to 500 following block
hashes) or `getheaders` (returns up to 2000 following block headers, not
just hashes). However, Bitcoin headers are much smaller than Zcash
headers, which contain a giant Equihash solution block, and many Zcash
blocks don't have many transactions in them, so the block header is
often similarly sized to the block itself. Because we're
aiming to have a highly parallel network layer, it seems better to use
`getblocks` to implement `FindBlocks` (which is necessarily sequential)
and parallelize the processing of the block downloads.
2020-02-14 18:23:41 -05:00
Henry de Valence
3c9b5612f3
Update zebrad docs and README.
2020-02-12 12:50:55 -08:00
Henry de Valence
29f901add3
Rename Response::Ok to Response::Nil.
...
This is a better name because it signals "no data in response" rather
than "Ok", which is semantically mixed with `Ok/Err` of `Result`.
2020-02-10 09:03:56 -08:00
Henry de Valence
2c0f48b587
Refactor connection logic and try a block request.
...
Attempting to implement requests for block data revealed a problem with
the previous connection logic. Block data is requested by sending a
`getdata` message with hashes of the requested blocks; the peer responds
with a sequence of `block` messages with the blocks themselves.
However, this wasn't possible to handle with the previous connection
logic, which could only convert a single Bitcoin message into a
Response. Instead, we factor out the message handling logic into a
Handler, which can statefully accumulate arbitrary data into a Response
and signal completion. This is still pretty ugly but it does work.
As a side effect, the HeartbeatNonceMismatch error is removed; because
the Handler now tries to process messages until it comes to a Response,
it just ignores mismatched nonces (and will eventually time out).
The previous Mempool and Transaction requests were removed but could be
re-added in a different form later. Also, the `Get` prefixes are
removed from `Request` to tidy the name.
2020-02-10 09:03:56 -08:00
Henry de Valence
9273f83761
Remove tracing-subscriber.
...
We don't need to handle the subscriber directly since we upstreamed this
functionality into Abscissa.
2020-02-05 14:05:46 -08:00
Henry de Valence
f04f4f0b98
Apply clippy fixes
2020-02-05 12:42:32 -08:00
dependabot-preview[bot]
dd24dbece3
Bump hyper from 0.13.1 to 0.13.2
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.1 to 0.13.2.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.1...v0.13.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-29 17:25:34 -05:00
Deirdre Connolly
08012f058a
cargo fmt
2020-01-28 03:48:23 -05:00
dependabot-preview[bot]
dbe7427f58
Bump once_cell from 1.3.0 to 1.3.1
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.3.0...v1.3.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-18 23:26:25 -05:00
Henry de Valence
e492cf067e
Disable version string test.
2020-01-15 12:06:31 -08:00
Henry de Valence
4fcb550aa6
Fix a deadlock in TokioComponent.
...
The components are accessed by a lock on application state. When some command
calls block_on to enter an async context, it obtained a write lock on the
entire application state. This meant that if the application state were
accessed later in an async context, a deadlock would occur. Instead the
TokioComponent holds an Option<Runtime> now, so that before calling block_on,
the caller can .take() the runtime and release the lock. Since we only ever
enter an async context once, it's not a problem that the component is then
missing its runtime, as once we are inside of a task we can access the runtime.
2020-01-15 12:06:31 -08:00
Henry de Valence
ab3db201ee
Change TracingEndpoint to forward to the Abscissa Tracing component.
2020-01-15 12:06:31 -08:00
Tony Arcieri
45eb81a204
Upgrade to Abscissa v0.5
2020-01-15 12:06:31 -08:00
Henry de Valence
d3e954cd4a
Remove vestigial tower git dep
2020-01-15 14:23:01 -05:00
dependabot-preview[bot]
3c77c6f685
Bump hyper from 0.13.0 to 0.13.1
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.0...v0.13.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-17 17:11:28 -05:00
Henry de Valence
2965187b91
Upgrade tokio, futures, hyper to released versions.
2019-12-13 17:42:15 -05:00
Deirdre Connolly
189d89a7fc
Handle 'mempool' messages as 'GetMempool' requests
...
With a 'Transactions' response that gets turned into an 'Inv(Vec<InventoryHash::Tx>)' message.
We don't yet handle a response from our peer for a 'mempool', which will have to be
a more generic 'Inv' type because we might receive transaction hashes we don't know about yet.
Pertains to #26
2019-11-18 15:55:25 -05:00
Henry de Valence
6d79352fb6
Remove nightly toolchain pin since async/await is stable.
2019-11-16 00:11:14 -05:00
Henry de Valence
3b02b40758
Simplify tracing output.
2019-11-13 18:43:18 -05:00
Henry de Valence
ec4f6bd9ea
Allow using the connect stub to test address messages.
2019-11-13 18:43:18 -05:00
Henry de Valence
9a0bffecb8
Sanitize outbound address responses.
...
This aims to prevent a remote peer from inspecting timings of all messages
received by this node.
2019-11-13 18:43:18 -05:00
Deirdre Connolly
e5aa02bbd4
Remove special wait, unneeded for seed
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-11-12 22:39:47 -05:00
Deirdre Connolly
bdba52936e
Unwrap address_book in call(), which relies on poll_ready giving a positive response first, otherwise panic
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-11-12 22:39:47 -05:00
Deirdre Connolly
fb19febe26
Remove config override, not needed
2019-11-12 22:39:47 -05:00
Deirdre Connolly
4923e0d783
Update tracing invocation to be better manipulated
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-11-12 22:39:47 -05:00
Deirdre Connolly
73d777fe65
Update `Ok(None)` case logging.
2019-11-12 22:39:47 -05:00
Deirdre Connolly
0f20ff59c7
Clean up SeedService.poll_ready with a 'ref mut'
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-11-12 22:39:47 -05:00
Deirdre Connolly
9d8e32d05f
Update `seed` subcommand description
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-11-12 22:39:47 -05:00
Deirdre Connolly
fe2a1ec1ea
Remove autogenerated Abscissa doc comments
2019-11-12 22:39:47 -05:00
Deirdre Connolly
a2292d94a0
Clean up some logging and comments on seed service
2019-11-12 22:39:47 -05:00
Deirdre Connolly
d6ab549fd5
Yay, SeedService makes a remote 'connect' happy
2019-11-12 22:39:47 -05:00
Deirdre Connolly
4d3ab201e6
seed command seems to be functional
...
Moved SeedService out of the command closure Command currently spawns
a tokio task to DOS the seed service with `Request::GetPeers` every
second.
Pertains to #54
2019-11-12 22:39:47 -05:00
Deirdre Connolly
fee75b5da8
Add SeedService
...
This may need some cleaning up, but this is the first iteration to appease the compiler.
2019-11-12 22:39:47 -05:00
Deirdre Connolly
0ac1b663fe
Keep sets of initial peers as Strings in config file
2019-11-12 22:39:47 -05:00