Pages:
Author

Topic: [ANN] bitaddress.org Safe JavaScript Bitcoin address/private key - page 36. (Read 153019 times)

hero member
Activity: 770
Merit: 500
You're fat, because you dont have any pics on FB
Blockchain.info is pretty painless for redeeming private keys. You can import a key and send the funds onward within seconds of creating a new account and without having to wait for any confirmations.


Ahhh, that could help someday..  Thanks Casascius.. Smiley

But Im more interested in keeping the address created from bitaddress.org


I understand I can keep it through blockchain.info wallet, but hoping I could use it on bitcoin spinner, and or Armory..
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
Blockchain.info is pretty painless for redeeming private keys. You can import a key and send the funds onward within seconds of creating a new account and without having to wait for any confirmations.
hero member
Activity: 770
Merit: 500
You're fat, because you dont have any pics on FB
Ok, I thought this would be easier than it is..


Can someone describe how to actually use the keys provided once generated from Bitaddress.org ?

I've tried a bit using Armory..     its a no go, it uses a different terminology for the "codes"



Why isnt this simple, and documented somewhere ?   Roll Eyes

To import a private key into your satoshi client:

0. edit or create bitcoin.conf in the same folder as wallet.dat adding lines that say:

Quote
rpcuser=someusername
rpcpassword=somepassword

1. run:  bitcoin-qt -server and wait for it to load the blockchain and start up

2. run:  bitcoind importprivkey 5Je4KHK15KobUcbj29xATN6z6QgZVxL4rYnBD2kaTzncS6oKmqL   (replace 5J... with the private key given to you by bitaddress)

3. wait 5 minutes or so while bitcoin-qt checks the whole blockchain for transactions containing your new address


Lmfao!

Are you serious ?  Undecided

No easier way? no way with armory ?
hero member
Activity: 812
Merit: 1000
2. run:  bitcoind importprivkey 5Je4KHK15KobUcbj29xATN6z6QgZVxL4rYnBD2kaTzncS6oKmqL   (replace 5J... with the private key given to you by bitaddress)

do you need to type your username and password with every command? if so, what syntax is it?

i've only ever done this through JSON, not actually on the command line.
legendary
Activity: 2940
Merit: 1330
Ok, I thought this would be easier than it is..


Can someone describe how to actually use the keys provided once generated from Bitaddress.org ?

I've tried a bit using Armory..     its a no go, it uses a different terminology for the "codes"



Why isnt this simple, and documented somewhere ?   Roll Eyes

To import a private key into your satoshi client:

0. edit or create bitcoin.conf in the same folder as wallet.dat adding lines that say:

Quote
rpcuser=someusername
rpcpassword=somepassword

1. run:  bitcoin-qt -server and wait for it to load the blockchain and start up

2. run:  bitcoind importprivkey 5Je4KHK15KobUcbj29xATN6z6QgZVxL4rYnBD2kaTzncS6oKmqL   (replace 5J... with the private key given to you by bitaddress)

3. wait 5 minutes or so while bitcoin-qt checks the whole blockchain for transactions containing your new address
hero member
Activity: 770
Merit: 500
You're fat, because you dont have any pics on FB
Ok, I thought this would be easier than it is..


Can someone describe how to actually use the keys provided once generated from Bitaddress.org ?

I've tried a bit using Armory..     its a no go, it uses a different terminology for the "codes"



Why isnt this simple, and documented somewhere ?   Roll Eyes
sr. member
Activity: 437
Merit: 415
1ninja
The 'wallet details' tab says:

Quote
Public Key (compressed, 65 characters [0-9A-F]):
021057EDD23AE4D3E51C150AF43C9477530FA268EC80FC03046F0AD7957597E9E6

but that's 66 characters, not 65.

maybe they ignore the leading zero on the left.


I think it's just a typo in the bitaddress code.  Compare with the uncompressed version which also has a leading zero, but has the correct length:

Quote
Public Key (130 characters [0-9A-F]):
048FDCB5A9E446EC3363CD04ABB7FEA271265A2942D5347F0D9488C0926AF87FD
ECF2345C49CA5A6C5677936C4BFAA3062DC1BFF7A5F93A94FEAF271DEECCC3CAF
Public Key (compressed, 65 characters [0-9A-F]):
038FDCB5A9E446EC3363CD04ABB7FEA271265A2942D5347F0D9488C0926AF87FDE

