mvs-org / metaverse

The Metaverse individual chain service ETP coin and immutable data space for Hyperspace.
https://mvs.org
GNU Affero General Public License v3.0
307 stars 122 forks source link

locked out of Metaverse full-node wallet #259

Open cryptickt opened 6 years ago

cryptickt commented 6 years ago

Hello everyone,

I require your help please. On Oct 26/2017, I downloaded the fullnode MAC OSX wallet(version 1.8) from mvs.org, upon creation of the wallet I was able to successfully login and transact with the wallet with no problems whatsoever, I made several deposits within a matter of days and elected to freeze a portion for 180 days and the balance for 360 days. Up until as early as approximately 3 weeks ago I was able to login and view my assets no problem. However today, I deleted wallet version 1.8 and downloaded wallet version MAC OSX 0.7.4. Since the new wallet download today, I have had zero successful logins and have had multiple failed attempts to login with exact same username(username has 2 words, space between the 2 words) and password. I then tried to create a new account with 1 word username, new password, and used 24 word mnemonic words created from version 1.8 wallet (backed up both usb and hard copy) but still no luck, receiving error message "The account cannot be imported WARNING: The specified words are not a valid mnemonic in any supported dictionary." Ive doubled and tripled check the words spelling and the order of the words are all inserted correctly. Sven from metaverse discord chat has helped me try to troubleshoot and still no luck. I have also tried accessing the wallet at https://www.myetpwallet.com/. I created a file using the 24 words, and was able to successfully login to the light wallet, HOWEVER, the address I deposited and froze the ETP is not listed in this wallet, how can this be possible??? All addresses in this wallet has a zero balance under every category, "availability", and "frozen" and in the "HISTORY" there are zero transactions, just like a brand new wallet. I have a significant amount invested into ETP, and I really need some assistance in finding a way to access my wallet with the address that I have the ETP at. Also the wallet was 100% synced with the blockchain. Can someone please help find a solution to this matter? I thank you in advance.

jowenshaw commented 6 years ago

I'm not sure to solve your problem, but give you the following suggestion. I hope it can help you.

1. run ./mvsd to sync all the block height, now more than 900000 blocks
$  ./mvsd

2. use importaccount to import you account
# replace test1 with any account name you want
# replace passwd1 with any account password you want
# replace 10 with the number of hd_index of your old wallet addresses. 
# If not sure, specify a large enough number, like 100 or more.
# replace the 24 words nemonic with your own mnemonics
$  ./mvs-cli importaccount -n test1 -p passwd1 -i 10 tent warfare infant craft away just journey cream pony payment define wedding kitten label burst height document radio actual animal fabric awkward dog insect

3. use the following command to see your balances
# get total balance
$  ./mvs-cli getbalance test1 passwd1
# get non-zero balance on each address 
$  ./mvs-cli listbalances -n test1 passwd1

NOTICE If you can not see your balance, maybe the address number specified at step 2 is small, then you can delete the rightly imported account and re-import account with a more large number of hd_index of wallet addresses.

insect is the last word of your mnemonic ./mvs-cli deleteaccount test1 passwd1 insect

_use 100 instead of 10 to specify the hdindex of wallet addresses ./mvs-cli importaccount -n test1 -p passwd1 -i 100 tent warfare infant craft away just journey cream pony payment define wedding kitten label burst height document radio actual animal fabric awkward dog insect

cryptickt commented 6 years ago

Thank you Jowenshaw, my apologies for the dumb question I am not very good with computer coding, but how would I proceed with trying out your instructions? Any chance you can give me a play by play, where to go, what to open on my laptop to type and replace these instructions in? The fullnode wallet version mac osx 0.7.4 is already 100% synced, currently at block 992361.

cryptickt commented 6 years ago

Sven on Discord Metaverse Development Chat advised me to try to create a brand new account and once there, to go to "Advanced" at top corner, insert command: importaccount -n YOUR_NEW_USERNAME -p YOUR_NEW_PASSWORD -i 10 YOUR_BACKUP_WORDS in the command line.

I clicked on enter and received this message

"{ "error" : { "code" : 1000, "message" : "WARNING: The specified words are not a valid mnemonic in any supported dictionary." } }

NotoriousPyro commented 6 years ago

I believe MVSD generated words based upon BIP39 so you could try validating your words against https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md

I created a new account on my 0.7.3 wallet on Windows PC similar to how you have done it, then reimported with a different name and it worked. Then I tried on a Linux server which is running the latest wallet with the following command and it worked:

importaccount -n "username" -p "password" -i 10 words go here etc

