Skip to content

Instantly share code, notes, and snippets.

@BrandonT42
Last active November 8, 2018 21:36
Show Gist options
  • Save BrandonT42/a80ec6fcdd956333c24f1bb5ce1dd9b3 to your computer and use it in GitHub Desktop.
Save BrandonT42/a80ec6fcdd956333c24f1bb5ce1dd9b3 to your computer and use it in GitHub Desktop.
Breakdown of what each CN & Levin command is sending and expecting as a response

Levin Commands

A breakdown of Levin Protocol's P2P-specific commands

1001 - COMMAND_HANDSHAKE

Request Data:

  • Node Data
    • Version
    • Local Time
    • Node Port
    • Peer ID
  • Core Sync Data
    • Current Height
    • Top Block ID

Response Data:

  • Node Data
    • Version
    • Local Time
    • Node Port
    • Peer ID
  • Core Sync Data
    • Current Height
    • Top Block ID
  • Local Peer List

1002 - COMMAND_TIMED_SYNC

Request Data:

  • Core Sync Data
    • Current Height
    • Top Block ID

Response Data:

  • Local Time
  • Core Sync Data
    • Current Height
    • Top Block ID
  • Local Peer List

1003 - COMMAND_PING

Request Data: None

Response Data:

  • Status
  • Peer ID

1004 - COMMAND_REQUEST_STAT_INFO (Debug Only)

Request Data:

  • Proof of Trust
    • Peer ID
    • Local Time
    • Signature

Response Data:

  • Version
  • OS Version
  • Active Connection Count
  • Incoming Connection Count
  • Core Statistics
    • Transaction Pool Size
    • Blockchain Height
    • Mining Speed
    • Alternative Block Count
    • Top Block Hash

1005 - COMMAND_REQUEST_NETWORK_STATE (Debug Only)

Request Data:

  • Proof of Trust
    • Peer ID
    • Local Time
    • Signature

Response Data:

  • Local Peer List (White)
  • Local Peer List (Grey)
  • Active Connection List
  • Peer ID
  • Local Time

1006 - COMMAND_REQUEST_PEER_ID (Debug Only)

Request Data: None

Response Data:

  • Peer ID

CryptoNote Commands

A breakdown of CryptoNote's blockchain-specific commands

2001 - NOTIFY_NEW_BLOCK

Request Data:

  • Legacy Raw Block Data
    • Block
    • Transactions
  • Current Blockchain Height
  • Hop (?)

Response Data: None

2002 - NOTIFY_NEW_TRANSACTIONS

Request Data:

  • Transactions

Response Data: None

2003 - NOTIFY_REQUEST_GET_OBJECTS

Request Data:

  • Transactions
  • Blocks

Response Data: None

2004 - NOTIFY_RESPONSE_GET_OBJECTS

Request Data:

  • Transactions
  • Blocks
  • Missed IDs
  • Current Blockchain Height

Response Data: None

2006 - NOTIFY_REQUEST_CHAIN

Request Data:

  • Block IDs

Response Data: None

2007 - NOTIFY_REQUEST_CHAIN_ENTRY

Request Data:

  • Start Height
  • Total Height
  • M Block IDs (?)

Response Data: None

2008 - NOTIFY_REQUEST_TX_POOL

Request Data:

  • Transactions

Response Data: None

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment