Documentation
¶
Index ¶
- Constants
- func CalcFileSHA256(f *os.File) (string, error)
- func CalcPathSHA256(fpath string) (string, error)
- func CalcSHA256(data []byte) (string, error)
- func FindFile(dir, name string) string
- func FreeLocalPort(port uint32) bool
- func GetExternalIp() (string, error)
- func GetLocalIp() ([]string, error)
- func IsIPv4(ipAddr string) bool
- func IsIPv6(ipAddr string) bool
- func NewDatastore(path string) (ds.Datastore, error)
- func NewProtocol() *protocols
- func ParseMultiaddrs(domain string) ([]string, error)
- type DataDirs
- type Datastore
- func (d *Datastore) Batch(ctx context.Context) (ds.Batch, error)
- func (d *Datastore) Close() error
- func (d *Datastore) Delete(ctx context.Context, key ds.Key) (err error)
- func (d *Datastore) DiskUsage(ctx context.Context) (uint64, error)
- func (d *Datastore) Get(ctx context.Context, key ds.Key) (value []byte, err error)
- func (d *Datastore) GetSize(ctx context.Context, key ds.Key) (size int, err error)
- func (d *Datastore) Has(ctx context.Context, key ds.Key) (exists bool, err error)
- func (d *Datastore) KeyFilename(key ds.Key) string
- func (d *Datastore) Put(ctx context.Context, key ds.Key, value []byte) (err error)
- func (d *Datastore) Query(ctx context.Context, q query.Query) (query.Results, error)
- func (d *Datastore) Sync(ctx context.Context, prefix ds.Key) error
- type Node
- func (n *Node) AddMultiaddrToPeerstore(multiaddr string, t time.Duration) (peer.ID, error)
- func (n *Node) Addrs() []ma.Multiaddr
- func (n *Node) Close() error
- func (n *Node) ConnManager() connmgr.ConnManager
- func (n *Node) Connect(ctx context.Context, pi peer.AddrInfo) error
- func (n *Node) DHTFindPeer(peerid string) (peer.AddrInfo, error)
- func (n *Node) DisableRecv()
- func (n *Node) EnableRecv()
- func (n *Node) EventBus() event.Bus
- func (n *Node) FidToCid(fid string) (string, error)
- func (n *Node) GetBitSwap() *bitswap.Bitswap
- func (n *Node) GetBlockstore() blockstore.Blockstore
- func (n *Node) GetBootstraps() []string
- func (n *Node) GetCtxCancelFromRoot() context.Context
- func (n *Node) GetCtxQueryFromCtxCancel() context.Context
- func (n *Node) GetCtxRoot() context.Context
- func (n *Node) GetDataFromBlock(ctx context.Context, wantCid string) ([]byte, error)
- func (n *Node) GetDht() *dht.IpfsDHT
- func (n *Node) GetDhtProtocolVersion() string
- func (n *Node) GetDirs() DataDirs
- func (n *Node) GetDiscoveredPeers() <-chan *routing.QueryEvent
- func (n *Node) GetIdleFileTee() string
- func (n *Node) GetLocalDataFromBlock(wantCid string) ([]byte, error)
- func (n *Node) GetPeerPublickey() []byte
- func (n *Node) GetProtocolPrefix() string
- func (n *Node) GetProtocolVersion() string
- func (n *Node) GetRendezvousVersion() string
- func (n *Node) GetRoutingTable() *drouting.RoutingDiscovery
- func (n *Node) GetServiceFileTee() string
- func (n *Node) ID() peer.ID
- func (n *Node) Mux() protocol.Switch
- func (n *Node) Network() network.Network
- func (n *Node) NewMessageData(messageId string, gossip bool) *pb.MessageData
- func (n *Node) NewPeerStream(id peer.ID, p protocol.ID) (network.Stream, error)
- func (n *Node) NewPodr2ApiClient(addr string, opts ...grpc.DialOption) (pb.Podr2ApiClient, error)
- func (n *Node) NewPodr2VerifierApiClient(addr string, opts ...grpc.DialOption) (pb.Podr2VerifierApiClient, error)
- func (n *Node) NewPoisCertifierApiClient(addr string, opts ...grpc.DialOption) (pb.PoisCertifierApiClient, error)
- func (n *Node) NewPoisVerifierApiClient(addr string, opts ...grpc.DialOption) (pb.PoisVerifierApiClient, error)
- func (n *Node) NewReadDataProtocol() *ReadDataProtocol
- func (n *Node) NewReadDataStatProtocol() *ReadDataStatProtocol
- func (n *Node) NewReadFileProtocol() *ReadFileProtocol
- func (n *Node) NewStream(ctx context.Context, p peer.ID, pids ...protocol.ID) (network.Stream, error)
- func (n *Node) NewWriteFileProtocol() *WriteFileProtocol
- func (n *Node) NotifyData(buf []byte) error
- func (n *Node) PeerID() peer.ID
- func (n *Node) Peerstore() peerstore.Peerstore
- func (n *Node) PrivatekeyPath() string
- func (e Node) ReadDataAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (e Node) ReadDataStatAction(id peer.ID, roothash string, datahash string) (uint64, error)
- func (e Node) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (n *Node) RemoveStreamHandler(pid protocol.ID)
- func (n *Node) RequestBatchVerify(addr string, requestBatchVerify *pb.RequestBatchVerify, timeout time.Duration, ...) (*pb.ResponseBatchVerify, error)
- func (n *Node) RequestGenTag(addr string, requestGenTag *pb.RequestGenTag, timeout time.Duration, ...) (*pb.ResponseGenTag, error)
- func (n *Node) RequestMinerCommitGenChall(addr string, commitGenChall *pb.RequestMinerCommitGenChall, ...) (*pb.Challenge, error)
- func (n *Node) RequestMinerGetNewKey(addr string, accountKey []byte, timeout time.Duration, ...) (*pb.ResponseMinerInitParam, error)
- func (n *Node) RequestSpaceProofVerifySingleBlock(addr string, requestSpaceProofVerify *pb.RequestSpaceProofVerify, ...) (*pb.ResponseSpaceProofVerify, error)
- func (n *Node) RequestVerifyCommitProof(addr string, verifyCommitAndAccProof *pb.RequestVerifyCommitAndAccProof, ...) (*pb.ResponseVerifyCommitOrDeletionProof, error)
- func (n *Node) RequestVerifyDeletionProof(addr string, requestVerifyDeletionProof *pb.RequestVerifyDeletionProof, ...) (*pb.ResponseVerifyCommitOrDeletionProof, error)
- func (n *Node) RequestVerifySpaceTotal(addr string, requestSpaceProofVerifyTotal *pb.RequestSpaceProofVerifyTotal, ...) (*pb.ResponseSpaceProofVerifyTotal, error)
- func (n *Node) RouteTableFindPeers(limit int) (<-chan peer.AddrInfo, error)
- func (n *Node) SaveAndNotifyDataBlock(buf []byte) (cid.Cid, error)
- func (n *Node) SendMsgToStream(s network.Stream, msg []byte) error
- func (n *Node) SendProtoMessage(id peer.ID, p protocol.ID, data proto.Message) error
- func (n *Node) SetBootstraps(bootstrap []string)
- func (n *Node) SetIdleFileTee(peerid string)
- func (p Node) SetProtocolPrefix(protocolPrefix string)
- func (n *Node) SetServiceFileTee(peerid string)
- func (n *Node) SetStreamHandler(pid protocol.ID, handler network.StreamHandler)
- func (n *Node) SetStreamHandlerMatch(pid protocol.ID, m func(protocol.ID) bool, handler network.StreamHandler)
- func (n *Node) Workspace() string
- func (e Node) WriteFileAction(id peer.ID, roothash, path string) error
- type P2P
- type Protocol
- type ReadDataProtocol
- func (e ReadDataProtocol) ReadDataAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (e ReadDataProtocol) ReadDataStatAction(id peer.ID, roothash string, datahash string) (uint64, error)
- func (e ReadDataProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p ReadDataProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e ReadDataProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type ReadDataStatProtocol
- func (e ReadDataStatProtocol) ReadDataAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (e ReadDataStatProtocol) ReadDataStatAction(id peer.ID, roothash string, datahash string) (uint64, error)
- func (e ReadDataStatProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p ReadDataStatProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e ReadDataStatProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type ReadFileProtocol
- func (e ReadFileProtocol) ReadDataAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (e ReadFileProtocol) ReadDataStatAction(id peer.ID, roothash string, datahash string) (uint64, error)
- func (e ReadFileProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p ReadFileProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e ReadFileProtocol) WriteFileAction(id peer.ID, roothash, path string) error
- type WriteFileProtocol
- func (e WriteFileProtocol) ReadDataAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (e WriteFileProtocol) ReadDataStatAction(id peer.ID, roothash string, datahash string) (uint64, error)
- func (e WriteFileProtocol) ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
- func (p WriteFileProtocol) SetProtocolPrefix(protocolPrefix string)
- func (e WriteFileProtocol) WriteFileAction(id peer.ID, roothash, path string) error
Constants ¶
const ( SIZE_1KiB = 1024 SIZE_1MiB = 1024 * SIZE_1KiB SIZE_1GiB = 1024 * SIZE_1MiB )
byte size
const ( FileDataDirectionry = "file" TmpDataDirectionry = "tmp" )
const ( ERR_RespTimeOut = "peer response timeout" ERR_RespFailure = "peer response failure" ERR_RespInvalidData = "peer response invalid data" )
const AllIpAddress = "0.0.0.0"
const BufferSize = 64 * SIZE_1KiB
const DefaultFDCount = 65535
const DirMode = 0644
const FileBlockDir = "blocks"
const FileProtocolBufSize = 2 * 1024 * 1024
const FragmentSize = 16 * SIZE_1MiB
const LocalAddress = "127.0.0.1"
const MaxCustomDataLength = 255
const MaxFileNameLength = 255
const P2PReadReqRespTime = time.Duration(time.Second * 30)
const P2PResponseEmpty uint32 = 404
const P2PResponseFailed uint32 = 400
const P2PResponseFinish uint32 = 210
const P2PResponseOK uint32 = 200
const P2PResponseRemoteFailed uint32 = 500
const P2PWriteReqRespTime = time.Duration(time.Second * 30)
const SegmentSize = 64 * SIZE_1MiB
const ZeroFileHash_16M = "080acf35a507ac9849cfcba47dc2ad83e01b75663a516279c8b9d243b719643e"
Variables ¶
This section is empty.
Functions ¶
func CalcFileSHA256 ¶ added in v0.0.24
CalcFileSHA256 is used to calculate the sha256 value of the file type.
func CalcPathSHA256 ¶ added in v0.0.24
CalcPathSHA256 is used to calculate the sha256 value of a file with a given path.
func CalcSHA256 ¶ added in v0.0.24
CalcSHA256 is used to calculate the sha256 value of the data.
func FreeLocalPort ¶ added in v0.1.5
func NewDatastore ¶ added in v0.2.1
NewDatastore returns a new fs Datastore at given `path`
func NewProtocol ¶ added in v0.0.24
func NewProtocol() *protocols
func ParseMultiaddrs ¶ added in v0.0.37
ParseMultiaddrs
Types ¶
type Datastore ¶ added in v0.2.1
type Datastore struct {
// contains filtered or unexported fields
}
Datastore uses a uses a file per key to store values.
func (*Datastore) DiskUsage ¶ added in v0.2.1
DiskUsage returns the disk size used by the datastore in bytes.
func (*Datastore) Has ¶ added in v0.2.1
Has returns whether the datastore has a value for a given key
func (*Datastore) KeyFilename ¶ added in v0.2.1
KeyFilename returns the filename associated with `key`
type Node ¶
type Node struct {
*dht.IpfsDHT
*drouting.RoutingDiscovery
// contains filtered or unexported fields
}
Node type - Implementation of a P2P Host
func (*Node) AddMultiaddrToPeerstore ¶ added in v0.0.32
func (*Node) ConnManager ¶
func (n *Node) ConnManager() connmgr.ConnManager
ConnManager returns this hosts connection manager
func (*Node) Connect ¶
Connect ensures there is a connection between this host and the peer with given peer.ID. Connect will absorb the addresses in pi into its internal peerstore. If there is not an active connection, Connect will issue a h.Network.Dial, and block until a connection is open, or an error is returned. // TODO: Relay + NAT.
func (*Node) DHTFindPeer ¶ added in v0.1.0
DHTFindPeer searches for a peer with given ID.
func (*Node) DisableRecv ¶ added in v0.2.11
func (n *Node) DisableRecv()
func (*Node) EnableRecv ¶ added in v0.2.11
func (n *Node) EnableRecv()
func (*Node) GetBitSwap ¶ added in v0.2.2
func (*Node) GetBlockstore ¶ added in v0.2.2
func (n *Node) GetBlockstore() blockstore.Blockstore
func (*Node) GetBootstraps ¶ added in v0.0.24
func (*Node) GetCtxCancelFromRoot ¶ added in v0.1.1
func (*Node) GetCtxQueryFromCtxCancel ¶ added in v0.1.1
func (*Node) GetCtxRoot ¶ added in v0.1.1
func (*Node) GetDataFromBlock ¶ added in v0.2.1
GetDataFromBlock get data from block
func (*Node) GetDhtProtocolVersion ¶ added in v0.0.24
func (*Node) GetDiscoveredPeers ¶ added in v0.1.1
func (n *Node) GetDiscoveredPeers() <-chan *routing.QueryEvent
GetDiscoveredPeers
func (*Node) GetIdleFileTee ¶ added in v0.0.15
func (*Node) GetLocalDataFromBlock ¶ added in v0.2.2
GetLocalDataFromBlock get local data from block
func (*Node) GetPeerPublickey ¶ added in v0.0.25
func (*Node) GetProtocolPrefix ¶ added in v0.0.37
func (*Node) GetProtocolVersion ¶ added in v0.0.24
func (*Node) GetRendezvousVersion ¶ added in v0.1.0
func (*Node) GetRoutingTable ¶ added in v0.2.0
func (n *Node) GetRoutingTable() *drouting.RoutingDiscovery
func (*Node) GetServiceFileTee ¶ added in v0.0.15
func (*Node) NewMessageData ¶
func (n *Node) NewMessageData(messageId string, gossip bool) *pb.MessageData
helper method - generate message data shared between all node's p2p protocols messageId: unique for requests, copied from request for responses
func (*Node) NewPeerStream ¶ added in v0.0.9
NewPeerStream
func (*Node) NewPodr2ApiClient ¶ added in v0.2.7
func (n *Node) NewPodr2ApiClient(addr string, opts ...grpc.DialOption) (pb.Podr2ApiClient, error)
func (*Node) NewPodr2VerifierApiClient ¶ added in v0.2.7
func (n *Node) NewPodr2VerifierApiClient(addr string, opts ...grpc.DialOption) (pb.Podr2VerifierApiClient, error)
func (*Node) NewPoisCertifierApiClient ¶ added in v0.2.7
func (n *Node) NewPoisCertifierApiClient(addr string, opts ...grpc.DialOption) (pb.PoisCertifierApiClient, error)
func (*Node) NewPoisVerifierApiClient ¶ added in v0.2.7
func (n *Node) NewPoisVerifierApiClient(addr string, opts ...grpc.DialOption) (pb.PoisVerifierApiClient, error)
func (*Node) NewReadDataProtocol ¶ added in v0.1.7
func (n *Node) NewReadDataProtocol() *ReadDataProtocol
func (*Node) NewReadDataStatProtocol ¶ added in v0.2.6
func (n *Node) NewReadDataStatProtocol() *ReadDataStatProtocol
func (*Node) NewReadFileProtocol ¶ added in v0.0.24
func (n *Node) NewReadFileProtocol() *ReadFileProtocol
func (*Node) NewStream ¶
func (n *Node) NewStream(ctx context.Context, p peer.ID, pids ...protocol.ID) (network.Stream, error)
NewStream opens a new stream to given peer p, and writes a p2p/protocol header with given ProtocolID. If there is no connection to p, attempts to create one. If ProtocolID is "", writes no header. (Threadsafe)
func (*Node) NewWriteFileProtocol ¶ added in v0.0.24
func (n *Node) NewWriteFileProtocol() *WriteFileProtocol
func (*Node) NotifyData ¶ added in v0.2.1
NotifyData notify data
func (*Node) PrivatekeyPath ¶
func (Node) ReadDataAction ¶ added in v0.1.7
func (Node) ReadDataStatAction ¶ added in v0.2.6
func (Node) ReadFileAction ¶ added in v0.0.24
func (*Node) RemoveStreamHandler ¶
RemoveStreamHandler removes a handler on the mux that was set by SetStreamHandler
func (*Node) RequestBatchVerify ¶ added in v0.2.7
func (n *Node) RequestBatchVerify( addr string, requestBatchVerify *pb.RequestBatchVerify, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseBatchVerify, error)
func (*Node) RequestGenTag ¶ added in v0.2.7
func (n *Node) RequestGenTag( addr string, requestGenTag *pb.RequestGenTag, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseGenTag, error)
func (*Node) RequestMinerCommitGenChall ¶ added in v0.2.7
func (n *Node) RequestMinerCommitGenChall( addr string, commitGenChall *pb.RequestMinerCommitGenChall, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.Challenge, error)
func (*Node) RequestMinerGetNewKey ¶ added in v0.2.7
func (n *Node) RequestMinerGetNewKey( addr string, accountKey []byte, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseMinerInitParam, error)
func (*Node) RequestSpaceProofVerifySingleBlock ¶ added in v0.2.7
func (n *Node) RequestSpaceProofVerifySingleBlock( addr string, requestSpaceProofVerify *pb.RequestSpaceProofVerify, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseSpaceProofVerify, error)
func (*Node) RequestVerifyCommitProof ¶ added in v0.2.7
func (n *Node) RequestVerifyCommitProof( addr string, verifyCommitAndAccProof *pb.RequestVerifyCommitAndAccProof, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseVerifyCommitOrDeletionProof, error)
func (*Node) RequestVerifyDeletionProof ¶ added in v0.2.7
func (n *Node) RequestVerifyDeletionProof( addr string, requestVerifyDeletionProof *pb.RequestVerifyDeletionProof, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseVerifyCommitOrDeletionProof, error)
func (*Node) RequestVerifySpaceTotal ¶ added in v0.2.8
func (n *Node) RequestVerifySpaceTotal( addr string, requestSpaceProofVerifyTotal *pb.RequestSpaceProofVerifyTotal, timeout time.Duration, dialOpts []grpc.DialOption, callOpts []grpc.CallOption, ) (*pb.ResponseSpaceProofVerifyTotal, error)
func (*Node) RouteTableFindPeers ¶ added in v0.1.0
RouteTableFindPeers
func (*Node) SaveAndNotifyDataBlock ¶ added in v0.2.1
SaveAndNotifyDataBlock
func (*Node) SendMsgToStream ¶ added in v0.0.9
SendMsgToStream
func (*Node) SendProtoMessage ¶
helper method - writes a protobuf go data object to a network stream data: reference of protobuf go data object to send (not the object itself) s: network stream to write the data to
func (*Node) SetBootstraps ¶ added in v0.0.24
func (*Node) SetIdleFileTee ¶ added in v0.0.15
func (Node) SetProtocolPrefix ¶ added in v0.0.37
func (p Node) SetProtocolPrefix(protocolPrefix string)
func (*Node) SetServiceFileTee ¶ added in v0.0.15
func (*Node) SetStreamHandler ¶
func (n *Node) SetStreamHandler(pid protocol.ID, handler network.StreamHandler)
SetStreamHandler sets the protocol handler on the Host's Mux. This is equivalent to: host.Mux().SetHandler(proto, handler) (Threadsafe)
func (*Node) SetStreamHandlerMatch ¶
func (n *Node) SetStreamHandlerMatch(pid protocol.ID, m func(protocol.ID) bool, handler network.StreamHandler)
SetStreamHandlerMatch sets the protocol handler on the Host's Mux using a matching function for protocol selection.
type P2P ¶
type P2P interface {
// Lib-p2p host
host.Host
// Message protocol
Protocol
// GetCtxRoot returns the root context of the host
GetCtxRoot() context.Context
// GetCtxCancelFromRoot returns the cancel context from root context
GetCtxCancelFromRoot() context.Context
// GetCtxQueryFromCtxCancel returns tne query context from cancel context
GetCtxQueryFromCtxCancel() context.Context
// PrivatekeyPath returns the key file location
PrivatekeyPath() string
// Workspace returns to the working directory
Workspace() string
// AddMultiaddrToPeerstore adds multiaddr to the host's peerstore
AddMultiaddrToPeerstore(multiaddr string, t time.Duration) (peer.ID, error)
// GetPeerPublickey returns the host's public key
GetPeerPublickey() []byte
// GetProtocolVersion returns the ProtocolVersion of the host
GetProtocolVersion() string
// GetDhtProtocolVersion returns the host's DHT ProtocolVersion
GetDhtProtocolVersion() string
// GetRendezvousVersion returns the rendezvous protocol
GetRendezvousVersion() string
// GetProtocolPrefix returns protocols prefix
GetProtocolPrefix() string
// GetDirs returns the data directory structure of the host
GetDirs() DataDirs
// GetBootstraps returns a list of host bootstraps
GetBootstraps() []string
// SetBootstraps updates the host's bootstrap list
SetBootstraps(bootstrap []string)
//
GetDht() *dht.IpfsDHT
//
GetRoutingTable() *drouting.RoutingDiscovery
// DHTFindPeer searches for a peer with given ID
DHTFindPeer(peerid string) (peer.AddrInfo, error)
// PeerID returns your own peerid
PeerID() peer.ID
//
EnableRecv()
//
DisableRecv()
// Close p2p
Close() error
//
GetBlockstore() blockstore.Blockstore
//
GetBitSwap() *bitswap.Bitswap
//
FidToCid(fid string) (string, error)
//
SaveAndNotifyDataBlock(buf []byte) (cid.Cid, error)
//
NotifyData(buf []byte) error
// GetDataFromBlock get data from block
GetDataFromBlock(ctx context.Context, wantCid string) ([]byte, error)
//
GetLocalDataFromBlock(wantCid string) ([]byte, error)
//
GetDiscoveredPeers() <-chan *routing.QueryEvent
// RouteTableFindPeers
RouteTableFindPeers(limit int) (<-chan peer.AddrInfo, error)
NewPoisCertifierApiClient(addr string, opts ...grpc.DialOption) (pb.PoisCertifierApiClient, error)
NewPoisVerifierApiClient(addr string, opts ...grpc.DialOption) (pb.PoisVerifierApiClient, error)
NewPodr2ApiClient(addr string, opts ...grpc.DialOption) (pb.Podr2ApiClient, error)
NewPodr2VerifierApiClient(addr string, opts ...grpc.DialOption) (pb.Podr2VerifierApiClient, error)
RequestMinerGetNewKey(
addr string,
accountKey []byte,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseMinerInitParam, error)
RequestMinerCommitGenChall(
addr string,
commitGenChall *pb.RequestMinerCommitGenChall,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.Challenge, error)
RequestVerifyCommitProof(
addr string,
verifyCommitAndAccProof *pb.RequestVerifyCommitAndAccProof,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseVerifyCommitOrDeletionProof, error)
RequestVerifyDeletionProof(
addr string,
requestVerifyDeletionProof *pb.RequestVerifyDeletionProof,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseVerifyCommitOrDeletionProof, error)
RequestSpaceProofVerifySingleBlock(
addr string,
requestSpaceProofVerify *pb.RequestSpaceProofVerify,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseSpaceProofVerify, error)
RequestVerifySpaceTotal(
addr string,
requestSpaceProofVerifyTotal *pb.RequestSpaceProofVerifyTotal,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseSpaceProofVerifyTotal, error)
RequestGenTag(
addr string,
requestGenTag *pb.RequestGenTag,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseGenTag, error)
RequestBatchVerify(
addr string,
requestBatchVerify *pb.RequestBatchVerify,
timeout time.Duration,
dialOpts []grpc.DialOption,
callOpts []grpc.CallOption,
) (*pb.ResponseBatchVerify, error)
}
P2P is an object participating in a p2p network, which implements protocols or provides services. It handles requests like a Server, and issues requests like a Client. It is called Host because it is both Server and Client (and Peer may be confusing). It references libp2p: https://github.com/libp2p/go-libp2p
func NewBasicNode ¶
func NewBasicNode( ctx context.Context, port int, workspace string, privatekeypath string, bootstrap []string, cmgr connmgr.ConnManager, protocolPrefix string, publicip string, enableBswap bool, ) (P2P, error)
NewBasicNode constructs a new *Node
workspace: service working directory privatekeypath: private key file If it is empty, automatically created in the program working directory If it is a directory, it will be created in the specified directory
type Protocol ¶ added in v0.0.24
type Protocol interface {
WriteFileAction(id peer.ID, roothash, path string) error
ReadFileAction(id peer.ID, roothash, datahash, path string, size int64) error
ReadDataAction(id peer.ID, roothash, datahash, path string, size int64) error
ReadDataStatAction(id peer.ID, roothash string, datahash string) (uint64, error)
}
type ReadDataProtocol ¶ added in v0.1.7
type ReadDataProtocol struct {
*Node // local host
*sync.Mutex
// contains filtered or unexported fields
}
func (ReadDataProtocol) ReadDataAction ¶ added in v0.1.7
func (ReadDataProtocol) ReadDataStatAction ¶ added in v0.2.6
func (ReadDataProtocol) ReadFileAction ¶ added in v0.1.7
func (ReadDataProtocol) SetProtocolPrefix ¶ added in v0.1.7
func (p ReadDataProtocol) SetProtocolPrefix(protocolPrefix string)
type ReadDataStatProtocol ¶ added in v0.2.6
type ReadDataStatProtocol struct {
*Node // local host
*sync.Mutex
// contains filtered or unexported fields
}
func (ReadDataStatProtocol) ReadDataAction ¶ added in v0.2.6
func (ReadDataStatProtocol) ReadDataStatAction ¶ added in v0.2.6
func (ReadDataStatProtocol) ReadFileAction ¶ added in v0.2.6
func (ReadDataStatProtocol) SetProtocolPrefix ¶ added in v0.2.6
func (p ReadDataStatProtocol) SetProtocolPrefix(protocolPrefix string)
type ReadFileProtocol ¶ added in v0.0.24
type ReadFileProtocol struct {
*Node // local host
*sync.Mutex
// contains filtered or unexported fields
}
func (ReadFileProtocol) ReadDataAction ¶ added in v0.1.7
func (ReadFileProtocol) ReadDataStatAction ¶ added in v0.2.6
func (ReadFileProtocol) ReadFileAction ¶ added in v0.0.24
func (ReadFileProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p ReadFileProtocol) SetProtocolPrefix(protocolPrefix string)
type WriteFileProtocol ¶ added in v0.0.24
func (WriteFileProtocol) ReadDataAction ¶ added in v0.1.7
func (WriteFileProtocol) ReadDataStatAction ¶ added in v0.2.6
func (WriteFileProtocol) ReadFileAction ¶ added in v0.0.24
func (WriteFileProtocol) SetProtocolPrefix ¶ added in v0.0.37
func (p WriteFileProtocol) SetProtocolPrefix(protocolPrefix string)