Example of output on Linux:

root@ip-172-31-12-248:/opt/open-ethereum-pool/build/bin# mvs-cli importaccount -n "test456" -p "password" -i 10 my words
{
        "addresses" :
        [
                "MWvsy2fTGTcEdD52SCHR2uYcru8yH1kJAp",
                "MSo3qwMPKaJfuRnDWvaprw75k9coTPjTRz",
                "MF5P7eQvdQ6nrgerLN3QNJVmryjtz8WCkj",
                "MPdLG6Q1cExih2Wcm9WrmcQ6fCm6vyCjK5",
                "MErpqaJ4Wpgctp8jjhzf4FcwkA4t6UhtVY",
                "MSpFWtf69ggxuwM3uRqNLyrUYoxhaY3J6P",
                "MSDMCfpVhFzRDPmsyooemHu6VnDYMRnho6",
                "MR3LS74G43jaPFfoKruYhEzArNHXpY4j8W",
                "MEbKVLXWnAx4ZyYXgDMvhyeYe2wmqehzps",
                "MJuYdrZHKV2QkFHDkQLggLj6zwGLmnQ8a7"
        ],
        "hd_index" : 10,
        "mnemonic" : "my words",
        "name" : "test456"
}

Ensure you aren't entering any special characters and also try a different keyboard, maybe the on-screen keyboard.

You also need 24 words. If you don't have that, then it's going to be tough...

cryptickt commented 6 years ago

Thanks NotoriousPyro, I have verified each and every 24 words with the list on github https://github.com/mvs-org/metaverse/blob/194abdab1917e05721fa6daa90035db7e631cd6c/src/lib/bitcoin/wallet/dictionary.cpp and they all match with correct spelling, as well as being diligent not to include any special characters while inserting the 24 words during the account creation process. This is not my first time attempting to access wallet, the wallet was created back in Oct 2017 and I've been able to login and transact with this wallet on several different occasions, my latest successful login was approximately 3 weeks. I've only experienced this lockout issue since downloading the new mac osx version 0.7.4 yesterday.

NotoriousPyro commented 6 years ago

And this doesn't work either? https://app.myetpwallet.com/#/import-mnemonic

If none of these methods work then there's something else at play. What language is your keyboard and OS set to?

cryptickt commented 6 years ago

YesI did go to https://app.myetpwallet.com/#/import-mnemonic, and created a file with my 24 word backup and was able to successfully login, HOWEVER the address that my ETP is frozen at is not even listed on there, there is zero transactions in the history, zero balances under "available" and "frozen" how is this possible? Same 24 words used during wallet creation on full node back in Oct version 1.8, this is same 24 words for address I used to deposit etp and freeze. I even used text/edit to change the wallet size number from 10 to 25 and then 100 with the file that was created, but still no success. My keyboard language is english, is this what you're asking? It is my mac laptop, mac os high sierra version 10.13.3. I also posted this issue at the lightwallet metaverse github https://github.com/mvs-org/lightwallet/issues/100

NotoriousPyro commented 6 years ago

Okay, I entered a load of junk (not even words) into the "words" for myetpwallet.com and it sent me the wallet file. I was able to login using this wallet.

I sent a small amount of ETP (0.1) to one of the addresses: http://mymvs.info/tx/17dd0f6f5277752ecf86144578a7d924dffb778efcf2c2a80b390d6bc535c9ce

And I can view this fine in myetpwallet.com. However, if I was to try and import these words into the full wallet, I would get the same message as you are seeing.

However, as you state you have verified these words. But I am curious as to why the desktop wallet is saying "WARNING: The specified words are not a valid mnemonic in any supported dictionary."

Can you type the words out in a text document and do they appear the same?

jowenshaw commented 6 years ago

@NotoriousPyro https://github.com/mvs-org/metaverse/blob/master/src/lib/explorer/commands/offline_commands_impl.cpp

line 74 in sunction "get_mnemonic_to_seed", it will call "bw::validate_mnemonic(words, language);" to verify the mnemonic words.

If verify not passed, then it will throw exception saying "WARNING: The specified words are not a valid mnemonic in any supported dictionary."

cryptickt commented 6 years ago

Please correct me if Im wrong, my take away from your latest post is that essentially what you've found is that anyone can go to https://app.myetpwallet.com/#/import-mnemonic, under "create file from backup words" is that you actually don't need backup words at all, all thats needed is to type in 24 words or jibberish and it will still create a file and allow you to login using this file?