The uncompressed key is 1+32+32 bytes, the compressed key is 1+32 bytes.  Both need doubling to get the length in hex digits.

Yes it's a typo, should be 66 characters. I will fix in the next release.
legendary
Activity: 2940
Merit: 1330
The 'wallet details' tab says:

Quote
Public Key (compressed, 65 characters [0-9A-F]):
021057EDD23AE4D3E51C150AF43C9477530FA268EC80FC03046F0AD7957597E9E6

but that's 66 characters, not 65.

maybe they ignore the leading zero on the left.


I think it's just a typo in the bitaddress code.  Compare with the uncompressed version which also has a leading zero, but has the correct length:

Quote
Public Key (130 characters [0-9A-F]):
048FDCB5A9E446EC3363CD04ABB7FEA271265A2942D5347F0D9488C0926AF87FD
ECF2345C49CA5A6C5677936C4BFAA3062DC1BFF7A5F93A94FEAF271DEECCC3CAF
Public Key (compressed, 65 characters [0-9A-F]):
038FDCB5A9E446EC3363CD04ABB7FEA271265A2942D5347F0D9488C0926AF87FDE

The uncompressed key is 1+32+32 bytes, the compressed key is 1+32 bytes.  Both need doubling to get the length in hex digits.
hero member
Activity: 812
Merit: 1000
The 'wallet details' tab says:

Quote
Public Key (compressed, 65 characters [0-9A-F]):
021057EDD23AE4D3E51C150AF43C9477530FA268EC80FC03046F0AD7957597E9E6

but that's 66 characters, not 65.

maybe they ignore the leading zero on the left.
legendary
Activity: 2940
Merit: 1330
The 'wallet details' tab says:

Quote
Public Key (compressed, 65 characters [0-9A-F]):
021057EDD23AE4D3E51C150AF43C9477530FA268EC80FC03046F0AD7957597E9E6

but that's 66 characters, not 65.
legendary
Activity: 2940
Merit: 1330
Whatever works for you.  Smiley
hero member
Activity: 812
Merit: 1000
It should work with any SHA256 hashing program to create the private key.

This is true, but the satoshi client wants it in base58 with a checksum for the importprivkey command, so it's easier to use bitaddress to do that.

on the other hand, i think pywallet is happy with the regular hex string.

even after a year, i'm still learning new things about bitcoin Cheesy
legendary
Activity: 2940
Merit: 1330
It should work with any SHA256 hashing program to create the private key.

This is true, but the satoshi client wants it in base58 with a checksum for the importprivkey command, so it's easier to use bitaddress to do that.
donator
Activity: 1736
Merit: 1006
Let's talk governance, lipstick, and pigs.
Make sure you keep a copy of bitaddress's source code somewhere safe in case the site goes offline; then you'll always be able to recreate the private key from the passphrase in your brain.

yep got the exact version (1.5) saved and backed up, thanks.

It should work with any SHA256 hashing program to create the private key.
hero member
Activity: 812
Merit: 1000
Make sure you keep a copy of bitaddress's source code somewhere safe in case the site goes offline; then you'll always be able to recreate the private key from the passphrase in your brain.

yep got the exact version (1.5) saved and backed up, thanks.
legendary
Activity: 2940
Merit: 1330
so if i only ever send to the non-compressed bitcoin address, then i must import the non-compressed private key to spend them.

That's right.

Quote
that means an important question is; will the 0.6+ standard client always be able to do this or should i just start over with the compressed types?

got a bit worried that i might lose access to it, but as long as i remember my passphrase i should be okay, right?

There are many unclaimed outputs to uncompressed public keys, and always will be.  Since it's impossible to know by looking at just transaction outputs which of them correspond to private keys that have been lost forever, or even which are to compressed and which are to uncompressed public keys, the client will have to continue supporting uncompressed addresses forever, or risk making a significant proportion of all bitcoins unspendable.

Make sure you keep a copy of bitaddress's source code somewhere safe in case the site goes offline; then you'll always be able to recreate the private key from the passphrase in your brain.
hero member
Activity: 812
Merit: 1000
thanks for the above explanations/experiments.

my main concern is being able to access my 'brain wallet' in future.

so if i only ever send to the non-compressed bitcoin address, then i must import the non-compressed private key to spend them.

that means an important question is; will the 0.6+ standard client always be able to do this or should i just start over with the compressed types?

