Mission item 12 gate on igneum-build-2 (13:27 to 13:34 UK): switch off, expect one PASS; switch off, expect eight FAIL as it must; switch on, expect eight PASS (the fresh node with one genesis peer reached 8 outbound at 231.7 s, 9 connections from the directory, node 0 logged every listing); the harness reads is_outbound (RpcPeerInfo is not camelCased in the fork)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-josh 2026-10-07 14:35:51 +01:00
parent 9a64d18c15
commit 3e0dfa1751
7 changed files with 1170 additions and 2 deletions

View file

@ -0,0 +1,21 @@
13:27:58.207 pd1 case switch-off-expect-eight: switch off, 10 listing nodes, joint 200 s, watch 180 s, expect eight
13:27:59.744 pd1 n0 up pid 690270 json 31292 p2p 31291
13:28:01.258 pd1 n1 up pid 690864 json 31302 p2p 31301 addpeer 31291,31291
13:28:02.766 pd1 n2 up pid 691561 json 31312 p2p 31311 addpeer 31291,31301
13:28:04.272 pd1 n3 up pid 692232 json 31322 p2p 31321 addpeer 31291,31311
13:28:05.777 pd1 n4 up pid 692823 json 31332 p2p 31331 addpeer 31291,31321
13:28:07.281 pd1 n5 up pid 693470 json 31342 p2p 31341 addpeer 31291,31331
13:28:08.785 pd1 n6 up pid 694063 json 31352 p2p 31351 addpeer 31291,31341
13:28:10.290 pd1 n7 up pid 694656 json 31362 p2p 31361 addpeer 31291,31351
13:28:11.797 pd1 n8 up pid 695316 json 31372 p2p 31371 addpeer 31291,31361
13:28:13.304 pd1 n9 up pid 695947 json 31382 p2p 31381 addpeer 31291,31371
13:31:35.437 pd1 phase 1 done at 200.1 s: node 0 at 243 blocks DAA 243; 0 directory listing line(s) on node 0
13:31:36.962 pd1 fresh up pid 705981 json 31392 p2p 31391 addpeer 31291
13:32:07.031 pd1 t=231.7 s fresh: 1 outbound, 0 inbound, 272 blocks, 0 draw line(s), 0 directory connection(s)
13:32:37.109 pd1 t=261.8 s fresh: 1 outbound, 0 inbound, 314 blocks, 0 draw line(s), 0 directory connection(s)
13:33:07.190 pd1 t=291.9 s fresh: 1 outbound, 0 inbound, 332 blocks, 0 draw line(s), 0 directory connection(s)
13:33:37.273 pd1 t=322.0 s fresh: 1 outbound, 0 inbound, 359 blocks, 0 draw line(s), 0 directory connection(s)
13:34:07.348 pd1 t=352.0 s fresh: 1 outbound, 0 inbound, 379 blocks, 0 draw line(s), 0 directory connection(s)
13:34:37.426 pd1 t=382.1 s fresh: 1 outbound, 0 inbound, 420 blocks, 0 draw line(s), 0 directory connection(s)
13:34:37.428 pd1 SUMMARY FAIL (switch-off-expect-eight): node 0 logged 0 listings; the fresh node never reached 8 outbound (last 1), 0 connection(s) from the directory, 0 draw line(s), 420 blocks; FAILED CHECK listing_lines_on_node_0, fresh_reached_eight_outbound, fresh_connected_from_directory
13:34:37.428 pd1 summary: /srv/builds/igneum-wt-peer-directory/docs/plans/mission-item-12-gate/peer-directory-switch-off-expect-eight.json

View file

