Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Wallet to use V3 Onion Addresses #30

Open
ckti opened this issue Aug 3, 2021 · 11 comments
Open

Update Wallet to use V3 Onion Addresses #30

ckti opened this issue Aug 3, 2021 · 11 comments
Assignees
Labels
enhancement New feature or request

Comments

@ckti
Copy link
Collaborator

ckti commented Aug 3, 2021

Migration from v2 onion to v3 onion is necessary for Tor integration to continue to work This is a backward incompatible change: v2 onion services will not be reachable after September 2021.

In July 2021, 0.4.6 Tor will no longer support v2 and support will be removed from the code base.
In October 2021, we will release new Tor client stable versions for all supported series that will disable v2.

You can read more in the Tor Project's blog post Onion Service version 2 deprecation timeline

@ckti ckti added the enhancement New feature or request label Aug 3, 2021
@ckti ckti self-assigned this Aug 3, 2021
@ckti
Copy link
Collaborator Author

ckti commented Aug 3, 2021

Can now use new v3 addresses

{   "version": 5009900,   "subversion": "/Ion Core:5.0.99/",   "protocolversion": 96003,   "localservices": "0000000000000405",   "localrelay": true,   "timeoffset": 0,   "networkactive": true,   "connections": 0,   "socketevents": "epoll",   "networks": [     {       "name": "ipv4",       "limited": false,       "reachable": true,       "proxy": "",       "proxy_randomize_credentials": false     },     {       "name": "ipv6",       "limited": false,       "reachable": true,       "proxy": "",       "proxy_randomize_credentials": false     },     {       "name": "onion",       "limited": false,       "reachable": true,       "proxy": "127.0.0.1:9050",       "proxy_randomize_credentials": true     }   ],   "relayfee": 0.00010000,   "incrementalfee": 0.00001000,   "localaddresses": [     {       "address": "63nct6lroup3but74m4c6zn7gxzyyiamu7vloz2pwlsatdopemmbcnqd.onion",       "port": 12702,       "score": 4     }   ],   "warnings": "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications" }

@ckti
Copy link
Collaborator Author

ckti commented Aug 3, 2021

Unable to sync with existing network, getting the following error of Local Services being 0x00000001

2021-08-03 10:39:27 Added connection peer=3
2021-08-03 10:39:27 CConnman::OpenNetworkConnection -- succesfully connected to new peer, sock=57, peer=3
2021-08-03 10:39:27 send version 2 message: pnode->nVersion 0 
2021-08-03 10:39:27 sending version (153 bytes) peer=3
2021-08-03 10:39:27 sending version (186 bytes) peer=3
2021-08-03 10:39:27 send version message: version 96003, blocks=1222229, us=[::]:0, peer=3
2021-08-03 10:39:27 received: version (135 bytes) peer=3
2021-08-03 10:39:27 Received Version 96002
2021-08-03 10:39:27 Received Services 61091cdf00000000
2021-08-03 10:39:27 Services 61091cdf00000000
2021-08-03 10:39:27 Services 6992151640572690432
2021-08-03 10:39:27 Services 6992151640572690432
2021-08-03 10:39:27 peer=3 does not offer the expected services (61091cdf00000000 offered, 00000001 expected); disconnecting
2021-08-03 10:39:27 Services 6992151640572690432
2021-08-03 10:39:27 sending reject (45 bytes) peer=3
2021-08-03 10:39:27 ProcessMessages(version, 135 bytes) FAILED peer=3
2021-08-03 10:39:27 disconnecting peer=3
2021-08-03 10:39:27 ThreadSocketHandler -- removing node: peer=3 nRefCount=1 fInbound=0 fMasternode=0
2021-08-03 10:39:27 Cleared nodestate for peer=3

@ckti
Copy link
Collaborator Author

ckti commented Aug 3, 2021

Tor nodes under V3 are seen as well

2021-08-03 11:03:18 CConnman::OpenNetworkConnection -- ConnectNode failed for new peer
2021-08-03 11:03:19 Services 1
2021-08-03 11:03:19 CConnman::OpenNetworkConnection -- connecting to new peer
2021-08-03 11:03:19 trying connection lastseen=248.1hrs
2021-08-03 11:03:19 SOCKS5 connecting 5jnxtpa2pnkgbnmeico66zcep4aaaoilfzsek7yaaayj333eir7qaafe.onion
2021-08-03 11:03:19 SOCKS5 sending proxy authentication 1922:1922
2021-08-03 11:03:19 Socks5() connect to 5jnxtpa2pnkgbnmeico66zcep4aaaoilfzsek7yaaayj333eir7qaafe.onion:12700 failed: general failure
2021-08-03 11:03:19 CConnman::OpenNetworkConnection -- ConnectNode failed for new peer
2021-08-03 11:03:19 Services 1

@ckti
Copy link
Collaborator Author

ckti commented Aug 3, 2021

Here's the connection node -> node notice the missing info: Version, User Agent and Services
ion ov3

@ckti
Copy link
Collaborator Author

ckti commented Aug 4, 2021

Now getting blocks from ipv4/ipv6 clients but am missing User Agent from onion connections
image

@ckti
Copy link
Collaborator Author

ckti commented Aug 5, 2021

Block retrieval stops at block 1760267
image

@ckti
Copy link
Collaborator Author

ckti commented Aug 5, 2021

In Information section the correct User Agent shows up
image

@ckti
Copy link
Collaborator Author

ckti commented Aug 7, 2021

Found where the version is decrypted so now have the correct version being received but there is a stop on the blockchain in block 1760267 and onion nodes are all coming back with v3 addresses when they should be v2 addresses

@ckti
Copy link
Collaborator Author

ckti commented Aug 7, 2021

Other nodes see the new client like this (including user agent)
image

@ckti
Copy link
Collaborator Author

ckti commented Aug 8, 2021

Got it to recognize the difference between V2 and V3 Onion addresses now but have lost the User Agent again

@ckti
Copy link
Collaborator Author

ckti commented Aug 9, 2021

i keep stalling out on block 1760267 and found //1760268 (actual=1 vs limit=35000000 in masternode-payments.cpp don't think this is a co-incidece

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant