creating2morrow / neveko

full-stack privacy application with enciphered messaging, monero multisig and built-in i2p marketplace
http://neveko.i2p
MIT License
29 stars 3 forks source link

cannot open wallet after it is created - invalid_password #23

Closed snex closed 9 months ago

snex commented 1 year ago

After startup, the app seems to properly create the wallet file, but the rpc client cannot connect to it afterwards.

From the log output:

2023-06-21T20:26:54.973831Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.973832Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.974338Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.974339Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.974552Z DEBUG hyper::proto::h1::io: flushed 400 bytes
2023-06-21T20:26:54.974551Z DEBUG hyper::proto::h1::io: flushed 510 bytes
2023-06-21T20:26:54.974791Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:54.974810Z DEBUG hyper::proto::h1::conn: incoming body is content-length (103 bytes)
2023-06-21T20:26:54.974850Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:54.974971Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:54.975128Z DEBUG neveko_core::monero: get_version response: Ok(XmrRpcVersionResponse { result: XmrRpcVersionResult { version: 65562 } })    
2023-06-21 20:26:58.707 E portable_storage: wrong binary format - signature mismatch
2023-06-21 20:26:58.707 E !r. THROW EXCEPTION: error::invalid_password
2023-06-21T20:26:58.710331Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:58.710366Z DEBUG hyper::proto::h1::conn: incoming body is content-length (115 bytes)
2023-06-21T20:26:58.710435Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.710605Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.711068Z DEBUG neveko_core::monero: open_wallet response: Ok("{\r\n  \"error\": {\r\n    \"code\": -1,\r\n    \"message\": \"Failed to open wallet\"\r\n  },\r\n  \"id\": \"0\",\r\n  \"jsonrpc\": \"2.0\"\r\n}")    
2023-06-21T20:26:58.711764Z  INFO neveko_core::monero: executing get_address    
2023-06-21T20:26:58.791446Z DEBUG reqwest::connect: starting new connection: http://localhost:38083/    
2023-06-21T20:26:58.791832Z DEBUG hyper::client::connect::dns: resolving host="localhost"
2023-06-21T20:26:58.792081Z DEBUG hyper::client::connect::http: connecting to 127.0.0.1:38083
2023-06-21T20:26:58.792512Z DEBUG hyper::client::connect::http: connected to 127.0.0.1:38083
2023-06-21T20:26:58.793137Z DEBUG hyper::proto::h1::io: flushed 193 bytes
2023-06-21T20:26:58.793553Z DEBUG hyper::proto::h1::io: parsed 7 headers
2023-06-21T20:26:58.793587Z DEBUG hyper::proto::h1::conn: incoming body is content-length (98 bytes)
2023-06-21T20:26:58.793662Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.793865Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.794507Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.794776Z DEBUG hyper::proto::h1::io: flushed 429 bytes
2023-06-21T20:26:58.795047Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:58.795068Z DEBUG hyper::proto::h1::conn: incoming body is content-length (109 bytes)
2023-06-21T20:26:58.795113Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.795224Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.795378Z DEBUG neveko_core::monero: get_address response: Err(reqwest::Error { kind: Decode, source: Error("missing field `result`", line: 8, column: 1) })    
2023-06-21T20:26:58.796207Z  INFO neveko_core::monero: executing get_balance    
2023-06-21T20:26:58.877866Z DEBUG reqwest::connect: starting new connection: http://localhost:38083/    
2023-06-21T20:26:58.878008Z DEBUG hyper::client::connect::dns: resolving host="localhost"
2023-06-21T20:26:58.878342Z DEBUG hyper::client::connect::http: connecting to 127.0.0.1:38083
2023-06-21T20:26:58.878559Z DEBUG hyper::client::connect::http: connected to 127.0.0.1:38083
2023-06-21T20:26:58.879041Z DEBUG hyper::proto::h1::io: flushed 252 bytes
2023-06-21T20:26:58.879370Z DEBUG hyper::proto::h1::io: parsed 7 headers
2023-06-21T20:26:58.879405Z DEBUG hyper::proto::h1::conn: incoming body is content-length (98 bytes)
2023-06-21T20:26:58.879477Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.879636Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.880159Z DEBUG hyper::client::pool: reuse idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.880332Z DEBUG hyper::proto::h1::io: flushed 488 bytes
2023-06-21T20:26:58.880501Z DEBUG hyper::proto::h1::io: parsed 5 headers
2023-06-21T20:26:58.880524Z DEBUG hyper::proto::h1::conn: incoming body is content-length (109 bytes)
2023-06-21T20:26:58.880560Z DEBUG hyper::proto::h1::conn: incoming body completed
2023-06-21T20:26:58.880658Z DEBUG hyper::client::pool: pooling idle connection for ("http", localhost:38083)
2023-06-21T20:26:58.880791Z DEBUG neveko_core::monero: get_balance response: Err(reqwest::Error { kind: Decode, source: Error("missing field `result`", line: 8, column: 1) })    
2023-06-21T20:26:58.881707Z  INFO neveko_core::monero: executing close_wallet    
creating2morrow commented 1 year ago

Hi @snex! Thanks for reporting this. Looks familiar but having some trouble duplicating. Are you able to delete $HOME/.neveko and try again? On the initial app startup wallet gets set to password from gui or by the environment variable MONERO_WALLET_PASSWORD if running from terminal. If that is empty it is just 'password'. Still need to add the update_wallet_password functionality to neveko if no initial password is set when running from the command line. A separate issue (#24) has been created for updating wallet password from the app.

snex commented 1 year ago

Deleting ~/.neveko and starting from scratch was the first thing I tried, and got the same result.

If you are interested - I have a fully functioning monero payment gateway that does all this wallet stuff for you as well in my repos. It has a vastly simplified interface for handling invoices and such.

Are you in the I2P IRC? If so, consider creating a channel for this project. Would make discussing issues much easier in real time!

creating2morrow commented 1 year ago

Deleting ~/.neveko and starting from scratch was the first thing I tried, and got the same result.

If you are interested - I have a fully functioning monero payment gateway that does all this wallet stuff for you as well in my repos. It has a vastly simplified interface for handling invoices and such.

Are you in the I2P IRC? If so, consider creating a channel for this project. Would make discussing issues much easier in real time!

joining the issues channel in the irc now.

creating2morrow commented 1 year ago

Duplicated the error in a fresh debian server. It only happens on the initial server launch but works with retry. Still trying to determine the cause.

creating2morrow commented 9 months ago

df8372166e46f1baf4c5da0ad24f26b50a4037f1