Bitcoin Forum

Other => Beginners & Help => Topic started by: protrader786 on January 05, 2020, 01:26:45 AM



Title: Where to use .json file ?
Post by: protrader786 on January 05, 2020, 01:26:45 AM
Hello,

Today i downloaded a wallet backup from a website, the extension to it was ".json". There was no program in my computer that could open this file.

I think if i used a desktop wallet, i could load it or import or something like that from what i read.

Does it have the backup phrases inside it like i got when i first started trezor ? Or does it have private key which if i load in block chain then loads my receiving address? What exactly is in it and is it mandatory for me to use a desktop wallet to load and look into it ?

EDIT

The admin swiftly replied that :

The JSON file isn't compatible with any other wallet software yet.

It currently can only be used by somebody with some technical/coding experience.

The format of the backup file and the mechanism used to calculate addresses is described in detail @ https://whitepaper.localethereum.com/#sec-Ratcheting-addresses


Title: Re: Where to use .json file ?
Post by: hatshepsut93 on January 05, 2020, 01:57:01 AM
You should specify which website and coin are you talking about, without it no one can help you to fully solve your problem.

Json is a human-readable data format, so you can open it with any text editor, like Notepad on Windows - maybe it has private keys in raw format that you can import. Off the top of my head, Ethereum wallets often use json files for storing private keys, is this the case? Are we talking about Ethereum wallet? If so, you can use MEW or Metamask or any Ethereum desktop wallet to open your wallet file.


Title: Re: Where to use .json file ?
Post by: ChuckBuck on January 05, 2020, 02:06:40 AM
Hello,

Today i downloaded a wallet backup from a website, the extension to it was ".json". There was no program in my computer that could open this file.

I think if i used a desktop wallet, i could load it or import or something like that from what i read.

Does it have the backup phrases inside it like i got when i first started trezor ? Or does it have private key which if i load in block chain then loads my receiving address? What exactly is in it and is it mandatory for me to use a desktop wallet to load and look into it ?

Is it Bitcoin wallet?
There is another way much easier. Go back to that website and use your json file, then get the private key from it. Get the private key and download a wallet, example: Electrum. Final, import your private key to Electrum. It's easy to use  ;)


Title: Re: Where to use .json file ?
Post by: Insanerman on January 05, 2020, 03:19:17 AM
It look like you are referring to a Keystore/JSON file which is an encrypted version of your private key or simply your private key. I first encountered JSON file when I was creating my webwallet in MEW but I did not bother opening it using a text editor since I know I will not understand whats in it. You can use JSON file in MEW by accessing your wallet by clicking Keystore/JSON file.

I do not know if btcwallet are using json file other than eth wallet. I also haven't used trezor. :(


Title: Re: Where to use .json file ?
Post by: HCP on January 05, 2020, 04:12:22 AM
Does it have the backup phrases inside it like i got when i first started trezor ? Or does it have private key which if i load in block chain then loads my receiving address? What exactly is in it and is it mandatory for me to use a desktop wallet to load and look into it ?
It depends on the website you downloaded it from. There is no "standard" format for what a wallet will put in their wallet file... it might have your backup phrase... or it might have the xprv or private keys.

Where exactly did you download it from and what wallet was it for? ???