got a bit worried that i might lose access to it, but as long as i remember my passphrase i should be okay, right?

legendary
Activity: 2940
Merit: 1330
Seems it wasn't true at all...  So how do I access the 1 BTC I sent to the address corresponding to the compressed address?

I had to import the compressed private key to get the compressed address in my client, then I could spend the 2 BTC back to my main wallet:
Code:
$ bitcoind importprivkey 5KVdACbmHJJLxapsSjQyavyN4LdXtWc4xz7jeowDWxwbcNMRneS bita-regular
$ bitcoind importprivkey L4dLbcCSSwMZ6LJHeaCpkmDmwjeFLMfnW76jFtAJFFuykgqR5UGo bita-compressed

Put those two private keys into bitaddress and you get the exact same output for both.

The bitaddress output shows:

Private Key WIF (51 characters base58, starts with a '5'):
5KVdACbmHJJLxapsSjQyavyN4LdXtWc4xz7jeowDWxwbcNMRneS

Private Key WIF (compressed, 52 characters base58, starts with a 'K' or 'L'):
L4dLbcCSSwMZ6LJHeaCpkmDmwjeFLMfnW76jFtAJFFuykgqR5UGo

so you just need to import both of the private keys if you want to be able to receive coins to both of the bitcoin addresses.  Then the client treats the two addresses as if they were really different addresses:

vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
can someone please explain how 'wallet details' tab can produce two different bitcoin addresses for the one private key?

if i generated one of those, and sent 1 btc to each of those addresses, what would happen when i import that private key?

would it show 2 btc? what address would it show?

 Huh

Do you have an example of how to get it to do that?  I've never seen it happen.

Each private key should map to exactly one bitcoin address, although two private keys can (incredibly rarely) map to the same bitcoin address.

Edit: oh, you're talking about how it shows the regular and compressed addresses?  They're equivalent.

If you sent 1 btc to each of those addresses and imported the private key, you would see 2 btc at the same address.  Which address it shows would depend on the client you used.  I'll do it now and edit this post with the results.

This isn't safe to depend on and is unlikely to be true for very long, if it is even true at all.  The developers have proposed a private key format that includes a flag to indicate that it corresponds to a compressed public key.  For a client to always take a private key and generate TWO bitcoin addresses from it is a needless doubling of resource consumption and complexity and is unlikely to become the status quo.
legendary
Activity: 2940
Merit: 1330
can someone please explain how 'wallet details' tab can produce two different bitcoin addresses for the one private key?

if i generated one of those, and sent 1 btc to each of those addresses, what would happen when i import that private key?

would it show 2 btc? what address would it show?

 Huh

Do you have an example of how to get it to do that?  I've never seen it happen.

Each private key should map to exactly one bitcoin address, although two private keys can (incredibly rarely) map to the same bitcoin address.

Edit: oh, you're talking about how it shows the regular and compressed addresses?  They're equivalent.

If you sent 1 btc to each of those addresses and imported the private key, you would see 2 btc at the same address.  Which address it shows would depend on the client you used.  I'll do it now and edit this post with the results.

I used vanitygen to make a 'bita' address, put the private key into bitaddress and found the two bitcoin addresses to be:

Bitcoin Address: 1BitaU837DThJpnSY6ppU8Nu8Z9VGd49U1
Bitcoin Address (compressed): 13jETWnEo69sKwPdYQNqwcqMg9mnyapzNr

Here are the transactions at http://bitcoincharts.com/bitcoin/txlist/ awaiting confirmation:



Hmm.  It's only showing 1 BTC in the new wallet with the imported private key, even though both transactions are confirmed and in my copy of the blockchain.  I wonder if this is a bitcoin client bug.

http://blockchain.info/address/1BitaU837DThJpnSY6ppU8Nu8Z9VGd49U1 and
http://blockchain.info/address/13jETWnEo69sKwPdYQNqwcqMg9mnyapzNr are showing a balance of 1 BTC each.

This isn't safe to depend on and is unlikely to be true for very long, if it is even true at all.  The developers have proposed a private key format that includes a flag to indicate that it corresponds to a compressed public key.  For a client to always take a private key and generate TWO bitcoin addresses from it is a needless doubling of resource consumption and complexity and is unlikely to become the status quo.

Seems it wasn't true at all...  So how do I access the 1 BTC I sent to the address corresponding to the compressed address?
Pages:
Jump to: