Skip to content

Instantly share code, notes, and snippets.

@BrandonT42
Last active November 11, 2018 21:31
Show Gist options
  • Save BrandonT42/43b8b4b83310b53c9f345a03366df287 to your computer and use it in GitHub Desktop.
Save BrandonT42/43b8b4b83310b53c9f345a03366df287 to your computer and use it in GitHub Desktop.
Contents of the first sync packet on a new TRTL Network node with just the genesis block

CS Daemon Logs

9:00 PM [DEBUG] Peer connection formed with 127.0.0.1:64874

9:00 PM [DEBUG] [IN] Received "Handshake" Request:

9:00 PM [DEBUG] - Response Requested: True

9:00 PM [DEBUG] - Node Data:

9:00 PM [DEBUG] - Network ID: b50c4a6ccf52574165f991a4b6c143e9

9:00 PM [DEBUG] - Peer ID: 6918497232568317809

9:00 PM [DEBUG] - Version: 3

9:00 PM [DEBUG] - Local Time: 1541970042

9:00 PM [DEBUG] - Port: 0

9:00 PM [DEBUG] - Core Sync Data:

9:00 PM [DEBUG] - Current Height: 1

9:00 PM [DEBUG] - Top ID: 7fb97df81221dd1366051b2d0bc7f49c66c22ac4431d879c895b06d66ef66f4c

9:00 PM [DEBUG] [OUT] Sending "Handshake" Response:

9:00 PM [DEBUG] - Node Data:

9:00 PM [DEBUG] - Network ID: b50c4a6ccf52574165f991a4b6c143e9

9:00 PM [DEBUG] - Peer ID: 11861780891704893220

9:00 PM [DEBUG] - Version: 3

9:00 PM [DEBUG] - Local Time: 1541970042

9:00 PM [DEBUG] - Port: 8090

9:00 PM [DEBUG] - Core Sync Data:

9:00 PM [DEBUG] - Current Height: 1

9:00 PM [DEBUG] - Top ID: 0000000000000000000000000000000000000000000000000000000000000000

9:00 PM [DEBUG] - Local Peerlist:

9:00 PM [DEBUG] - Entries: 0

9:00 PM [DEBUG] Sending header:

9:00 PM [DEBUG] - Signature: 72340172838084865

9:00 PM [DEBUG] - Payload Size: 205

9:00 PM [DEBUG] - Response Required: False

9:00 PM [DEBUG] - Command Code: 1001

9:00 PM [DEBUG] - Return Code: 0

9:00 PM [DEBUG] - Flags: 2

9:00 PM [DEBUG] - Protocol Version: 1

9:00 PM [DEBUG] [IN] Received command:

9:00 PM [DEBUG] - Command Code: 1001

9:00 PM [DEBUG] - Is Notification: False

9:00 PM [DEBUG] - Is Response: False

9:00 PM [DEBUG] - Data: 187 Bytes

9:00 PM [DEBUG]

01110101010102010108096e6f64655f646174610c140a6e6574776f726b5f69640a40b50c4a6ccf52574165f991a4b6c143e90776657273696f6e080307706565725f69640571f7c1c6937003600a6c6f63616c5f74696d65057a98e85b00000000076d795f706f727406000000000c7061796c6f61645f646174610c080e63757272656e745f686569676874060100000006746f705f69640a807fb97df81221dd1366051b2d0bc7f49c66c22ac4431d879c895b06d66ef66f4c

9:00 PM [DEBUG] [IN] Received "Notify Request Chain" Request:

9:00 PM [DEBUG] - Response Requested: False

9:00 PM [DEBUG] - Block IDs:

9:00 PM [DEBUG] - [0]: 7fb97df81221dd1366051b2d0bc7f49c66c22ac4431d879c895b06d66ef66f4c

9:00 PM [DEBUG] [IN] Received command:

9:00 PM [DEBUG] - Command Code: 2006

9:00 PM [DEBUG] - Is Notification: True

9:00 PM [DEBUG] - Is Response: False

9:00 PM [DEBUG] - Data: 54 Bytes

9:00 PM [DEBUG] 0111010101010201010409626c6f636b5f6964730a807fb97df81221dd1366051b2d0bc7f49c66c22ac4431d879c895b06d66ef66f4c

TRTL Daemon Logs

2018-Nov-11 13:00:40.879064 INFO [daemon] Welcome to TurtleCoin v0.8.4.1277 ()

2018-Nov-11 13:00:40.881063 INFO [daemon] Module folder: turtlecoind.exe

2018-Nov-11 13:00:40.885061 INFO [daemon] Loading Checkpoints for faster initial sync...

2018-Nov-11 13:00:40.887058 INFO [daemon] Loaded 174 default checkpoints

2018-Nov-11 13:00:40.889059 INFO [RocksDBWrapper] Opening DB in C:\Users\brand\AppData\Roaming/TurtleCoin/DB

2018-Nov-11 13:00:40.918039 INFO [RocksDBWrapper] DB opened in C:\Users\brand\AppData\Roaming/TurtleCoin/DB

2018-Nov-11 13:00:40.922038 INFO [daemon] Initializing core...

2018-Nov-11 13:00:40.923037 DEBUG [DatabaseBlockchainCache] Current db scheme version: 2

2018-Nov-11 13:00:40.924036 DEBUG [DatabaseBlockchainCache] top block index is nill, add genesis block

2018-Nov-11 13:00:40.927035 DEBUG [DatabaseBlockchainCache] push transaction with hash 0d1c0f28b5f5eaa6a21c110eed1339ac9a9eb6a1689d8c31c51a011983069e9b

2018-Nov-11 13:00:40.930032 TRACE [DatabaseBlockchainCache] updateKeyOutputCount: failed to found key for amount, request database

