Eugene Kim
ff2e0072c9
Use topic-based libp2p pubsub interface
...
https://github.com/libp2p/go-libp2p-pubsub/releases/tag/v0.2.0 : “The old
pubsub.Publish and pubsub.Subscribe methods are still usable, but have
been deprecated”
5 years ago
Eugene Kim
f3e268ab2b
Generate mocks in the same package
...
This enables mocking private interfaces.
5 years ago
Leo Chen
2240b8d48f
[p2p] add network type prefix to group id
...
this is solve the problem of validators in different network connected
with each others.
* mainet is still using the original harmony prefix to keep backward
compatibility
* pangaea uses "pangaea" as network prefix
* testnet uses "testnet" as network prefix
All nodes in Pangaea and Testnet need to restart to re-connect with each
other. Mainnet nodes have no changes.
Signed-off-by: Leo Chen <leo@harmony.one>
5 years ago
Leo Chen
591c6fbece
[ping] display blskey in ping message
...
Signed-off-by: Leo Chen <leo@harmony.one>
5 years ago
Kai Lee
d588ce1e4b
Replace all logs in p2p module to use zerolog
5 years ago
Kai Lee
4e35e7d749
Replaced loggers in `p2p/` with custom shared logger
5 years ago
Richard Liu
fe217ad2b7
more rpc APIs. ( #863 )
...
* added readme
* more RPC APIs
* update for comments; fix travis issues
* update auto-generated host_mock.go
6 years ago
Leo Chen
a46514120d
[crash] fix nil pointer error #749
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Eugene Kim
ba6f4b24d0
Update p2p/host/hostv2/hostv2.go
...
Co-Authored-By: LeoHChen <leo@harmony.one>
6 years ago
Eugene Kim
11459a4ea0
Add regression test
6 years ago
Leo Chen
a88eb643e6
[crash] fix nil pointer error #749
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Eugene Kim
b4c69672d4
Regen mocks
...
Apparently mockgen has been updated while we had regen check broken.
6 years ago
Leo Chen
f3ffc65401
[cleanup] remove libp2p unicast support
...
fix test cases after remove libp2p unicast
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Rongjian Lan
562ae5078d
Delete some unused consensus code
6 years ago
chaosma
e66aeb4c57
add beaconchain node state syncing ( #502 )
6 years ago
Rongjian Lan
873e37daac
Move contract code to contract.go
6 years ago
chaosma
02aa3d6477
add beaconchain database support for normal shard nodes ( #480 )
6 years ago
Eugene Kim
f96ad9727b
Fix stream leak
...
Since streams were multiplexed over connections, this wouldn't have
caused file descriptor/socket leaks; however, it would have definitely
caused memory leak (for the stream data structures).
6 years ago
Eugene Kim
05fdaa9197
Introduce and use uniform host logger
...
The host logger includes host ID (libp2p peer ID), and inherits
IP address and port from the one created by utils.GetLogInstance().
6 years ago
Eugene Kim
2680b7cc7d
Fix gometalinter warnings
6 years ago
Eugene Kim
610c02803d
Tag libp2p packages with libp2p_ prefix
...
This is because we are introducing more and more parallel P2P concepts
(libp2p peer versus our own peer, for example). Explicit tagging makes
it easier for untrained eyes to understand which side the code refers
to: If it's prefixed with libp2p_, it's libp2p; if not, it's our p2p.
While we are at this, apply the std → 3rd-party → local import grouping,
and also rename multiaddr to ma (the upstream canonical name of
go-multiaddr) in the affected files.
6 years ago
Eugene Kim
913cb45115
Move go:generate to the source side
6 years ago
Eugene Kim
f05eca3f8a
Unexport internally used interfaces
6 years ago
Eugene Kim
a62b65ece9
pubsub → libp2p_pubsub
...
This is in preparation of PubSub → pubsub rename.
6 years ago
Eugene Kim
f24509594e
Remove libp2p config option passthrough
...
No code uses this libp2p-specific hardwiring provision.
6 years ago
Leo Chen
7b0769c651
gossip all consensus messages
...
clean up some debug logs
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
a55b4514dd
use gossip for all consensus messages
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
b7838579de
use mutex to simplify the locking
...
fix travis test error by adding functions in mockhost
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
98596f4f21
add connecthostpeer function
...
pubsub requires pre-exist connection among peers before the message can
be sent via pubsub
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
8820c257a6
add list of incoming/outgoing peers
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
993ec605c9
nit: add peer info when logging write errors
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
65d3e56e67
add error variables for p2p/host
...
no retry on newstream error
reduce number of retry
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Eugene Kim
7f0e170f7a
Rename GroupReceiver → GroupReceiverImpl in hostv2
...
Suggested-by: Minh Doan <minh@harmony.one>
6 years ago
Eugene Kim
857d24ced8
Add tests
...
Suggested-by: Leo Chen <leo@harmony.one>
6 years ago
Eugene Kim
52f6600b39
Add pubsub-based multicast, first pass
...
Should be good enough for interface and strawman implementation review.
6 years ago
Leo Chen
47545789c2
fix protocol not supported issue
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
984bd15fa4
add GetHost API in p2p/host package
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
5c129411b1
add options support in hostv2.New
...
so we can add additional options to p2pimpl.NewHost function call
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
c112ffb414
generate private key outside of host creation
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Eugene Kim
1e39837f5a
gometalinter p2p/...
...
Mostly fixes error handling, but there are a few functional changes:
* ReadMessageContent() returns an error upon SetReadDeadline() failures.
* hostv2 SendMessage() returns an error upon write failures.
6 years ago
Leo Chen
8edebd2250
fix some send message failure
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
49a48958d9
address all review comments
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
fcbf5c255a
add addPeer function support in p2p
...
This is mainly for hostv2 libp2p support.
addPeer will add new peer into the peerstore.
NewHost function add Identity support for libp2p after generating
keypair. The PeerID is generated from the public key, will be used to
find the right PeerInfo for libp2p communication.
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Leo Chen
f189ba0183
simplify SendMessage
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
Eugene Kim
5ad4d5a8f0
Adjust import paths and also goimports
6 years ago
Leo Chen
c511c4d4e0
catch errors in SendMessage
...
Signed-off-by: Leo Chen <leo@harmony.one>
6 years ago
chaosma
6476146a81
add p2p unit tests
...
* add p2p unit tests; util_test.go NOT always pass
* remove addrToPrivKey
* minor refine
6 years ago
Richard Liu
79d7ac30c3
remove dup bufio.NewWriter ( #223 )
6 years ago
Richard Liu
7538f64d7e
fix p2p v2 on aws and for surviving from node killing. ( #204 )
...
* fix p2p v2 on aws and for surviving from node killing.
* update addrs
* fix typo
6 years ago
Richard Liu
64230da6ee
abstract out 2 versions of p2p
6 years ago