Yuriy Glukhov
ff5e69fd53
Fixed rlp related compile errors
2018-09-26 15:59:00 +03:00
Yuriy Glukhov
d808d9dc1a
P2P fixes, optional discovery
2018-09-25 17:42:10 +03:00
Yuriy Glukhov
f89d2eee5f
Specify debug enode through env var. Fail less often in discovery
2018-09-20 22:28:53 +03:00
Zahary Karadjov
2785dcdd19
Don't use HTTP dependencies in Nimble due to nim-lang/nimble#543
2018-09-15 23:52:15 +03:00
Zahary Karadjov
d30dce9d53
Fix compilation issues when using peer.networkState
2018-09-12 18:28:50 +03:00
Yuriy Glukhov
f815c73963
Reply empty nodeData
2018-09-10 19:22:31 +03:00
Yuriy Glukhov
b5c898dc1e
Fixed requested block range, more reliable block downloader
2018-09-07 13:37:11 +03:00
Yuriy Glukhov
573ca08643
Fixed occasional assertion failure on bonding
2018-09-07 13:37:11 +03:00
Yuriy Glukhov
892467b5a8
Less verbosity about some errors
2018-09-07 13:37:11 +03:00
Jacek Sieka
9392ae1d53
appveyor: fix version check
2018-09-06 12:02:24 -06:00
Jacek Sieka
98df7916b2
readme: update license
2018-09-05 12:47:38 -06:00
Jacek Sieka
0909540a92
ci: update
...
readme: fix license, badges
2018-09-04 22:24:14 -06:00
Jacek Sieka
819d021fa2
travis: use cached nim instead of docker
2018-09-02 09:41:09 -06:00
Yuriy Glukhov
0eda6bc91a
Download block bodies
2018-08-29 23:34:21 +03:00
Yuriy Glukhov
2c3a183445
Compatibility with newer nim
2018-08-29 18:28:01 +03:00
Yuriy Glukhov
4b5cda9233
Temporary workaround to experimental problem
2018-08-29 18:28:01 +03:00
Yuriy Glukhov
847fac0635
Fixed msg len encoding
2018-08-29 18:28:01 +03:00
Zahary Karadjov
20033b499b
Use chronicles instead of 'echo'; Cosmetic renames
2018-08-14 16:45:08 +03:00
Yuriy Glukhov
253bea9c8e
More fixes. Block headers download works!
2018-08-14 16:45:08 +03:00
Yuriy Glukhov
7fac4cbf68
Merge pull request #31 from status-im/fix-autobuild
...
Added eth_common to dependencies
2018-07-31 01:08:04 +03:00
Yuriy Glukhov
695331737a
Added eth_common to dependencies
2018-07-31 00:37:56 +03:00
Zahary Karadjov
11fbe60ba4
add some reference links
2018-07-24 00:41:40 +03:00
Zahary Karadjov
be7ca479b3
more fleshed out implementation of the blockchain sync procedure
2018-07-24 00:39:41 +03:00
Zahary Karadjov
6351fc38b9
type in eth_common has been renamed to avoid a naming collission in nimbus's gas_costs module
2018-07-23 13:44:56 +03:00
Zahary Karadjov
41e92ca8df
The ETH and LES protocols now compile as part of nimbus
2018-07-23 00:32:45 +03:00
Zahary Karadjov
4335052e9f
Move the code from rlpx.nim in the base module as it now represents
...
a wider set of APIs.
2018-07-12 14:14:22 +03:00
Yuriy Glukhov
cf6b4d3084
Some fixes
2018-07-10 12:54:27 +03:00
Zahary Karadjov
6ac6397d33
Added documentation
2018-07-09 20:00:34 +03:00
Zahary Karadjov
96cf717778
WIP outline of the Blockchain sync procedure using the ETH wire protocol
2018-07-09 01:26:14 +03:00
Zahary Karadjov
4d17ab1ee5
Added various smaller features
...
* Perform per-protocol handshakes after connecting
* Initialize the per-protocol Peer and Network states properly
* Add an `EthereumNode` object that can be configured with specific
capabilities and connected to a specific network.
2018-07-09 01:17:00 +03:00
Zahary Karadjov
f1001c45d2
implement the new nextMsg semantics
2018-07-08 19:12:06 +03:00
Zahary Karadjov
9057d18abe
Implemented the request/response future resolving logic
2018-07-08 17:25:10 +03:00
Zahary Karadjov
72016046fb
Merge peer_pool and server into rlpx
...
This was done because a cycle was formed between the structures
of the three modules:
- A Peer holds a reference to its Network
- The Network holds a reference to its PeerPool
- The PeerPool keeps a table of connected Peers
I could have resolved the issue by introducing a new types module,
but it would have required all of the currently private fields to
become public (due to lack of package-level visibility in Nim).
Instead I decided to merge the modules because they were relatively
small anyway. Please note that the former `P2PServer` type is now
called `NetworkConnection`. There are slight changes in the APIs
that will be carried out in Nimbus when merging this.
2018-07-06 15:25:21 +03:00
Zahary Karadjov
fac8bbd917
WIP refactor the rlpxProtocol macro
...
* Make all handlers async
* Added a new `requestResponse` construct that allows you to wait
for the results of a particular request
* Introduced an optional `NetworkState` type for the protocol
* The semantics of `nextMsg` has changed. See the notes in the README
2018-07-06 13:24:01 +03:00
cheatfate
66ff278f33
Fix server.nim was not exported.
2018-06-20 14:41:04 +03:00
Yuriy Glukhov
c7d155b24b
Merge pull request #27 from status-im/clientid
...
Move clientId from constant.
2018-06-19 18:40:16 +03:00
cheatfate
28759422bc
Move clientId from constant.
2018-06-19 14:16:36 +03:00
Zahary Karadjov
7b1fc33d59
disable an inappropriate test that was left enabled by accident
2018-06-18 12:28:02 +03:00
Zahary Karadjov
6bd09b1bba
remove some dead code
2018-06-18 12:05:38 +03:00
Zahary Karadjov
41d022b7fa
fix a compilation errors and some GcSafe warnings
2018-06-18 12:05:38 +03:00
cheatfate
6a961ce0b4
Fix nimble dependency on asyncdispatch2.
2018-06-18 12:05:38 +03:00
cheatfate
24d762da34
Moved eth_p2p to asyncdispatch2.
...
Fix some warnings at rlpx.nim.
Commented debug echo in rlpx.nim.
2018-06-18 12:05:38 +03:00
Zahary Karadjov
812c6284c0
rename package to eth_p2p to make it consistent with our naming scheme
2018-06-16 21:58:41 +03:00
alexm-status
a06bd8789e
Update README.md
2018-05-30 14:35:02 -07:00
alexm-status
50a9caa1b2
Update README.md
2018-05-27 14:14:01 -07:00
alexm-status
23e394748b
Update README.md
2018-05-23 17:40:08 -07:00
Yuriy Glukhov
d0b1ef6a7c
Rlpx fixes
2018-05-22 15:02:03 +03:00
Yuriy Glukhov
42ad1e7fdd
Merge pull request #23 from status-im/hide-append
...
Hide discovery append helpers for now, to not interfere with rlpx
2018-05-18 12:55:23 +03:00
Yuriy Glukhov
5421a9874c
Hide discovery append helpers for now, to not interfere with rlpx
2018-05-18 12:06:43 +03:00
Yuriy Glukhov
6e6262b318
Merge pull request #22 from data-man/fix_hexdump
...
Remove unused hexdump module
2018-05-17 16:35:30 +03:00