I do not know if btcwallet are using json file other than eth wallet. I also haven't used trezor. :(
Blockchain.com (aka Blockchain.info) wallets use the .json file format for backups. (it'll be downloaded as wallet.aes.json)... They even have a decryption tool available: https://github.com/blockchain/my-wallet-backup-decryption-tool
and a wallet import feature available here: https://login.blockchain.com/wallet/import-wallet



Title: Re: Where to use .json file ?
Post by: protrader786 on January 05, 2020, 05:24:19 AM
It was downloaded from localcryptos.com

I have deposited both BTC and Eth there, so i am unsure about which wallet it belongs to or maybe both? While depositing or withdrawing we can select which crypto we are going forward with alike but while downloading this key there is no such option. So i assume maybe both btc and eth or might be for btc only.

Edit: Like suggested, i forced opened it in notepad, it does have private key for both the wallets, BTC and eth in the format

Quote
[{"token":"ETH","export":{"wallet_version":"1.0","timestamp":},"first_address":{"address":"","wallet_address_n":},"chain_private_key":""},{"token":"BTC","export":{"wallet_version":"1.0","timestamp""},"first_address":{"address":"","wallet_address_n":0},"chain_private_key":""}]


Title: Re: Where to use .json file ?
Post by: pooya87 on January 05, 2020, 05:50:23 AM
Edit: Like suggested, i forced opened it in notepad, it does have private key for both the wallets, BTC and eth in the format

if they are private keys then you can use them to import in any other wallet and recover your funds in case something happened to the website and/or you could no longer access it. but there is a couple of things that you need to consider.
1. if the keys are single private keys then you need to keep getting a backup from the site for each new address you create. otherwise if it is an extended master key that is used by BIP32 (it should start with xprv) or a seed phrase (a set of words usually 12 or 24 words) then in these 2 cases you have to also know the derivation path in order to be able to recover your funds using another wallet. for that you have to ask the site to tell you which path they use.
example private key: https://en.bitcoin.it/wiki/Private_key#Base58_Wallet_Import_format
example master key: https://en.bitcoin.it/wiki/BIP_0032#Test_Vectors
example mnemonic: https://en.bitcoin.it/wiki/Seed_phrase#Example
2. if you want to store this as a backup you might want to consider encrypting it because without encryption anybody (like a malware) can just open the file and steal your funds. see if the site offers any encryption option for the backup. and also make sure you can decrypt it locally.
3. consider not using a website as your wallet! use desktop wallets as they have a much higher security.


Title: Re: Where to use .json file ?
Post by: Chikito on January 05, 2020, 06:19:22 AM
Edit: Like suggested, I forced opened it in notepad, it does have the private key for both the wallets, BTC and eth in the format chain priv key-wallet address.
I tried to get .json file by sign up.
Code:
"chain_private_key":"9b4cce7ae452b9596aca82d6ae368d50edc5906e648daff4bcc4bbb0bea667c7"}]
I am not sure, Look like that's HEX private key insert there.
You have to use https://www.bitaddress.org/ [offline], insert code in Enter Private Key box and click view detail to know WIF private key and uncompressed Private key WIF below.
dwyor


Title: Re: Where to use .json file ?
Post by: nc50lc on January 05, 2020, 07:01:22 AM
I tried to get .json file by sign up.
Code:
"chain_private_key":"9b4cce7ae452b9596aca82d6ae368d50edc5906e648daff4bcc4bbb0bea667c7"}]
I am not sure, Look like that's HEX private key insert there.
I've tried this by importing the "p2sh-p2wpkh:compressed private key" to Electrum and it restored a different address than the specified "1st address".
It seems to be using "chain_private_key" as a master key or something.

I'm gonna do some more tests to be sure.

@protrader786 Just export the private key of your addresses from localcryptos' wallet tab by clicking the ⬇️ icon in each of your (funded) addresses on both Ethereum and Bitcoin wallet, one at a time.
Then you can import those keys to a desktop or hardware wallet.


Title: Re: Where to use .json file ?
Post by: nakamura12 on January 05, 2020, 07:09:15 AM
Since you did not give information on what site you used to download that .json file. So, i'll set myetherwallet as an example where it is the same file extension. After downloading the .json file you can use it on myetherwallet to access your wallet if you want to make a transaction or just checking your balance. The file .json contains your wallet's private key. Tried opening using a program that supports opening .json file extension.


