Copyright | No rights reserved |
---|---|
License | MIT |
Maintainer | jprupp@protonmail.ch |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Haskoin.Network.Message
Contents
Description
Peer-to-peer network message serialization.
Synopsis
- data Message
- = MVersion !Version
- | MVerAck
- | MAddr !Addr
- | MInv !Inv
- | MGetData !GetData
- | MNotFound !NotFound
- | MGetBlocks !GetBlocks
- | MGetHeaders !GetHeaders
- | MTx !Tx
- | MBlock !Block
- | MMerkleBlock !MerkleBlock
- | MHeaders !Headers
- | MGetAddr
- | MFilterLoad !FilterLoad
- | MFilterAdd !FilterAdd
- | MFilterClear
- | MPing !Ping
- | MPong !Pong
- | MAlert !Alert
- | MMempool
- | MReject !Reject
- | MSendHeaders
- | MOther !ByteString !ByteString
- data MessageHeader = MessageHeader {
- magic :: !Word32
- cmd :: !MessageCommand
- size :: !Word32
- checksum :: !CheckSum32
- msgType :: Message -> MessageCommand
- putMessage :: MonadPut m => Network -> Message -> m ()
- getMessage :: MonadGet m => Network -> m Message
Network Message
The Message
type is used to identify all the valid messages that can be
sent between bitcoin peers. Only values of type Message
will be accepted
by other bitcoin peers as bitcoin protocol messages need to be correctly
serialized with message headers. Serializing a Message
value will
include the MessageHeader
with the correct checksum value automatically.
No need to add the MessageHeader
separately.
Constructors
Instances
data MessageHeader Source #
Data type representing the header of a Message
. All messages sent between
nodes contain a message header.
Constructors
MessageHeader | |
Fields
|
Instances
msgType :: Message -> MessageCommand Source #
Get MessageCommand
assocated with a message.