Versions in this module Expand all Collapse all v0 v0.8.9 Jan 27, 2025 v0.8.8 Dec 3, 2024 v0.8.7 Nov 26, 2024 Changes in this version type NodeOption + CachePath string + KeyManager *masacrypto.KeyManager + MasaDir string + NodeDataSyncProtocol string + NodeGossipTopic string + OracleProtocol string + PageSize int + Rendezvous string + WorkerProtocol string type Option + func WithCachePath(path string) Option + func WithKeyManager(km *masacrypto.KeyManager) Option + func WithMasaDir(directory string) Option + func WithNodeDataSyncProtocol(s string) Option + func WithNodeGossipTopic(s string) Option + func WithOracleProtocol(s string) Option + func WithPageSize(size int) Option + func WithRendezvous(s string) Option + func WithWorkerProtocol(s string) Option v0.8.6 Oct 31, 2024 v0.8.5 Oct 17, 2024 v0.8.4 Oct 15, 2024 v0.8.3 Oct 8, 2024 v0.8.2 Oct 4, 2024 Changes in this version + var DisableCLIParse = func(o *NodeOption) + var EnableRandomIdentity = func(o *NodeOption) + var EnableStaked = func(o *NodeOption) + var EnableTCP = func(o *NodeOption) + var EnableUDP = func(o *NodeOption) + var IsDiscordScraper = func(o *NodeOption) + var IsLlmServer = func(o *NodeOption) + var IsTelegramScraper = func(o *NodeOption) + var IsTwitterScraper = func(o *NodeOption) + var IsValidator = func(o *NodeOption) + var IsWebScraper = func(o *NodeOption) + type BlockData struct + Block uint64 + InputData interface{} + PreviousHash string + TransactionHash string + TransactionNonce int + type BlockEventTracker struct + BlockEvents []BlockEvents + BlockTopic *pubsub.Topic + func NewBlockChain() *BlockEventTracker + func (b *BlockEventTracker) HandleMessage(m *pubsub.Message) + func (b *BlockEventTracker) Start(ctx context.Context, node *OracleNode) + type BlockEvents struct + type Blocks struct + BlockData []BlockData + type NodeDataPage struct + Data []pubsub2.NodeData + PageNumber int + TotalPages int + TotalRecords int + type NodeOption struct + Bootnodes []string + DisableCLIParse bool + Environment string + IsDiscordScraper bool + IsLlmServer bool + IsStaked bool + IsTelegramScraper bool + IsTwitterScraper bool + IsValidator bool + IsWebScraper bool + MasaProtocolHandlers map[string]network.StreamHandler + PortNbr int + ProtocolHandlers map[protocol.ID]network.StreamHandler + PubSubHandles []PubSubHandlers + RandomIdentity bool + Services []func(ctx context.Context, node *OracleNode) + TCP bool + UDP bool + Version string + func (a *NodeOption) Apply(opts ...Option) + func (a *NodeOption) HasBootnodes() bool + type Option func(*NodeOption) + func WithBootNodes(bootnodes ...string) Option + func WithEnvironment(env string) Option + func WithMasaProtocolHandler(pid string, n network.StreamHandler) Option + func WithPort(port int) Option + func WithProtocolHandler(pid protocol.ID, n network.StreamHandler) Option + func WithPubSubHandler(protocolName string, handler types.SubscriptionHandler, includeSelf bool) Option + func WithService(plugins ...func(ctx context.Context, node *OracleNode)) Option + func WithVersion(version string) Option + type OracleNode struct + BlockTracker *BlockEventTracker + Blockchain *chain.Chain + Context context.Context + DHT *dht.IpfsDHT + Host host.Host + NodeTracker *pubsub.NodeEventTracker + Options NodeOption + PeerChan chan myNetwork.PeerEvent + Protocol protocol.ID + PubSubManager *pubsub.Manager + Signature string + StartTime time.Time + WorkerTracker *pubsub.WorkerEventTracker + func NewOracleNode(ctx context.Context, opts ...Option) (*OracleNode, error) + func (node *OracleNode) FromUnixTime(unixTime int64) string + func (node *OracleNode) GetMultiAddrs() multiaddr.Multiaddr + func (node *OracleNode) GetP2PMultiAddrs() ([]multiaddr.Multiaddr, error) + func (node *OracleNode) GossipNodeData(stream network.Stream) + func (node *OracleNode) HandleMessage(msg *pubsub.Message) + func (node *OracleNode) IsPublisher() bool + func (node *OracleNode) IsWorker() bool + func (node *OracleNode) ListenToNodeTracker() + func (node *OracleNode) LogActiveTopics() + func (node *OracleNode) ProtocolStream(ctx context.Context, peerID peer.ID, protocolName string) (network.Stream, error) + func (node *OracleNode) PublishTopic(protocolName string, data []byte) error + func (node *OracleNode) PublishTopicMessage(protocolName string, data string) error + func (node *OracleNode) ReceiveNodeData(stream network.Stream) + func (node *OracleNode) SendNodeData(peerID peer.ID) + func (node *OracleNode) SendNodeDataPage(allNodeData []pubsub2.NodeData, stream network.Stream, pageNumber int) + func (node *OracleNode) Start() (err error) + func (node *OracleNode) Subscribe(protocolName string, handler types.SubscriptionHandler) error + func (node *OracleNode) SubscribeTopic(protocolName string, handler types.SubscriptionHandler, includeSelf bool) error + func (node *OracleNode) ToUnixTime(stringTime string) int64 + func (node *OracleNode) Version() string + type PubSubHandlers struct + Handler types.SubscriptionHandler + IncludeSelf bool + ProtocolName string