Title: Re: Where to use .json file ?
Post by: pooya87 on January 05, 2020, 07:25:07 AM
I tried to get .json file by sign up.
Code:
"chain_private_key":"9b4cce7ae452b9596aca82d6ae368d50edc5906e648daff4bcc4bbb0bea667c7"}]
I am not sure, Look like that's HEX private key insert there.
I've tried this by importing the "p2sh-p2wpkh:compressed private key" to Electrum and it restored a different address than the specified "1st address".
It seems to be using "chain_private_key" as a master key or something.

I'm gonna do some more tests to be sure.

if that hexadecimal string is the private key part of the extended private key then it is useless without having access to the other part that is the 32 byte chaincode since it is built by having the seed (ie. the entropy used to generate the extended key) and it is not something that could be reversed. you can neither derive child keys nor the parent.


Title: Re: Where to use .json file ?
Post by: protrader786 on January 05, 2020, 07:34:28 AM
I tried to import it too, i got a different address.


Title: Re: Where to use .json file ?
Post by: nc50lc on January 05, 2020, 07:46:39 AM
This is what's written on their FAQ page about the wallet backup:
If you forget your password or if LocalCryptos were to ever go offline for some reason - you can still access your wallet using this backup.
Unfortunately, the tools for interacting with the backup file are limited and complex. We are planning to publish more tools shortly which can be used offline to recover wallets from backup files.
I can't find the "tools" that they're talking about but they mentioned that it's a full backup of the wallet.
They didn't disclose what tool to use and the term "chain_private_key" which is used by LBC too.

I tried to import it too, i got a different address.
Just export them one by one (procedure above - post#9) and import to Electrum with "p2sh-p2wpkh:" before each of the private keys. Eg:
p2sh-p2wpkh:L4QDqo4qB4CWFo9JZseryeS98NkCQM7YDvmQ..._PrvKey2
p2sh-p2wpkh:L4QDqo4qB4CWFo9JZseryeS98NkCQM7YDvmQ..._PrvKey1


Title: Re: Where to use .json file ?
Post by: Pmalek on January 05, 2020, 08:20:46 AM
Since you did not give information on what site you used to download that .json file.
That mystery has already been solved. OP said that the JSON file is from localcryptos.com

It was downloaded from localcryptos.com
People are now trying to figure out what kind of data is stored on the JSON file. localcryptos.com claims that it is a full backup but simply restoring it doesn't work as it created a different address.   


Title: Re: Where to use .json file ?
Post by: protrader786 on January 05, 2020, 09:04:24 AM
So i made a new deposit and did a couple of trades, i downloaded the .JSON file again, when i loaded it i got a different address. They have also not particularly specified where and how to properly import this. I have mailed them and waiting for a response for the same.

I have used a vanity generator, it gives 1 private key and when i load it it gives 1 single address.

In trezor i am free to use the same address again and again or create a new one and the passphrase is same for all.

In this file it loads a different thing every time we perform different actions and download it.



Title: Re: Where to use .json file ?
Post by: nc50lc on January 06, 2020, 08:21:20 AM
The format of the backup file and the mechanism used to calculate addresses is described in detail @ https://whitepaper.localethereum.com/#sec-Ratcheting-addresses
So they described it as "Ratcheting Addresses".
It's possible to retrieve all of your future private keys even without a specifically designed tool and technical knowledge but that includes trusting online tools for HMAC-SHA256 calculation and HEX to WIF private key generator like bitaddress.org or walletGenerator.net.

To try the online workaround (use a no-balance account for testing):
  • Go to http://extranet.cryptomathic.com/hmaccalc/index and tick "enter as HEX:", then paste your "chain_private_key"
  • On the "Key:" box, enter 0001 if you want to restore "wallet_address_n":0 or first address, 0002 for the next and so forth.
  • Change "MD5" to "SHA-256" then click "Calculate" and copy the result.
  • Go to either walletgenerator.net or bitaddress.org, go to the "wallet details" tab and paste the result from the previous step.
  • Now copy the "Private Key WIF Compressed" that starts with either 'L' or 'K'
  • Import it to Electrum with "p2wpkh-p2sh:" like my examples from the previous posts.

Sample:
localcryptos-wallet-2020-01-05.json:
Code:
-snip-
{"wallet_version":"1.0","timestamp":1578206602},
"first_address"{"address":"3Bx4QFVg4FHRaP1cGGFgmsFicC3t89ij6C","wallet_address_n":0},
"chain_private_key":"e93f3f200b171947f6e32509be963998024245065e0fe737478ca3e75af822eb"}]
[HEX Private key] HMAC-SHA256 of "chain_private_key" with 0001 as Key:
Code:
d644eaad7ac156066f5d73202cdea7b2d79c141f9dd8c655afa8fac5da2973e4
WIF Private key:
Code:
p2wpkh-p2sh:L4QDqo4qB4CWFo9JZseryeS98NkCQM7YDvmQdbkAhCaqYocrMLrM
Electrum Nested Segwit Address:
Code:
3Bx4QFVg4FHRaP1cGGFgmsFicC3t89ij6C

