You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.4 KiB

Mempool Messages

P2P Messages

There is currently only one message that Mempool broadcasts and receives over the p2p gossip network (via the reactor): TxMessage

// TxMessage is a MempoolMessage containing a transaction.
type TxMessage struct {
    Tx types.Tx
}

TxMessage is go-wire encoded and prepended with 0x1 as a "type byte". This is followed by a go-wire encoded byte-slice. Prefix of 40=0x28 byte tx is: 0x010128... followed by the actual 40-byte tx. Prefix of 350=0x015e byte tx is: 0x0102015e... followed by the actual 350 byte tx.

(Please see the go-wire repo for more information)

RPC Messages

Mempool exposes CheckTx([]byte) over the RPC interface.

It can be posted via broadcast_commit, broadcast_sync or broadcast_async. They all parse a message with one argument, "tx": "HEX_ENCODED_BINARY" and differ in only how long they wait before returning (sync makes sure CheckTx passes, commit makes sure it was included in a signed block).

Request (POST http://gaia.zone:46657/):

{
 "id": "",
 "jsonrpc": "2.0",
 "method": "broadcast_sync",
 "params": {
    "tx": "F012A4BC68..."
 }
}

Response:

{
 "error": "",
 "result": {
     "hash": "E39AAB7A537ABAA237831742DCE1117F187C3C52",
     "log": "",
     "data": "",
     "code": 0
 },
 "id": "",
 "jsonrpc": "2.0"
}