The notice on the website clearly states "NOTICE FOR FOR EXISTING MVS WALLET USERS: ON YOUR FIRST LOGIN TO MYETPWALLET.COM, PLEASE CREATE A WALLET FILE FROM YOUR BACKUP WORDS AND THEN OPEN THE WALLET FROM THE FILE. regarding the mnemonic words, yes verified double, triple, quadruple times.... you get the idea... only 1 space between the words, no comma or special characters, written in english text, visible in english text on word document, excel, internet browser etc.

cryptickt commented 6 years ago

@jowenshaw, these 24 words are the exact words from my wallet creation in October 2017, I've only interacted with this 1 wallet EVER, and upon wallet creation it requires that you retype in the 24 words before wallet can be created. The 24 words was valid, thus I was able to create wallet and deposit and freeze etp. Also, subsequent to freezing I have never had even 1 issue with logging in receiving "invalid login credential" message. Yesterday was 1st time and this was after the removal of version 1.8 and installation of 0.7.4. My last successful login was approx 3 weeks ago with version 1.8. I can even prove that the address which i cannot access is mine as the transaction was processed from my exchange account, theres full documentation of tx hash and wallet address there.

I must sound like a broken record right now....

jowenshaw commented 6 years ago

@cryptickt if you know your deposite address or tx hash, you can use the following explorer to have a look at them. https://explorer.mvs.org/#!/

jowenshaw commented 6 years ago

my understanding is that you know your deposit address, and the balance on that address can be explored on the chain.

the real problem is you cannot spend that balance as the following reasons.

  1. your saved mnemonic words can be imported by light wallet(myetpwallet), but cannot be imported by full node wallet.

  2. although light wallet can import your mnemonic words, the imported light wallet can not see your balance and transaction.

and all of this happens after you upgrade your wallet from 1.8(can you reinstall it and import your mnemonic words?) to v0.7.4 recently about 3 weeks ago.

let's first check our understanding of the problem, and then find the way to solve it.

NotoriousPyro commented 6 years ago

I must sound like a broken record right now....

You must understand that it is strange for the Metaverse team (and me as a pool owner who has used the wallet for some time, and with high requirements as pools use lots of wallet queries) to see this behaviour. First we must establish what is going on.