Note: It's up to you to trust those tool or find a more trusted alternative,
or code a tool yourself / pay for a coder, the algorithm isn't complicated.


Title: Re: Where to use .json file ?
Post by: Chikito on January 06, 2020, 10:39:25 AM
To try the online workaround (use a no-balance account for testing):
Go to http://extranet.cryptomathic.com/hmaccalc/index

Tested, and  My test localcryptos wallet corrected use that's a tool.

Code:
[{"token":"ETH","export":{"wallet_version":"1.0","timestamp":1578231199},"first_address":{"address":"0xfd5884500a82e5a67965affe383147c0057d3c3a","wallet_address_n":0},"chain_private_key":"41be3f58e9d2a8c318a3d42e3cf74b1bbb2461c6a1f5625bf5b993078d8f156e"},{"token":"BTC","export":{"wallet_version":"1.0","timestamp":1578231199},"first_address":{"address":"33pYjLrpo4rybuQKCooWgH5sBhKWgXSNW9","wallet_address_n":0},"chain_private_key":"9b4cce7ae452b9596aca82d6ae368d50edc5906e648daff4bcc4bbb0bea667c7"}

Maybe this tool can resolve trouble like this: https://www.reddit.com/r/Electrum/comments/bec22p/potential_loss_of_funds_if_import_uncompressed/ ?



Title: Re: Where to use .json file ?
Post by: nc50lc on January 06, 2020, 11:05:33 AM
Maybe this tool can resolve trouble like this: https://www.reddit.com/r/Electrum/comments/bec22p/potential_loss_of_funds_if_import_uncompressed/ ?
Sadly it can't, that's a totally different issue about the older versions of Electrum (or other wallet) that can import uncompressed private key and generate SegWit address from it.
When the user try to create a transaction, he will find out that it wont be accepted by nodes as it's non-standard.
The only solution to that (off-topic) problem is to directly send the signed RAW transaction to a mining node (eg. Solo miner or a pool) and include it to a block.


Title: Re: Where to use .json file ?
Post by: protrader786 on January 06, 2020, 04:43:41 PM
The format of the backup file and the mechanism used to calculate addresses is described in detail @ https://whitepaper.localethereum.com/#sec-Ratcheting-addresses
So they described it as "Ratcheting Addresses".
It's possible to retrieve all of your future private keys even without a specifically designed tool and technical knowledge but that includes trusting online tools for HMAC-SHA256 calculation and HEX to WIF private key generator like bitaddress.org or walletGenerator.net.

To try the online workaround (use a no-balance account for testing):
  • Go to http://extranet.cryptomathic.com/hmaccalc/index and tick "enter as HEX:", then paste your "chain_private_key"
  • On the "Key:" box, enter 0001 if you want to restore "wallet_address_n":0 or first address, 0002 for the next and so forth.
  • Change "MD5" to "SHA-256" then click "Calculate" and copy the result.
  • Go to either walletgenerator.net or bitaddress.org, go to the "wallet details" tab and paste the result from the previous step.
  • Now copy the "Private Key WIF Compressed" that starts with either 'L' or 'K'
  • Import it to Electrum with "p2wpkh-p2sh:" like my examples from the previous posts.

Sample:
localcryptos-wallet-2020-01-05.json:
Code:
-snip-
{"wallet_version":"1.0","timestamp":1578206602},
"first_address"{"address":"3Bx4QFVg4FHRaP1cGGFgmsFicC3t89ij6C","wallet_address_n":0},
"chain_private_key":"e93f3f200b171947f6e32509be963998024245065e0fe737478ca3e75af822eb"}]
[HEX Private key] HMAC-SHA256 of "chain_private_key" with 0001 as Key:
Code:
d644eaad7ac156066f5d73202cdea7b2d79c141f9dd8c655afa8fac5da2973e4
WIF Private key:
Code:
p2wpkh-p2sh:L4QDqo4qB4CWFo9JZseryeS98NkCQM7YDvmQdbkAhCaqYocrMLrM
Electrum Nested Segwit Address:
Code:
3Bx4QFVg4FHRaP1cGGFgmsFicC3t89ij6C

