49

It is the same data folder as the non-QT version of the standard client used to use: Linux: ~/.bitcoin/ MacOS: ~/Library/Application Support/Bitcoin/ Windows: %APPDATA%\Bitcoin (This defaults to C:\Documents and Settings\YourUserName\Application data\Bitcoin on Windows XP and to C:\Users\YourUserName\Appdata\Roaming\Bitcoin on Windows Vista, 7, 8, and ...


45

To export a private key from your Satoshi bitcoin-qt client: launch your bitcoin client as usual and wait for it to load the blockchain and start up click on 'help' in the menu bar (top right) click on 'debug window' select the 'console' tab type: walletpassphrase "your walletpassphrase here" 600 type: dumpprivkey [your Bitcoin address here] this will ...


40

Run Bitcoin-Core Select Help (to the right of Settings) Select Debug Window Select Console If you encrypted your wallet, unlock it by entering walletpassphrase "YourLongPassphrase" 600 next to the > input box Next to the > input box type importprivkey <bitcoinprivkey> (Note that the private key must not have spaces, remove them if they are included in ...


38

First, close the Bitcoin-Qt client. Then you have to locate your Bitcoin folder. For Windows, it should be here: %APPDATA%\Bitcoin In that folder, there should be a wallet.dat file. If you currently have no bitcoins in your wallet, you can just delete that file and replace it with your backup. If you have some bitcoins in this wallet as well, backup ...


36

There are two different encodings used. Everything in the Bitcoin protocol, including transaction signatures and alert signatures, uses DER encoding. This results in 71 bytes signatures (on average), as there are several header bytes, and the R and S valued are variable length. For message signatures, a custom encoding is used which is more compact (and ...


36

-reindex: wipes the chainstate (the UTXO set) wipes the block index (the database with information about which block is where on disk) rebuilds the block index (by going over all blk*.dat files, and finding things in it that look like blocks) rebuilds the chainstate (redoing all validation for blocks) based on the blocks now in the index -reindex-...


27

P2PKH: "Pay To Public Key Hash" This is how transactions are made. You are requiring the sender to supply a valid signature (from the private key) and public key. The transaction output script will use the signature and public key and through some cryptographic functions will check if it matches with the public key hash, if it does, then the funds will be ...


26

The Bitcoin Improvement Proposal that defines the Bitcoin URI scheme is BIP21. The simple syntax is: bitcoin:<address>[?amount=<amount>][?label=<label>][?message=<message>] On the desktop all of Armory, Electrum and MultiBit respond to Bitcoin URI clicks in a browser and I believe Bitcoin-QT V0.7 does as well. On mobiles Android ...


24

Since bitcoind/Bitcoin-qt 0.8, no transaction index is kept anymore by default, as it is not necessary for validation in the new database model. Instead, there is only a database of unspent transaction outputs, which has enough information to (slowly) locate transactions in block files. getrawtransaction uses this, but it only works for transactions that ...


24

from: https://github.com/schildbach/bitcoin-wallet/tree/master/wallet The backup file is encrypted using your chosen password. You can use OpenSSL to decrypt: openssl enc -d -aes-256-cbc -a -in <filename>


24

The two pieces of software, Bitcoin Core and Bitcoin-XT, are very similar. Bitcoin-XT is actually just a fork of Bitcoin Core with some features added that Bitcoin Core developers didn't deem appropriate, such as a larger block size (BIP 101) and relaying of double spends. Bitcoin Core is more up-to-date with all of the work that the community doing. ...


23

Enable txindex=1 in your bitcoin.conf (You'll need to rebuild the database as the transaction index is normally not maintained, start using -reindex to do so), and use the getrawtransaction call to request information about any transaction (it won't work for the genesis block's coinbase transaction though, it's a special case). Note that this will only give ...


23

ZeroMQ is a publisher / subscriber messaging system. In the case of Bitcoin Core it is a socket which other applications can connect to and get notifications of new events in real time, without having to repeatedly ask the daemon if there are any new events. ZMQ support is useful for any systems interfacing with the network like miners and wallets, which can ...


23

"TL;DR: Bitcoin mining is virtually immune to someone attacking it with a supercomputer, because the mining market is already flooded with supercomputers custom tailored to the job at the hardware level." (via Cort Ammon in comments) First of all, the difficulty reset happens after 2016 blocks. That's only after about 14 days if the hashrate is stable. When ...


23

Bitcoin Core does have mining components in it. In fact most available mining software actually rely on Core (or something abstracting Core's services) in order to get the block built before it attempts to mine it. Bitcoin Core has the capability to serve the information to other software so that they can mine blocks. Furthermore, Bitcoin Core does have the ...


23

This is not a thorough schooling on Tor and only shows how to configure it to work together with Bitcoin Core. Bitcoin Core includes Tor integration When Tor is correctly setup on your system, Bitcoin Core automatically identifies Tor and creates an anonymous service. Little configuration is required to be 'off the grid' and, just a tiny bit more to be ...


21

Suppose Alice wants to add a fake transaction where she receives X ammount of BTC. I understand that in order to add that transaction to the blockchain she would have to compete against all the other miners to generate the next block, which makes it improbable to happen as an individual against them. No, that isn't correct. No matter how much mining power ...


20

Manual Steps Copy your public receiving addresses from Bitcoin-Qt. Go to the Bitcoin-Qt console: click Help/Debug Window and then select the Console tab. Run walletpassphrase [your password] [timeout in seconds] to unlock your password protected wallet. Run dumpprivkey [Receiving Bitcoin Address] for each receiving address to be migrated to MultiBit. There ...


20

You can either run bitcoin-qt or bitcoind, not both at the same time (the Qt part is not just a frontend on top of the RPC code, it uses the core directly). You can however run Bitcoin-Qt with the -server command-line switch, in which case it will also expose an RPC service (essentially functioning like bitcoind in addition to the GUI interface). The RPC ...


20

Miners have started signalling for BIP 91, which sets bit 4 in version numbers. When BIP 91 activates, it will force miners to set bit 1 (which then indirectly will cause activation of BIP 141 SegWit). No software release has implemented BIP 91, as a result, it warns because it sees an unknown feature rollout with significant support from miners.


19

The Bitcoin client has been hosted on GitHub for a while now. It's very close to what Satoshi initially wrote. Here's the first commit dated back to 2009: https://github.com/bitcoin/bitcoin/tree/4405b78d6059e536c36974088a8ed4d9f0f29898 You could also browse all the commits from way back: https://github.com/bitcoin/bitcoin/commits/master?page=151 Some other ...


18

Since Bitcoin-Core 0.11.0 you can prune (trim) the blockchain in Bitcoin-Qt. But not from the UI. You need to add prune=550 to your bitcoin.conf file and restart Bitcoin-Qt. Explanation: -prune=<target in MiB> will tell bitcoin-core to remove blocks which are older than oldest block that can be kept with a chainsize (sum of block-sizes) of <target&...


18

-rescan likely did nothing at all. It goes through the blockchain to find transactions that are missing from your wallet. It is only very rarely needed (like when you manually changed things in wallet.dat). -reindex throws away the block chain index and chain state (the database of all unspent transaction outputs), and rebuilds those from scratch. It is ...


16

Here: https://en.bitcoin.it/wiki/Bitcoin-Qt https://www.google.com/search?q=bitcoin-qt+documentation Use the -datadir option. Right-click on your bitcoin-qt shortcut, press properties, and add -datadir=D:\Bitcoin Go make that directory, then run bitcoin. If a bunch of files show up in there, you've done it correctly. Yep. -datadir File > Backup Wallet ...


16

TL;DR: The aim is to discourage reorganizations and increase privacy. In wallet.cpp, just above where nLockTime gets set, it says: // Discourage fee sniping. // // For a large miner the value of the transactions in the best block and // the mempool can exceed the cost of deliberately attempting to mine two // blocks to orphan the current best block. By ...


16

The largest consumers of memory are: The memory pool (reduce with -maxmempool, or disable entirely with -blocksonly if you don't care about unconfirmed transactions). The UTXO cache (reduce with -dbcache, at the cost of potentially much slower syncing). The signature cache (reduce with -maxsigcachesize). In addition, you can also reduce the maximum number ...


16

Reading your question, I suspect the cause for your confusion is around the setting in which Merkle trees are used. I think you are right that in the Bitcoin world, the setting is taken for granted and is not usually explained clearly. Here's my two cents. To understand the efficiency aspect of Merkle trees, consider the two parties that are actually ...


15

Note: Recent versions of the satoshi client offer a 'debug window' which can be used to export private keys. This is described in Miguel Moreno's answer to this question, and is easier than the steps I describe below. To export a private key from your satoshi client: run: bitcoin-qt -server and wait for it to load the blockchain and start up if your ...


15

The payment protocol (see BIP 70-72) will support attaching messages to transactions. Note that these messages do not end up in the blockchain, which is the right way to do it, as they are private information between sender and receiver - no need to make the entire world replicate it.


15

As someone who was involved in doing that migration at the time, I believe it was the right decision. LevelDB is far from perfect, but I wouldn't know what else to use. In particular: BDB is much slower for our usage (large atomic batch writes, small random reads). There were reports of database corruption as well with BDB, at a time when it was used far ...


Only top voted, non community-wiki answers of a minimum length are eligible