@ -0,0 +1,21 @@
13:27:58.206 pd0 case switch-off-expect-one: switch off, 10 listing nodes, joint 200 s, watch 180 s, expect one
13:27:59.744 pd0 n0 up pid 690269 json 31092 p2p 31091
13:28:01.255 pd0 n1 up pid 690863 json 31102 p2p 31101 addpeer 31091,31091
13:28:02.763 pd0 n2 up pid 691557 json 31112 p2p 31111 addpeer 31091,31101
13:28:04.270 pd0 n3 up pid 692228 json 31122 p2p 31121 addpeer 31091,31111
13:28:05.775 pd0 n4 up pid 692819 json 31132 p2p 31131 addpeer 31091,31121
13:28:07.280 pd0 n5 up pid 693466 json 31142 p2p 31141 addpeer 31091,31131
13:28:08.786 pd0 n6 up pid 694058 json 31152 p2p 31151 addpeer 31091,31141
13:28:10.292 pd0 n7 up pid 694658 json 31162 p2p 31161 addpeer 31091,31151
13:28:11.800 pd0 n8 up pid 695318 json 31172 p2p 31171 addpeer 31091,31161
13:28:13.306 pd0 n9 up pid 695955 json 31182 p2p 31181 addpeer 31091,31171
13:31:35.436 pd0 phase 1 done at 200.1 s: node 0 at 250 blocks DAA 250; 0 directory listing line(s) on node 0
13:31:36.969 pd0 fresh up pid 705982 json 31192 p2p 31191 addpeer 31091
13:32:07.034 pd0 t=231.7 s fresh: 1 outbound, 0 inbound, 288 blocks, 0 draw line(s), 0 directory connection(s)
13:32:37.118 pd0 t=261.8 s fresh: 1 outbound, 0 inbound, 308 blocks, 0 draw line(s), 0 directory connection(s)
13:33:07.199 pd0 t=291.9 s fresh: 1 outbound, 0 inbound, 349 blocks, 0 draw line(s), 0 directory connection(s)
13:33:37.276 pd0 t=322.0 s fresh: 1 outbound, 0 inbound, 377 blocks, 0 draw line(s), 0 directory connection(s)
13:34:07.351 pd0 t=352.0 s fresh: 1 outbound, 0 inbound, 405 blocks, 0 draw line(s), 0 directory connection(s)
13:34:37.431 pd0 t=382.1 s fresh: 1 outbound, 0 inbound, 448 blocks, 0 draw line(s), 0 directory connection(s)
13:34:37.432 pd0 SUMMARY PASS (switch-off-expect-one): node 0 logged 0 listings; the fresh node never reached 8 outbound (last 1), 0 connection(s) from the directory, 0 draw line(s), 448 blocks
13:34:37.432 pd0 summary: /srv/builds/igneum-wt-peer-directory/docs/plans/mission-item-12-gate/peer-directory-switch-off-expect-one.json

View file

@ -0,0 +1,22 @@
13:27:58.204 pd2 case switch-on-expect-eight: switch on, 10 listing nodes, joint 200 s, watch 180 s, expect eight
13:27:59.743 pd2 n0 up pid 690268 json 31492 p2p 31491
13:28:01.254 pd2 n1 up pid 690860 json 31502 p2p 31501 addpeer 31491,31491
13:28:02.762 pd2 n2 up pid 691556 json 31512 p2p 31511 addpeer 31491,31501
13:28:04.268 pd2 n3 up pid 692227 json 31522 p2p 31521 addpeer 31491,31511
13:28:05.773 pd2 n4 up pid 692818 json 31532 p2p 31531 addpeer 31491,31521
13:28:07.279 pd2 n5 up pid 693462 json 31542 p2p 31541 addpeer 31491,31531
13:28:08.787 pd2 n6 up pid 694062 json 31552 p2p 31551 addpeer 31491,31541
13:28:10.291 pd2 n7 up pid 694659 json 31562 p2p 31561 addpeer 31491,31551
13:28:11.800 pd2 n8 up pid 695317 json 31572 p2p 31571 addpeer 31491,31561
13:28:13.304 pd2 n9 up pid 695954 json 31582 p2p 31581 addpeer 31491,31571
13:31:35.435 pd2 phase 1 done at 200.1 s: node 0 at 233 blocks DAA 233; 10 directory listing line(s) on node 0
13:31:36.954 pd2 fresh up pid 705980 json 31592 p2p 31591 addpeer 31491
13:32:07.025 pd2 the fresh node holds 10 outbound peers at 231.7 s (9 from the directory)
13:32:07.025 pd2 t=231.7 s fresh: 10 outbound, 0 inbound, 262 blocks, 1 draw line(s), 9 directory connection(s)
13:32:37.102 pd2 t=261.8 s fresh: 10 outbound, 0 inbound, 290 blocks, 1 draw line(s), 9 directory connection(s)
13:33:07.182 pd2 t=291.9 s fresh: 10 outbound, 0 inbound, 323 blocks, 1 draw line(s), 9 directory connection(s)
13:33:37.265 pd2 t=322.0 s fresh: 10 outbound, 0 inbound, 357 blocks, 1 draw line(s), 9 directory connection(s)
13:34:07.342 pd2 t=352.0 s fresh: 10 outbound, 0 inbound, 391 blocks, 1 draw line(s), 9 directory connection(s)
13:34:37.418 pd2 t=382.1 s fresh: 10 outbound, 0 inbound, 414 blocks, 1 draw line(s), 9 directory connection(s)
13:34:37.418 pd2 SUMMARY PASS (switch-on-expect-eight): node 0 logged 10 listings; the fresh node reached 8 outbound at 231.7 s, 9 connection(s) from the directory, 1 draw line(s), 414 blocks
13:34:37.419 pd2 summary: /srv/builds/igneum-wt-peer-directory/docs/plans/mission-item-12-gate/peer-directory-switch-on-expect-eight.json