Note: It's up to you to trust those tool or find a more trusted alternative,
or code a tool yourself / pay for a coder, the algorithm isn't complicated.
This was a good hack. But its still a lot complex to be honest.


Title: Re: Where to use .json file ?
Post by: agentx44 on January 07, 2020, 05:13:44 PM
Hello,

Today i downloaded a wallet backup from a website, the extension to it was ".json". There was no program in my computer that could open this file.

I think if i used a desktop wallet, i could load it or import or something like that from what i read.

Does it have the backup phrases inside it like i got when i first started trezor ? Or does it have private key which if i load in block chain then loads my receiving address? What exactly is in it and is it mandatory for me to use a desktop wallet to load and look into it ?

EDIT

The admin swiftly replied that :

The JSON file isn't compatible with any other wallet software yet.

It currently can only be used by somebody with some technical/coding experience.

The format of the backup file and the mechanism used to calculate addresses is described in detail @ https://whitepaper.localethereum.com/#sec-Ratcheting-addresses
In my experience, a .json file is usually used in MEW wherein it grants you the access to input your password and manage your account. If it is not working on a specific wallet, then maybe it is not really meant for that. You could try it on the wallets you used before to access and see if one would fit in it. Choose only those wallets that requires private key so that you may see if it would really work or not. Make sure always that you have a back up of your json file so that you wouldn't end up losing access to your account.


Title: Re: Where to use .json file ?
Post by: nc50lc on January 08, 2020, 03:07:02 AM
As the edit implies, it's already solved and there's currently no known tool for generating the wallet's addresses and keys from the "chain_private_key".
Please read the previous replies first before posting ;)

This was a good hack. But its still a lot complex to be honest.
All you have to do is to Click, Copy and Paste :-\ Don't sweat the terms and numbers.
But do not try that with your current funded account's backup, do it if there's no official tool yet, you really need to spend your coins and you lost access to your account.

I bet if there will be a tool for that json file, the first batch will be command line tools that's much more complex for beginners.
If anyone find one, please share it here.


Title: Re: Where to use .json file ?
Post by: terizla on January 09, 2020, 12:49:34 AM
Since i join in crypto, i only know .json file is for MyEtherWallet. When you first time create wallet then download the .json file.
But if that's .json file for MyEtherWallet, you need a password to access too.


Title: Re: Where to use .json file ?
Post by: pooya87 on January 09, 2020, 07:06:05 AM
Since i join in crypto, i only know .json file is for MyEtherWallet. When you first time create wallet then download the .json file.

JSON is simply JavaScript Object Notation and it is a file or data format that is human readable. it doesn't belong to any wallet, some of them are simply using this format to make it easier for users to open their backup file in a text editor and read its content.
p.s. by the way read OP, the problem is already solved.