| 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.