View file

@ -0,0 +1,370 @@
{
"pass": false,
"expect": "eight",
"case": "switch-off-expect-eight",
"switch": "off",
"listing": 10,
"joint": 200,
"watch": 180,
"node0": {
"blocks": 243,
"daa": 243
},
"listing_lines_on_node_0": 0,
"eight_outbound_at_s": null,
"last": {
"t": 382.1,
"outbound": 1,
"inbound": 0,
"blocks": 420,
"daa": 420,
"drawn": 0,
"connected_from_directory": 0
},
"checks": {
"listing_lines_on_node_0": false,
"fresh_synced": true,
"fresh_reached_eight_outbound": false,
"fresh_connected_from_directory": false,
"fresh_held_one_outbound": true,
"no_directory_line_on_fresh": true
},
"failed_checks": [
"listing_lines_on_node_0",
"fresh_reached_eight_outbound",
"fresh_connected_from_directory"
],
"samples": [
{
"t": 206.7,
"outbound": 1,
"inbound": 0,
"blocks": 250,
"daa": 250,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 211.7,
"outbound": 1,
"inbound": 0,
"blocks": 255,
"daa": 255,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 216.7,
"outbound": 1,
"inbound": 0,
"blocks": 258,
"daa": 258,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 221.7,
"outbound": 1,
"inbound": 0,
"blocks": 264,
"daa": 264,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 226.7,
"outbound": 1,
"inbound": 0,
"blocks": 271,
"daa": 271,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 231.7,
"outbound": 1,
"inbound": 0,
"blocks": 272,
"daa": 272,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 236.7,
"outbound": 1,
"inbound": 0,
"blocks": 276,
"daa": 276,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 241.8,
"outbound": 1,
"inbound": 0,
"blocks": 284,
"daa": 284,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 246.8,
"outbound": 1,
"inbound": 0,
"blocks": 289,
"daa": 289,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 251.8,
"outbound": 1,
"inbound": 0,
"blocks": 292,
"daa": 292,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 256.8,
"outbound": 1,
"inbound": 0,
"blocks": 302,
"daa": 302,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 261.8,
"outbound": 1,
"inbound": 0,
"blocks": 314,
"daa": 314,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 266.8,
"outbound": 1,
"inbound": 0,
"blocks": 317,
"daa": 317,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 271.8,
"outbound": 1,
"inbound": 0,
"blocks": 321,
"daa": 321,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 276.9,
"outbound": 1,
"inbound": 0,
"blocks": 322,
"daa": 322,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 281.9,
"outbound": 1,
"inbound": 0,
"blocks": 326,
"daa": 326,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 286.9,
"outbound": 1,
"inbound": 0,
"blocks": 331,
"daa": 331,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 291.9,
"outbound": 1,
"inbound": 0,
"blocks": 332,
"daa": 332,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 296.9,
"outbound": 1,
"inbound": 0,
"blocks": 338,
"daa": 338,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 301.9,
"outbound": 1,
"inbound": 0,
"blocks": 341,
"daa": 341,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 306.9,
"outbound": 1,
"inbound": 0,
"blocks": 344,
"daa": 344,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 311.9,
"outbound": 1,
"inbound": 0,
"blocks": 349,
"daa": 349,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 317,
"outbound": 1,
"inbound": 0,
"blocks": 355,
"daa": 355,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 322,
"outbound": 1,
"inbound": 0,
"blocks": 359,
"daa": 359,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 327,
"outbound": 1,
"inbound": 0,
"blocks": 361,
"daa": 361,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 332,
"outbound": 1,
"inbound": 0,
"blocks": 369,
"daa": 369,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 337,
"outbound": 1,
"inbound": 0,
"blocks": 371,
"daa": 371,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 342,
"outbound": 1,
"inbound": 0,
"blocks": 374,
"daa": 374,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 347,
"outbound": 1,
"inbound": 0,
"blocks": 378,
"daa": 378,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 352,
"outbound": 1,
"inbound": 0,
"blocks": 379,
"daa": 379,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 357.1,
"outbound": 1,
"inbound": 0,
"blocks": 389,
"daa": 389,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 362.1,
"outbound": 1,
"inbound": 0,
"blocks": 400,
"daa": 400,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 367.1,
"outbound": 1,
"inbound": 0,
"blocks": 406,
"daa": 406,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 372.1,
"outbound": 1,
"inbound": 0,
"blocks": 410,
"daa": 410,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 377.1,
"outbound": 1,
"inbound": 0,
"blocks": 416,
"daa": 416,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 382.1,
"outbound": 1,
"inbound": 0,
"blocks": 420,
"daa": 420,
"drawn": 0,
"connected_from_directory": 0
}
],
"node": "/srv/builds/igneum-wt-peer-directory/vendor/igneum-node-pd/target/release/igneumd",
"miner": "/srv/builds/igneum-wt-peer-directory/vendor/igneum-node-pd/target/release/igneum-miner",
"slot": 1,
"ports": {
"base": 31290,
"suffix": 976
}
}

