I want to share my pain with you
0 pNXT_json_commands sender.(8989816935121514892) valid.1 | size.20 | command.(select)
attempt privacyServer 1a79aa467ed1 209.126.70.170/6777 connect.0x0 tcp.0x0 udp.0x0
SETTING PRIVACY SERVER IPADDR.(209.126.70.170)
CONNECTED to 209.126.70.170/6777 connect.0x100f00430 tcp.0x100f01060
nxt.8989816935121514892
connect.0x100f00430 -> 0x0
udp.0x102600a60 tcp.0x100f01060 got bytes.0x100f00430 (connect) >>>>>>>>>>>>>>>>>>> got 299 bytes at 0x107000000.([{"NXT":"1700913285397123524","pubkey":"a942e1a4edb99401354eeea61ee0aad827d6ec524aa5257025a6fa0e8b91e75e","time":1407295599},{"token":"vb5lpi57ea2pb4cvjn7g1i2ffrso4j7p7ban3vfmhv7ftcbp9ur2u4etbem70501qq1mjlkn34f32cp
9osikj9qaf8ujamir90gp51511img005mpvkdqtal9al0tqcon96b03gb49cuunpn775koskakmctsk
au"}]) from 209.126.70.170/6777
got crc of e4d1014e vx packet_crc 4e227b5b
signed by valid NXT.1700913285397123524 valid.1 diff.1
np.0x10380aa00 created.1 NXT.1700913285397123524 pubkey.a942e1a4edb99401354eeea61ee0aad827d6ec524aa5257025a6fa0e8b91e75e (len.32) connect.0x100f01060 sendresponse.0
process_intro got NXT.(1700913285397123524) np.0x10380aa00 <- I_am_server.0 UDP 0x0 TCP.0x100f01060 209.126.70.170/6777
set TCP.0x100f01060 209.126.70.170/6777
SETTING PRIVACY SERVER NXT ADDR.(1700913285397123524) (1700913285397123524)
json_handler returns.([{"NXT":"1700913285397123524","pubkey":"a942e1a4edb99401354eeea61ee0aad827d6ec524aa5257025a6fa0e8b91e75e","time":1407295599},{"token":"vb5lpi57ea2pb4cvjn7g1i2ffrso4j7p7ban3vfmhv7ftcbp9ur2u4etbem70501qq1mjlkn34f32cp
9osikj9qaf8ujamir90gp51511img005mpvkdqtal9al0tqcon96b03gb49cuunpn775koskakmctsk
au"}])
on_client_udprecv 209.126.70.170/6777 nread.299 flags.0 | total 0
got crc of e4d1014e vx packet_crc 4e227b5b
signed by valid NXT.1700913285397123524 valid.1 diff.1
np.0x10380aa00 created.0 NXT.1700913285397123524 pubkey.a942e1a4edb99401354eeea61ee0aad827d6ec524aa5257025a6fa0e8b91e75e (len.32) connect.0x0 sendresponse.0
process_intro got NXT.(1700913285397123524) np.0x10380aa00 <- I_am_server.0 UDP 0x102600a60 TCP.0x0 209.126.70.170/6777
set UDP.0x102600a60 209.126.70.170/6777
SETTING PRIVACY SERVER NXT ADDR.(1700913285397123524) (1700913285397123524)
testforms len 16806
29109850111697 pNXT_json_commands sender.() valid.-1 | size.20 | command.(teleport)
verification valid.-1 missing for teleport sender.() vs NXT.()
replace NXT.(8989816935121514892)
29109850111697 pNXT_json_commands sender.(8989816935121514892) valid.1 | size.20 | command.(teleport)
amount.(0.10000000) minage.(10) 10
8989816935121514892 -> teleport 0.10000000 BTCD -> 8989816935121514892 minage.10
(backups/telepods/BTCD.0) update 0.10000000 height.46983 BTCD RPG2zwo3byN1EoG5U9Esgz76Pjtr2Jw1AY a4c6e70c6cce13a6986fca1b9ebdbdd209099680dd4ad9b6c82b41a630d61d15/vout_0
load 0.10000000 height.46983 BTCD RPG2zwo3byN1EoG5U9Esgz76Pjtr2Jw1AY a4c6e70c6cce13a6986fca1b9ebdbdd209099680dd4ad9b6c82b41a630d61d15/vout_0
(backups/telepods/BTCD.1) update 0.10000000 height.46983 BTCD RFaHNNQmog8XBj7iuYnT9zJdR3ju36inBJ 8ab8b6416728596986cff9a2d5930f52017ac3ec569195a4be4a41d54f3cc19a/vout_0
load 0.10000000 height.46983 BTCD RFaHNNQmog8XBj7iuYnT9zJdR3ju36inBJ 8ab8b6416728596986cff9a2d5930f52017ac3ec569195a4be4a41d54f3cc19a/vout_0
beg for changepod
after loaded 2 telepods
reject telepod.1 height.47400 - pod->height.46983 minage.10, ischange.1
evolve maxiters.0 with n.1
hwm 0.10000000 height.46983 BTCD RFaHNNQmog8XBj7iuYnT9zJdR3ju36inBJ 8ab8b6416728596986cff9a2d5930f52017ac3ec569195a4be4a41d54f3cc19a/vout_0
-> evolved with bestn.1 0x106a00970
need to implement query (and propagation) mechanism for pubkeys
json_handler returns.({"error":"no pubkey for 8989816935121514892, request sent"})
testforms len 16806
NXTprotocol_json_handler.({"requestType":"teleport","secret":"xxx","dest":"8989816935121514892","amount":".1","coin":"BTCD","minage":"10"})
29109850111697 pNXT_json_commands sender.() valid.-1 | size.20 | command.(teleport)
verification valid.-1 missing for teleport sender.() vs NXT.()
replace NXT.(8989816935121514892)
29109850111697 pNXT_json_commands sender.(8989816935121514892) valid.1 | size.20 | command.(teleport)
amount.(0.10000000) minage.(10) 10
8989816935121514892 -> teleport 0.10000000 BTCD -> 8989816935121514892 minage.10
reject telepod.1 height.47400 - pod->height.46983 minage.10, ischange.1
evolve maxiters.0 with n.1
hwm 0.10000000 height.46983 BTCD RFaHNNQmog8XBj7iuYnT9zJdR3ju36inBJ 8ab8b6416728596986cff9a2d5930f52017ac3ec569195a4be4a41d54f3cc19a/vout_0
-> evolved with bestn.1 0x102003fc0
start evolving at 28378.965000
reject telepod.1 height.47400 - pod->height.46983 minage.10, ischange.1
evolve maxiters.100000 with n.1
metric.1.998803 youngest.417 agesum 417 n 1, (10000000 - 10000000)
i.0 of 100000, replacei.0 j.0 inhwm.1
i.1 of 100000, replacei.0 j.0 inhwm.1
...
i.99 of 100000, replacei.0 j.0 inhwm.1
hwm 0.10000000 height.46983 BTCD RFaHNNQmog8XBj7iuYnT9zJdR3ju36inBJ 8ab8b6416728596986cff9a2d5930f52017ac3ec569195a4be4a41d54f3cc19a/vout_0
-> evolved with bestn.1 0x102601200
finished evolving at 28379.517000
set np <- NXT.1700913285397123524
ONIONIZE: np.0x107019000 NXT.8989816935121514892 8989816935121514892 pubkey.d4f90774a020df13 encode len.315 -> new len.371 + 42 = 413
sendmessage ([{"requestType":"transporter","coin":"BTCD","height":47400,"minage":10,"value":"0.10000000","telepods":["1489107942"],"totalcrc":3700449792},{"token":"d79fth95u83cu087m4js5pr7oqktvg537dctmf7sclmv3thq9ur40bpgi2bit301md2ijtcqb6g01tg
d8fmsklgccgere9j8au65d3skqop0hm9nntm9o14uaocg6ft0ibdna069fkvimrfj2991dcah753nr7
3c"}]) len.316 to 8989816935121514892
np.0x10380aa00 NXT.1700913285397123524 np->udp 0x102600a60 | destnp.0x107019000 destnp_udp.0x0
Must use indirection
ONIONIZE: np.0x10380aa00 NXT.1700913285397123524 1700913285397123524 pubkey.194b9eda4e142a9 encode len.413 -> new len.469 + 42 = 511
udpsend finalbuf.515
sendandfree_jsonmessage.({"status":"8989816935121514892 sends via 1700913285397123524 encrypted sendmessage.([{"requestType":"transporter","coin":"BTCD","height":47400,"minage":10,"value":"0.10000000","telepods":["1489107942"],"totalcrc":3700449792},{"token":"d79fth95u83cu087m4js5pr7oqktvg537dctmf7sclmv3thq9ur40bpgi2bit301md2ijtcqb6g01tg
d8fmsklgccgere9j8au65d3skqop0hm9nntm9o14uaocg6ft0ibdna069fkvimrfj2991dcah753nr7
3c"}]) [[{"requestType":"transporter","coin":"BTCD","height":47400,"minage":10,"value":"0.10000000","telepods":["1489107942"],"totalcrc":3700449792},{"token":"d79fth95u83cu087m4js5pr7oqktvg537dctmf7sclmv3thq9ur40bpgi2bit301md2ijtcqb6g01tg
d8fmsklgccgere9j8au65d3skqop0hm9nntm9o14uaocg6ft0ibdna069fkvimrfj2991dcah753nr7
3c"}]] to 8989816935121514892 pending"})
json_handler returns.({"error":"sendandfree_jsonmessage telepod bundle failure for 0.10000000 BTCD to 8989816935121514892"})
on_client_udprecv 209.126.70.170/6777 nread.515 flags.0 | total 299
got crc of 6bb3c525 vx packet_crc 6bb3c525
deonionize >>>>> pubkey.194b9eda4e142a9 vs mypubkey.d4f90774a020df13 (40) -> 469 1d5
payload_len.469 err.0 new len.413
decrypted len.413 dest.(8989816935121514892)
deonionize >>>>> pubkey.d4f90774a020df13 vs mypubkey.d4f90774a020df13 (40) -> 371 173
payload_len.371 err.0 new len.315
decrypted2 len.315 dest.(8989816935121514892)
set UDP.0x102600a60 209.126.70.170/6777
29109850111697 pNXT_json_commands sender.(8989816935121514892) valid.1 | size.20 | command.(transporter)
make_traceable_telepod 0.10000000
got podaddr.(RHEXHztke1hZ5NSAxKHCproTsind934Sjc) privkey.0x102600640
args.(["transporter","RHEXHztke1hZ5NSAxKHCproTsind934Sjc",0.10000000])
check (backups/telepods/BTCD.2)
(backups/telepods/BTCD.2) update 0.10000000 height.47400 BTCD RHEXHztke1hZ5NSAxKHCproTsind934Sjc f166d4711537702a46994d1a78b01d2c7d083e668264b3efe6fc83f6fda2bbf9/vout_0
create 0.10000000 height.47400 BTCD RHEXHztke1hZ5NSAxKHCproTsind934Sjc f166d4711537702a46994d1a78b01d2c7d083e668264b3efe6fc83f6fda2bbf9/vout_0
make_traceable_telepod 0.10000000
got podaddr.(RKbPodL1GaBeyHydaAhvX286FAPDLw8ZhJ) privkey.0x106a01e40
args.(["transporter","RKbPodL1GaBeyHydaAhvX286FAPDLw8ZhJ",0.10000000])
check (backups/telepods/BTCD.3)
(backups/telepods/BTCD.3) update 0.10000000 height.47400 BTCD RKbPodL1GaBeyHydaAhvX286FAPDLw8ZhJ 07d22536a9869cac5d856c127893e89c2194f6c5bf22440c05f91f1c55f24fdb/vout_0
create 0.10000000 height.47400 BTCD RKbPodL1GaBeyHydaAhvX286FAPDLw8ZhJ 07d22536a9869cac5d856c127893e89c2194f6c5bf22440c05f91f1c55f24fdb/vout_0
set np <- NXT.1700913285397123524
ONIONIZE: np.0x107019000 NXT.8989816935121514892 8989816935121514892 pubkey.d4f90774a020df13 encode len.107 -> new len.163 + 42 = 205
sendmessage ({"requestType":"transporter_status","status":-1,"coin":"BTCD","crc":3700449792,"value",0.10000000,"num":1}) len.107 to 8989816935121514892
np.0x10380aa00 NXT.1700913285397123524 np->udp 0x102600a60 | destnp.0x107019000 destnp_udp.0x102600a60
Must use indirection
ONIONIZE: np.0x10380aa00 NXT.1700913285397123524 1700913285397123524 pubkey.194b9eda4e142a9 encode len.205 -> new len.261 + 42 = 303
udpsend finalbuf.307
send_transporter_ACK.({"status":"3791936988034107349 sends via 1700913285397123524 encrypted sendmessage.({"requestType":"transporter_status","status":-1,"coin":"BTCD","crc":3700449792,"value",0.10000000,"num":1}) [{"requestType":"transporter_status","status":-1,"coin":"BTCD","crc":3700449792,"value",0.10000000,"num":1}] to 8989816935121514892 pending"})
json_handler returns.(transporter_received from NXT.8989816935121514892 totalcrc.dc906200 n.1 height.47400 0.10000000 <<<<< ERROR changepod.0x0)
respond.(transporter_received from NXT.8989816935121514892 totalcrc.dc906200 n.1 height.47400 0.10000000 <<<<< ERROR changepod.0x0) to np.0x107019000 NXT.8989816935121514892
on_client_udprecv 209.126.70.170/6777 nread.404 flags.0 | total 814
got crc of 408c954b vx packet_crc 408c954b
deonionize >>>>> pubkey.194b9eda4e142a9 vs mypubkey.d4f90774a020df13 (40) -> 358 166
payload_len.358 err.0 new len.302
decrypted len.302 dest.(8463496752511744859)
deonionize >>>>> pubkey.30303731223a2273 vs mypubkey.d4f90774a020df13 (40) -> 25970 6572
mismatched len expected 26012 got 302
set UDP.0x102600a60 209.126.70.170/6777
29109850111697 pNXT_json_commands sender.(1700913285397123524) valid.1 | size.20 | command.()
respond.({"result":"pNXT_jsonhandler returns null from ([{"status":"1700913285397123524 sends direct encrypted sendmessage.(<encrypted>) [<encrypted>] to 8989816935121514892 pending"},{"token":"vb5lpi57ea2pb4cvjn7g1i2ffrso4j7p7ban3vfmhv7ftcbp9ur3s4etspfn9cg1ho7us4ptd9196rc
8qbh9sv9280ko5rvr2jnr3bjovii0562a34pfflce6d27bm7k9b8vr14h8kt596avurnduq642dq26f
vq"}])"}) to np.0x10380aa00 NXT.1700913285397123524
on_client_udprecv 209.126.70.170/6777 nread.307 flags.0 | total 1218
got crc of 17cda099 vx packet_crc 17cda099
deonionize >>>>> pubkey.194b9eda4e142a9 vs mypubkey.d4f90774a020df13 (40) -> 261 105
payload_len.261 err.0 new len.205
decrypted len.205 dest.(8989816935121514892)
deonionize >>>>> pubkey.d4f90774a020df13 vs mypubkey.d4f90774a020df13 (40) -> 163 a3
payload_len.163 err.0 new len.107
decrypted2 len.107 dest.(8989816935121514892)
on_client_udprecv 209.126.70.170/6777 nread.404 flags.0 | total 1525
got crc of 81cd703a vx packet_crc 81cd703a
deonionize >>>>> pubkey.194b9eda4e142a9 vs mypubkey.d4f90774a020df13 (40) -> 358 166
payload_len.358 err.0 new len.302
decrypted len.302 dest.(8463496752511744859)
deonionize >>>>> pubkey.30303731223a2273 vs mypubkey.d4f90774a020df13 (40) -> 25970 6572
mismatched len expected 26012 got 302
set UDP.0x102600a60 209.126.70.170/6777
29109850111697 pNXT_json_commands sender.(1700913285397123524) valid.1 | size.20 | command.()
respond.({"result":"pNXT_jsonhandler returns null from ([{"status":"1700913285397123524 sends direct encrypted sendmessage.(<encrypted>) [<encrypted>] to 8989816935121514892 pending"},{"token":"vb5lpi57ea2pb4cvjn7g1i2ffrso4j7p7ban3vfmhv7ftcbp9ur4e4et8vgdjvg1t2197c3nr3ud56d
8bgl73evdcjv76a0tkmgs2tl7upk0khpqd0u73pru6m1j7fg73avdn0o20tk9chfpc3j676lgiagrdn
um"}])"}) to np.0x10380aa00 NXT.1700913285397123524
testforms len 16806
***********
Wasnt that fun!
That was an edited down sequence of the SIMPLEST teleport. Well at least it was at least an attempt. The problem was that I didnt have a minipod as I am teleporting the smallest unit to myself (loopback test) and this avoids all issues of connecting to another node and hopefully simplifies the test case. It even has a mini-genetic algorithm to find the optimal set of telepods to use for the teleport request, though I am far from having an optimal metric function, at least it should give decent results to give preference to the fewer telepods with the most age.
Anyway, when I teleport to myself, I have to allocate an extra minipod, at least in this scenario. So, just as the teleporter was about to zap the white rabbit across the room, it powers down.
At least I am one step away from finding all the bugs after the telepod gets to the other side.
Just thought you would like to see why I hate debugging. I can code for literally 24+ hours straight, but debugging I usually start to lose focus after just 12 hours. So, now things have to go really well tomorrow to get the rest of the way to complete the teleport, especially as all the partial completion cases need to be dealt with. What to do with half a white rabbit on each side?
James