2018-Nov-11 13:00:40.932031 TRACE [DatabaseBlockchainCache] updateKeyOutputCount: database replied: amount 2980232 value 1

2018-Nov-11 13:00:40.934030 DEBUG [DatabaseBlockchainCache] push transaction with hash 0d1c0f28b5f5eaa6a21c110eed1339ac9a9eb6a1689d8c31c51a011983069e9b finished

2018-Nov-11 13:00:40.937028 DEBUG [Core] Blockchain storage blocks count: 1, DB blocks count: 1

2018-Nov-11 13:00:40.939027 DEBUG [Core] Blockchain storage and root segment are on the same height and chain

2018-Nov-11 13:00:40.941027 INFO [daemon] Core initialized OK

2018-Nov-11 13:00:40.943024 INFO [daemon] Initializing p2p server...

2018-Nov-11 13:00:40.945023 TRACE [node_server] Added seed node: 206.189.142.142:11897 (206.189.142.142)

2018-Nov-11 13:00:40.947022 TRACE [node_server] Added seed node: 145.239.88.119:11999 (145.239.88.119)

2018-Nov-11 13:00:40.950019 TRACE [node_server] Added seed node: 142.44.242.106:11897 (142.44.242.106)

2018-Nov-11 13:00:40.952018 TRACE [node_server] Added seed node: 165.227.252.132:11897 (165.227.252.132)

2018-Nov-11 13:00:40.954018 INFO [node_server] Binding on 0.0.0.0:11897

2018-Nov-11 13:00:40.958015 INFO [node_server] Net service binded on 0.0.0.0:11897

2018-Nov-11 13:00:40.962012 INFO [node_server] Attempting to add IGD port mapping.

2018-Nov-11 13:00:42.029465 INFO [node_server] Added IGD port mapping.

2018-Nov-11 13:00:42.032442 INFO [daemon] P2p server initialized OK

2018-Nov-11 13:00:42.034441 INFO [daemon] Starting core rpc server on address 127.0.0.1:11898

2018-Nov-11 13:00:42.036439 INFO [daemon] Core rpc server started ok

2018-Nov-11 13:00:42.038438 INFO [daemon] Starting p2p net loop...

2018-Nov-11 13:00:42.040438 INFO [node_server] Starting node_server

2018-Nov-11 13:00:42.041436 DEBUG [node_server] onIdle started

2018-Nov-11 13:00:42.043436 DEBUG [node_server] Connecting to 127.0.0.1:8090 (white=1, last_seen: never)...

2018-Nov-11 13:00:42.210784 TRACE [node_server] [127.0.0.1:8090 OUT] REMOTE PEERLIST: TIME_DELTA: 0, remote peerlist size=0

2018-Nov-11 13:00:42.214780 TRACE [node_server] [127.0.0.1:8090 OUT] REMOTE PEERLIST:

2018-Nov-11 13:00:42.215781 INFO [protocol] [127.0.0.1:8090 OUT] Your TurtleCoin node is syncing with the network (100.00% complete) You are 0 blocks (0 days) behind the current peer you're connected to. Slow and steady wins the race!

2018-Nov-11 13:00:42.221777 DEBUG [protocol] Remote top block height: 1, id: 0000000000000000000000000000000000000000000000000000000000000000

2018-Nov-11 13:00:42.226775 TRACE [protocol] [127.0.0.1:8090 OUT] requesting synchronization

2018-Nov-11 13:00:42.228773 INFO [protocol] New Top Block Detected: 1

2018-Nov-11 13:00:42.231771 TRACE [protocol] Observed height updated: 1

2018-Nov-11 13:00:42.232769 DEBUG [node_server] [127.0.0.1:8090 OUT] COMMAND_HANDSHAKE INVOKED OK

2018-Nov-11 13:00:42.234769 TRACE [node_server] [127.0.0.1:8090 OUT] NEW CONNECTION

2018-Nov-11 13:00:42.236767 TRACE [protocol] [127.0.0.1:8090 OUT] Starting synchronization

2018-Nov-11 13:00:42.239767 TRACE [protocol] [127.0.0.1:8090 OUT] -->>NOTIFY_REQUEST_CHAIN: m_block_ids.size()=1

2018-Nov-11 13:00:42.241764 DEBUG [node_server] [127.0.0.1:8090 OUT] writeHandler started

2018-Nov-11 13:00:42.243763 DEBUG [node_server] [127.0.0.1:8090 OUT] msg 2:2006

My Breakdown (Correct me if I'm wrong on anything)

  • Launch message

  • Check launch folder

  • Load checkpoint data (X)

  • Connect to database

  • Initialize CN core

  • Load blockchain cache:

    • Verify database scheme
    • Check for top block, create genesis block/initial transaction if not found
    • Get ket output count
    • Verify blockchain storage count and DB blocks count are matching (?)
  • Initialize P2P server

  • Add seed nodes

  • Initialize RPC Server (X)

  • Connect to first node (seed node or exclusive node, log last-seen)

  • Send peer list to first node

  • Begin syncing (Daemon has been initialized fully)

  • Handshake with first node

  • Begin syncing with node by comparing heights and broadcasting a NOTIFY_REQUEST_CHAIN message with the last X block hashes (in this case just the genesis block)

Other Notes

Link to initialization in the code: https://github.com/turtlecoin/turtlecoin/blob/development/src/CryptoNoteCore/Currency.cpp#L55

Link to genesis block creation in the code: https://github.com/turtlecoin/turtlecoin/blob/1eab20ffb619c2cf24327c57ec0180bd9bf72638/src/CryptoNoteCore/Currency.cpp#L78

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