View file

@ -0,0 +1,366 @@
{
"pass": true,
"expect": "one",
"case": "switch-off-expect-one",
"switch": "off",
"listing": 10,
"joint": 200,
"watch": 180,
"node0": {
"blocks": 250,
"daa": 250
},
"listing_lines_on_node_0": 0,
"eight_outbound_at_s": null,
"last": {
"t": 382.1,
"outbound": 1,
"inbound": 0,
"blocks": 448,
"daa": 448,
"drawn": 0,
"connected_from_directory": 0
},
"checks": {
"listing_lines_on_node_0": false,
"fresh_synced": true,
"fresh_reached_eight_outbound": false,
"fresh_connected_from_directory": false,
"fresh_held_one_outbound": true,
"no_directory_line_on_fresh": true
},
"failed_checks": [],
"samples": [
{
"t": 206.7,
"outbound": 1,
"inbound": 0,
"blocks": 261,
"daa": 261,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 211.7,
"outbound": 1,
"inbound": 0,
"blocks": 271,
"daa": 271,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 216.7,
"outbound": 1,
"inbound": 0,
"blocks": 276,
"daa": 276,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 221.7,
"outbound": 1,
"inbound": 0,
"blocks": 278,
"daa": 278,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 226.7,
"outbound": 1,
"inbound": 0,
"blocks": 282,
"daa": 282,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 231.7,
"outbound": 1,
"inbound": 0,
"blocks": 288,
"daa": 288,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 236.8,
"outbound": 1,
"inbound": 0,
"blocks": 294,
"daa": 294,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 241.8,
"outbound": 1,
"inbound": 0,
"blocks": 296,
"daa": 296,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 246.8,
"outbound": 1,
"inbound": 0,
"blocks": 303,
"daa": 303,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 251.8,
"outbound": 1,
"inbound": 0,
"blocks": 305,
"daa": 305,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 256.8,
"outbound": 1,
"inbound": 0,
"blocks": 307,
"daa": 307,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 261.8,
"outbound": 1,
"inbound": 0,
"blocks": 308,
"daa": 308,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 266.8,
"outbound": 1,
"inbound": 0,
"blocks": 311,
"daa": 311,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 271.8,
"outbound": 1,
"inbound": 0,
"blocks": 315,
"daa": 315,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 276.9,
"outbound": 1,
"inbound": 0,
"blocks": 322,
"daa": 322,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 281.9,
"outbound": 1,
"inbound": 0,
"blocks": 331,
"daa": 331,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 286.9,
"outbound": 1,
"inbound": 0,
"blocks": 341,
"daa": 341,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 291.9,
"outbound": 1,
"inbound": 0,
"blocks": 349,
"daa": 349,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 296.9,
"outbound": 1,
"inbound": 0,
"blocks": 357,
"daa": 357,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 301.9,
"outbound": 1,
"inbound": 0,
"blocks": 364,
"daa": 364,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 306.9,
"outbound": 1,
"inbound": 0,
"blocks": 369,
"daa": 369,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 311.9,
"outbound": 1,
"inbound": 0,
"blocks": 372,
"daa": 372,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 317,
"outbound": 1,
"inbound": 0,
"blocks": 374,
"daa": 374,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 322,
"outbound": 1,
"inbound": 0,
"blocks": 377,
"daa": 377,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 327,
"outbound": 1,
"inbound": 0,
"blocks": 384,
"daa": 384,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 332,
"outbound": 1,
"inbound": 0,
"blocks": 393,
"daa": 393,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 337,
"outbound": 1,
"inbound": 0,
"blocks": 396,
"daa": 396,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 342,
"outbound": 1,
"inbound": 0,
"blocks": 397,
"daa": 397,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 347,
"outbound": 1,
"inbound": 0,
"blocks": 402,
"daa": 402,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 352,
"outbound": 1,
"inbound": 0,
"blocks": 405,
"daa": 405,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 357.1,
"outbound": 1,
"inbound": 0,
"blocks": 413,
"daa": 413,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 362.1,
"outbound": 1,
"inbound": 0,
"blocks": 422,
"daa": 422,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 367.1,
"outbound": 1,
"inbound": 0,
"blocks": 428,
"daa": 428,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 372.1,
"outbound": 1,
"inbound": 0,
"blocks": 433,
"daa": 433,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 377.1,
"outbound": 1,
"inbound": 0,
"blocks": 440,
"daa": 440,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 382.1,
"outbound": 1,
"inbound": 0,
"blocks": 448,
"daa": 448,
"drawn": 0,
"connected_from_directory": 0
}
],
"node": "/srv/builds/igneum-wt-peer-directory/vendor/igneum-node-pd/target/release/igneumd",
"miner": "/srv/builds/igneum-wt-peer-directory/vendor/igneum-node-pd/target/release/igneum-miner",
"slot": 0,
"ports": {
"base": 31090,
"suffix": 975
}
}