Apart from asking you for your mnemonic (please don't provide this), it can be very hard to replicate this issue.

line 74 in sunction "get_mnemonic_to_seed", it will call "bw::validate_mnemonic(words, language);" to verify the mnemonic words.

Yes, this is why it is very strange that it is reporting a "WARNING: The specified words are not a valid mnemonic in any supported dictionary." if these words are indeed in the list... I see no reason why this is throwing this exception if the words are indeed valid.

cryptickt commented 6 years ago

@jowenshaw your questions

  1. your saved mnemonic words can be imported by light wallet(myetpwallet), but cannot be imported by full node wallet.

  2. although light wallet can import your mnemonic words, the imported light wallet can not see your balance and transaction.

and all of this happens after you upgrade your wallet from 1.8(can you reinstall it and import your mnemonic words?) to v0.7.4 recently about 3 weeks ago.

my answers

  1. yes, thats correct, however NotoriousPyro did indicate in comments above that he was able to create file with "junk, not even words" and successfully login and use wallet. My question regarding this is if MVS current wallet users are told to "create file from backup words", to login for 1st time, how can NotoriousPyro be successful in creating file with "junk, not even words" if the words are supposed to be from the https://github.com/mvs-org/metaverse/blob/194abdab1917e05721fa6daa90035db7e631cd6c/src/lib/bitcoin/wallet/dictionary.c.

  2. yes, lightwallet cannot view previous balance and transaction, and doesn't include my address which the frozen ETP is at. Yes, this occurred on Friday morning March 2nd, 2018 after I deleted wallet version 1.8 and installed mac osx version 0.7.4. I attempted to recover version 1.8 by going into my external HD to import version 1.8 wallet to desktop, however the wallet will NOT SYNC, tried leaving laptop on for few hours, and not even 1% sync. It literally is stagnant, no syncing whatsoever.

cryptickt commented 6 years ago

@NotoriousPyro

I completely understand your point of view. its mind boggling... my 24 word backup are all spelled and typed in correctly with 1 space in between, they are all on the list at the link below, and verified multiple times. https://github.com/mvs-org/metaverse/blob/194abdab1917e05721fa6daa90035db7e631cd6c/src/lib/bitcoin/wallet/dictionary.cpp I speak and write english and am not tech savvy however I do know how to create wallets as I have few other coins.

Im just sharing my experiences here in hopes that the Metaverse full node development team and or others may be able to help resolve this issue.

NotoriousPyro commented 6 years ago

MVS current wallet Please note I used myetpwallet.com to do this, not the full wallet.

I would try syncing the current version, then install the old wallet and point it to the data for the blockchain synced by 0.7.4.

NotoriousPyro commented 6 years ago

Can you try this version: http://newmetaverse.org/mvs-download/mvs-macOSX-database-x86_64-v0.7.1.pkg

cryptickt commented 6 years ago

Ok i just installed this version below as per NotoriousPyro recommendation http://newmetaverse.org/mvs-download/mvs-macOSX-database-x86_64-v0.7.1.pkg

installation is complete, however its not syncing... yet... will give it some time to see if it will start syncing, right now its still at 0%, albeit its been only 5mins since the installation was completed.

NotoriousPyro commented 6 years ago

There are other ways we can get it to sync (or try to), but for now see what it does. I can provide a fully synced blockchain if you can't do it.

cryptickt commented 6 years ago

This is current screenshot after installation of mac osx 0.7.1, notice bottom right hand corner doesn't display version number.

image

NotoriousPyro commented 6 years ago

If you have a .metaverse folder in your user's home directory, try renaming this then reopening mvsd.

Open mvsd via command line with: ./mvsd

cryptickt commented 6 years ago

This is a screenshot I posted in Dicord Metaverse Development chat on Friday evening of current version 0.7.4 full node wallet, it shows the latest wallet mac version 0.7.4 on bottom right hand corner. I tried logging in with usual username and password but received "invalid login credentials" message, so I attempted to create a new account with 24 word backup, attached is screenshot of the webpage where I would start this process. However, shouldn't there be an additional blank space that would read something like "retype password to confirm" beneath "enter your password"?

image

FYI: ETP is NOT my username, my username is 2 words with 1 space in between the words.

NotoriousPyro commented 6 years ago

If you're using a username with two words, then please try using importaccount and enclose the username with quotes. This may be why you are getting that error.

I would also try with a single username. But if you can rename the .metaverse folder and resync the old version, then try again - it may work.

cryptickt commented 6 years ago

Update on installation of mac version 0.7.1

I believe the wallet has started to sync on its own as I notice the blocks increasing after I refreshed the page. Referring back to the original screenshot of version 0.7.1 it did NOT have any "block numbers" on top. Screenshot below now displays "blocks" at top. I also noticed that the bottom right hand corner doesn't display sync bar or version anymore...

image

NotoriousPyro commented 6 years ago

OK wait for full sync then try to import the account. Good luck.

cryptickt commented 6 years ago

@NotoriousPyro and @jowenshaw Very much appreciate your efforts to help, if I can reclaim access to my wallet I certainly wont forget your gracious efforts in assisting me.

NotoriousPyro commented 6 years ago

There's only two password fields if you're creating a new account.

cryptickt commented 6 years ago

OK yes, I was mistaken as the 2 password fields only appear if you attempt to register as a new user, when I click the box to import from private key, the 2nd field to retype password to confirm is gone.

cryptickt commented 6 years ago

blockchain fully synced on mac wallet version 0.7.1, went to login with user and password, received "invalid login credentials" message, went to create new account by importing private key, new 1 word username and password, used "100" for number of wallet addresses, received "The account cannot be imported the argument ('WARNING:') is invalid" message

cryptickt commented 6 years ago

ok this is unreal... I just tried creating a brand new account with my old username to test what the result would be and it allowed me to create one, how is this possible if this username has already been registered and attached to a wallet with funds in there??

NotoriousPyro commented 6 years ago

It's beta software. You shouldn't have done that, especially with an old version.

NotoriousPyro commented 6 years ago

Also, you don't need the username and password to retrieve from the mnemonic phrase. You're creating a new login each time you recover from a mnemonic.

Accounts are specific to the machine the wallet is on.

cryptickt commented 6 years ago

@NotoriousPyro, what does this mean now?

NotoriousPyro commented 6 years ago

I have no idea. I've never done that before. I would try removing the accounts and re-add the one with funds.

cryptickt commented 6 years ago

not sure I understand, I cant login to the original wallet that I created in Oct containing the ETP, so i tried creating wallet using backup words with new 1 word username and password, however it gave me this message "The account cannot be imported the argument ('WARNING:') is invalid"

So then I tried to create brand new account without using backup words with old username connected to wallet with ETP, as a test...and it allowed me to create brand new wallet with this username... how??

So now Im really not sure how to remove this brand new account and re-add the existing one that Im trying to get into as per your advice

NotoriousPyro commented 6 years ago

I'm not sure how much more I can help here.

Accounts and passwords are specific to the computer you import the account on. The account name and password has no bearing on what your account is doing on the blockchain, just that you can login to that account on your PC.

It is no surprise you can create a new account with the old account name because the old account existed on the version you had installed, then lost. The new account you just created has a different mnemonic so a different key. The actual account access is based on mnemonics which translates into a private key. The private key allows you to perform actions on your wallets.

You could create an account called xyz and be returned 24 words.

Then reimport that account on another PC with name abc with the same 24 words.

You can also import the same account with a different name on the same PC and same 24 words and you will have two accounts with the same wallets. The account name is irrelevant except to login to a currently imported account.

I'm at a loss what to tell you if none of these versions work. I can only think that the words you have aren't the ones you started with or that you created multiple accounts and then copied the mnemonic from the wrong wallet...

cryptickt commented 6 years ago

thanks for taking the time to help!

I can tell you with 100% certainty that Ive only ever created 1 wallet with the same 24 words, I copy and pasted this onto a word doc, and saved to usb, also as added measure I wrote this down and have compared both copies... they're identical. Ive only ever transacted with this one address as upon wallet creation I sent a small amount of ETP from my bitfinex account as a test, once I verified that this transaction was confirmed I proceeded to deposit the balance from bitfinex into this wallet, once successfully transferred and confirmed I was able to lock the ETP up. Ever since then I have not conducted any more transactions and have only logged into the wallet from time to time just for a gander.... this purely cannot be a coincidence that I was able to access wallet 3 weeks ago before updated version, and now I cannot.

jowenshaw commented 6 years ago

@cryptikt We may need you type some commands to check the results. I hope you can use the Terminal to run these commands. Though it's not so easy as double click startup icon and query on a browser, using Terminal is more robust and informative.

firstly, open a Terminal and run

mvsd

to start the wallet service, you will see the scrolling message of sync information and other information. if report mvsd: command not found, you should find out the real directory mvsd is installed, and use cd command to go to that directory, and run ./mvsd.

then, open another Terminal and run

mvs-cli getinfo

to send client request to the wallet server. you will see the response from the wallet server. you can send more requests by calling mvs-cli and see the corresponding response.

I hope you have no problem to do the above steps.


now, suppose mvsd is running. let's run some client commands to see your result. (when you give your result, do not provide your username, password and mnemonic, use a pseudonym instead)

firstly, let's see whether your old account is still accessible. run

mvs-cli getbalance "your old username" "your old password"

NOTICE: keep the quotation mark, the terminal support it. remember the command input in the advance tabpage through browser does not support this, it will consider quotation mark as normal character.

if the above one report error, then let's try import account through mnemonic. run

mvs-cli importaccount -n new-one-word-username -p new-password-without-spaces -i 100 your-saved-mnemonic

you can also look the logs in the log file to find more information of the wallet server. the log file is in the directory: ~/Library/Application Support/Metaverse advise you backup this whole directory though it's very large

cryptickt commented 6 years ago

@jowenshaw,

Thanks for taking the time to write up these instructions, thing is that I don't know how to use terminal whatsoever, its so frustrating as you and @NotoriousPyro are really trying to help me, however without the tech knowledge Im not sure how I would be successful in attempting these instructions.

jowenshaw commented 6 years ago

@cryptickt Don't be frustrating. The Terminal is already inside your macosx system. use the following way to find and open it, just click the corresponding icon step by step.

Launchpad -> Utilities -> Terminal or ref http://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line

cryptickt commented 6 years ago

Verified mnemonic seed again at https://github.com/mvs-org/metaverse/blob/194abdab1917e05721fa6daa90035db7e631cd6c/src/lib/bitcoin/wallet/dictionary.cpp

Both my copy and pasted word doc on USB, and handwritten hard copy are identical to each and every 24 word, verified character by character.

Is there a chance that there is coding issue with the wordlist.

luozhaohui commented 5 years ago

@cryptickt There are similar words on the wordlist, such as "food", "good", "hood" or "open", "often". Could you replace some words like these and retry?

cryptickt commented 5 years ago

I just found 2 folders in my library under applications support. It is a metaverse backup, I'm assuming of my wallet from version 0.7.1 ./metaverse.backup 14GB and another ./metaverse file for 7GB. Can someone please help? I'm not sure what to do now, I'm assuming I have to download the new macosx metaverse wallet and import a backup file, which I do now have, except I do not know how to make this a file to import.