haskoin-node-0.3.1: Implementation of a Bitoin node.

Safe HaskellNone
LanguageHaskell98

Network.Haskoin.Node.BlockChain

Synopsis

Documentation

startSPVNode :: (MonadLoggerIO m, MonadBaseControl IO m) => [PeerHost] -> BloomFilter -> Int -> NodeT m () Source

txSource :: (MonadLoggerIO m, MonadBaseControl IO m) => Source (NodeT m) Tx Source

handleGetData :: (MonadLoggerIO m, MonadBaseControl IO m) => (TxHash -> m (Maybe Tx)) -> NodeT m () Source

broadcastTxs :: (MonadLoggerIO m, MonadBaseControl IO m) => [TxHash] -> NodeT m () Source

merkleDownload :: (MonadLoggerIO m, MonadBaseControl IO m) => BlockHash -> Word32 -> NodeT m (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx)) Source

merkleSyncedActions Source

Arguments

:: (MonadLoggerIO m, MonadBaseControl IO m) 
=> BlockHash

Wallet best block

-> NodeT m () 

Perform some actions only when headers have been synced.

waitNewBlock :: BlockHash -> NodeT STM () Source

tryMerkleDwnHeight :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))) Source

tryMerkleDwnTimestamp :: (MonadLoggerIO m, MonadBaseControl IO m) => Timestamp -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))) Source

tryMerkleDwnBlock :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))) Source

peerMerkleDownload :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> BlockChainAction -> Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx) Source

processTickles :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m () Source

headerSync :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m () Source

peerHeaderSyncLimit :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Int -> NodeT m Bool Source

peerHeaderSyncFull :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m () Source

peerHeaderSync :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Maybe BlockChainAction -> NodeT m (Maybe BlockChainAction) Source

Sync one batch of headers from the given peer. Accept the result of a previous peerHeaderSync to correctly compute block locators in the presence of side chains.