View file

@ -0,0 +1,366 @@
{
"pass": true,
"expect": "eight",
"case": "switch-on-expect-eight",
"switch": "on",
"listing": 10,
"joint": 200,
"watch": 180,
"node0": {
"blocks": 233,
"daa": 233
},
"listing_lines_on_node_0": 10,
"eight_outbound_at_s": 231.7,
"last": {
"t": 382.1,
"outbound": 10,
"inbound": 0,
"blocks": 414,
"daa": 414,
"drawn": 1,
"connected_from_directory": 9
},
"checks": {
"listing_lines_on_node_0": true,
"fresh_synced": true,
"fresh_reached_eight_outbound": true,
"fresh_connected_from_directory": true,
"fresh_held_one_outbound": false,
"no_directory_line_on_fresh": false
},
"failed_checks": [],
"samples": [
{
"t": 206.7,
"outbound": 1,
"inbound": 0,
"blocks": 242,
"daa": 242,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 211.7,
"outbound": 1,
"inbound": 0,
"blocks": 246,
"daa": 246,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 216.7,
"outbound": 1,
"inbound": 0,
"blocks": 253,
"daa": 253,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 221.7,
"outbound": 1,
"inbound": 0,
"blocks": 256,
"daa": 256,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 226.7,
"outbound": 1,
"inbound": 0,
"blocks": 260,
"daa": 260,
"drawn": 0,
"connected_from_directory": 0
},
{
"t": 231.7,
"outbound": 10,
"inbound": 0,
"blocks": 262,
"daa": 262,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 236.7,
"outbound": 10,
"inbound": 0,
"blocks": 269,
"daa": 269,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 241.7,
"outbound": 10,
"inbound": 0,
"blocks": 277,
"daa": 277,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 246.8,
"outbound": 10,
"inbound": 0,
"blocks": 280,
"daa": 280,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 251.8,
"outbound": 10,
"inbound": 0,
"blocks": 283,
"daa": 283,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 256.8,
"outbound": 10,
"inbound": 0,
"blocks": 286,
"daa": 286,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 261.8,
"outbound": 10,
"inbound": 0,
"blocks": 290,
"daa": 290,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 266.8,
"outbound": 10,
"inbound": 0,
"blocks": 298,
"daa": 298,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 271.8,
"outbound": 10,
"inbound": 0,
"blocks": 303,
"daa": 303,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 276.8,
"outbound": 10,
"inbound": 0,
"blocks": 311,
"daa": 311,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 281.8,
"outbound": 10,
"inbound": 0,
"blocks": 316,
"daa": 316,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 286.9,
"outbound": 10,
"inbound": 0,
"blocks": 317,
"daa": 317,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 291.9,
"outbound": 10,
"inbound": 0,
"blocks": 323,
"daa": 323,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 296.9,
"outbound": 10,
"inbound": 0,
"blocks": 334,
"daa": 334,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 301.9,
"outbound": 10,
"inbound": 0,
"blocks": 337,
"daa": 337,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 306.9,
"outbound": 10,
"inbound": 0,
"blocks": 342,
"daa": 342,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 311.9,
"outbound": 10,
"inbound": 0,
"blocks": 348,
"daa": 348,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 316.9,
"outbound": 10,
"inbound": 0,
"blocks": 350,
"daa": 350,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 322,
"outbound": 10,
"inbound": 0,
"blocks": 357,
"daa": 357,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 327,
"outbound": 10,
"inbound": 0,
"blocks": 359,
"daa": 359,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 332,
"outbound": 10,
"inbound": 0,
"blocks": 362,
"daa": 362,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 337,
"outbound": 10,
"inbound": 0,
"blocks": 364,
"daa": 364,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 342,
"outbound": 10,
"inbound": 0,
"blocks": 368,
"daa": 368,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 347,
"outbound": 10,
"inbound": 0,
"blocks": 380,
"daa": 380,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 352,
"outbound": 10,
"inbound": 0,
"blocks": 391,
"daa": 391,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 357.1,
"outbound": 10,
"inbound": 0,
"blocks": 393,
"daa": 393,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 362.1,
"outbound": 10,
"inbound": 0,
"blocks": 399,
"daa": 399,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 367.1,
"outbound": 10,
"inbound": 0,
"blocks": 401,
"daa": 401,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 372.1,
"outbound": 10,
"inbound": 0,
"blocks": 403,
"daa": 403,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 377.1,
"outbound": 10,
"inbound": 0,
"blocks": 409,
"daa": 409,
"drawn": 1,
"connected_from_directory": 9
},
{
"t": 382.1,
"outbound": 10,
"inbound": 0,
"blocks": 414,
"daa": 414,
"drawn": 1,
"connected_from_directory": 9
}
],
"node": "/srv/builds/igneum-wt-peer-directory/vendor/igneum-node-pd/target/release/igneumd",
"miner": "/srv/builds/igneum-wt-peer-directory/vendor/igneum-node-pd/target/release/igneum-miner",
"slot": 2,
"ports": {
"base": 31490,
"suffix": 977
}
}

View file

@ -111,8 +111,10 @@ class Node {
grepLog(re) { try { return readFileSync(this.logFile, 'utf8').split('\n').filter(l => re.test(l)); } catch { return []; } }
async peers_() {
const r = await this.rpc.call('getConnectedPeerInfo');
const list = r.infos || r.peerInfo || [];
return { outbound: list.filter(p => p.isOutbound).length, inbound: list.filter(p => !p.isOutbound).length, total: list.length };
// RpcPeerInfo is not camelCased in the fork (the response is): is_outbound, not isOutbound (read 14:3x UK, 7 October 2026)
const list = r.infos || r.peerInfo || r.peer_info || [];
const out = (p) => p.isOutbound ?? p.is_outbound ?? false;
return { outbound: list.filter(out).length, inbound: list.filter(p => !out(p)).length, total: list.length };
}
async dag() { const d = await this.rpc.call('getBlockDagInfo'); return { blocks: +d.blockCount, daa: +d.virtualDaaScore }; }
}