Project is in active development and has been moved to the EthereumJS VM monorepo.
TypeScript
type packages for lru-cache
and bl
from devDependencies
to dependencies
, PR #90
This release focuses on improving the debugging capabilities of the library. PR #72 reduces the verbosity of the log output to cut on noise on everyday debugging. There is a new verbose
logger to retain the more verbose output (e.g. with full message bodies) which can be used like this:
DEBUG=devp2p:*,verbose node -r ts-node/register ./examples/peer-communication.ts
Other Logging Improvements
refillConnections()
debug messageBanList.add()
after the set operation to get the correct size outputDISCONNECT
reason from peer (this was always some constant re-debug reason, and at the end it's mostly TOO_MANY_PEERS
)devp2p:util
loggerOther Changes
Peer
class for better code readability, PR #77
There has also been a new high-level diagram added to the README
which can be used to get an overview on the structure, available loggers and the event flow of the library (PR #76).
First TypeScript
release of the library, see PR #56 for all the changes and associated discussion.
All source parts of the library have been ported to TypeScript
and working with the library should now therefore be much more reliable due to the additional type safety features provided by the TypeScript
language. The API of the library remains unchanged in a JavaScript
context.
Noteworthy Changes from PR #56:
dpt
, eth
, les
, rlpx
)DPT
message input) and enum
constructs (like MESSAGE_CODES from the ETH
protocol)TypeScript
TypeScript
standard
-> TSLint
linting, docs with TypeDoc
, TypeScript
compilation, Prettier
formatting rules)Thanks @dryajov for all the great work on this! ❤
Other Updates:
ethereumjs-common
dependency to v1.5.1
for a bootnode update, PR #67
secp256k1
dependency to from v3.1.0
to v4.0.1
, PR #68
keccak
dependency to v3.0.0
, PR #64
RLPX
peers with missing tcp port, PR #45
ETH
connectionDPT
ping echo hash bug preventing the library to connect
to Parity clients, PR #32
HELLO
msgRLPX
bug leading to not processing incoming EIP-8
Auth
or Ack
messages, PR #26
k-bucket
remove event through DPT
(so peer:removed
from
DPT
was not working), PR #27
ingressMac
with wrong Auth
msg leading to diverging Mac
hashes, PR #29
ETH
status
message emit a message
event, PR #30
DPT
, RLPX
and ETH
simulator tests,
improving test coverage from 48% to 84%, PR #25
EIP-8
compatibilitypeer-communication
example