The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
woop/api/client/client.go

29 lines
892 B

package client
import (
"github.com/ethereum/go-ethereum/log"
"github.com/harmony-one/harmony/core/types"
"github.com/harmony-one/harmony/p2p"
)
// Client represents a node (e.g. a wallet) which sends transactions and receives responses from the harmony network
type Client struct {
ShardIDs []uint32 // list of ShardID
UpdateBlocks func([]*types.Block) // Closure function used to sync new block with the leader. Once the leader finishes the consensus on a new block, it will send it to the clients. Clients use this method to update their blockchain
log log.Logger // Log utility
// The p2p host used to send/receive p2p messages
host p2p.Host
}
// NewClient creates a new Client
func NewClient(host p2p.Host, shardIDs []uint32) *Client {
client := Client{}
client.host = host
client.ShardIDs = shardIDs
// Logger
client.log = log.New()
return &client
}