5 ms·
Not text, but stored in a binary format in a Berkeley DB (Generally only version 4.8.30). There is documentation on the formats here: https://en.bitcoin.it/wiki
by rfd4sgmk8u 5y ago
Not text, but stored in a binary format in a Berkeley DB (Generally only version 4.8.30). There is documentation on the formats here: https://en.bitcoin.it/wiki/Wallet https://en.bitcoin.it/wiki/Wallet
Where it gets interesting is the so called Seed Phrase, https://en.bitcoin.it/wiki/Seed_phrase https://en.bitcoin.it/wiki/Seed_phrase in which an unlimited number of private keys can be derived. A seed phrase can 'recreate' every key in a wallet, it could be considered a form of wallet backup. In the BIP39 standard, 12 words are used from a dictionary of 2048.
- rsync 5y agoGenuinely curious - can you export them to a pgp-like ascii-armored text blob for easy cut and paste, etc. ? I have never interacted with a bitcoin or other crypto-currency ...
- dannyw 5y agoYes. You can even turn them turn them a 12 or 24 word mnemonic, designed for pen and paper writing. The words come from a standardised wordlist, providing a rudimentary way of error checking and checksumming.
- CapriciousCptl 5y agoAt its core, a wallet is just a collection of private keys. So yes, these are easy to extract and, in the original client, there is a simple command to do just that. Or, as mentioned, you can access the BerkleyDB wallet.dat file directly. The "bitcoin" itself is never really stored anywhere in terms of state-- the chain simply stores the series of transactions between public keys up to right now and you calculate the btc state from that. The wallet.dat also typically stores cached transaction data, but it's only a local cache and not authoritative.
- rfd4sgmk8u 5y agoA bitcoin private key is an elliptic curve private key on the secp256k1 curve. OpenSSL will let you encode a valid bitcoin private key as a PEM if you wish for easy copy paste -- you would have to convert them into another format for direct usage however. eg: openssl genpkey -algorithm EC -outform PEM -pkeyopt ec_paramgen_curve:secp256k1 -pkeyopt ec_param_enc:named_curve There is a native format known as WIF (wallet import format) that uses ascii encoding for private keys, allowing easy migration/copy paste: https://en.bitcoin.it/wiki/Wallet_import_format https://en.bitcoin.it/wiki/Wallet_import_format
- dpedu 5y agoSure, here's a bitcoin address that's prefixed with your name. $ ./vanitygen -i 1rsync Pattern: 1rsync Address: 1rSYNCeAXmXY64GabjpGN3rcihFwZmcP3 Privkey: 5JPbRtnXStQgeGAFb49JQ7f4bx1f9fJRHnV9pawxevFG58zDjGY