importprivkey — Bitcoin

How to get balances for address associated with Private Key bitcoinq/rpc

Hello,
I've been testing some things out with nodejs and bitcoin. I have a question, how do all these blockchain explorers show the balance for addresses that they dont own?
My end goal is to show the balance for addresses that are mine, I have the associated private keys and the addresses because i generated using bitcoinjs-lib.

I can use: importprivkey but I'm not entirely sure what is next aftewards.
Anybody have the exact commands i need to do in order to get the balances of addresses i own.

Thanks,
submitted by ConkerRob to Bitcoin [link] [comments]

Groestlcoin 6th Anniversary Release

Introduction

Dear Groestlers, it goes without saying that 2020 has been a difficult time for millions of people worldwide. The groestlcoin team would like to take this opportunity to wish everyone our best to everyone coping with the direct and indirect effects of COVID-19. Let it bring out the best in us all and show that collectively, we can conquer anything.
The centralised banks and our national governments are facing unprecedented times with interest rates worldwide dropping to record lows in places. Rest assured that this can only strengthen the fundamentals of all decentralised cryptocurrencies and the vision that was seeded with Satoshi's Bitcoin whitepaper over 10 years ago. Despite everything that has been thrown at us this year, the show must go on and the team will still progress and advance to continue the momentum that we have developed over the past 6 years.
In addition to this, we'd like to remind you all that this is Groestlcoin's 6th Birthday release! In terms of price there have been some crazy highs and lows over the years (with highs of around $2.60 and lows of $0.000077!), but in terms of value– Groestlcoin just keeps getting more valuable! In these uncertain times, one thing remains clear – Groestlcoin will keep going and keep innovating regardless. On with what has been worked on and completed over the past few months.

UPDATED - Groestlcoin Core 2.18.2

This is a major release of Groestlcoin Core with many protocol level improvements and code optimizations, featuring the technical equivalent of Bitcoin v0.18.2 but with Groestlcoin-specific patches. On a general level, most of what is new is a new 'Groestlcoin-wallet' tool which is now distributed alongside Groestlcoin Core's other executables.
NOTE: The 'Account' API has been removed from this version which was typically used in some tip bots. Please ensure you check the release notes from 2.17.2 for details on replacing this functionality.

How to Upgrade?

Windows
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer.
OSX
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), run the dmg and drag Groestlcoin Core to Applications.
Ubuntu
http://groestlcoin.org/forum/index.php?topic=441.0

Other Linux

http://groestlcoin.org/forum/index.php?topic=97.0

Download

Download the Windows Installer (64 bit) here
Download the Windows Installer (32 bit) here
Download the Windows binaries (64 bit) here
Download the Windows binaries (32 bit) here
Download the OSX Installer here
Download the OSX binaries here
Download the Linux binaries (64 bit) here
Download the Linux binaries (32 bit) here
Download the ARM Linux binaries (64 bit) here
Download the ARM Linux binaries (32 bit) here

Source

ALL NEW - Groestlcoin Moonshine iOS/Android Wallet

Built with React Native, Moonshine utilizes Electrum-GRS's JSON-RPC methods to interact with the Groestlcoin network.
GRS Moonshine's intended use is as a hot wallet. Meaning, your keys are only as safe as the device you install this wallet on. As with any hot wallet, please ensure that you keep only a small, responsible amount of Groestlcoin on it at any given time.

Features

Download

iOS
Android

Source

ALL NEW! – HODL GRS Android Wallet

HODL GRS connects directly to the Groestlcoin network using SPV mode and doesn't rely on servers that can be hacked or disabled.
HODL GRS utilizes AES hardware encryption, app sandboxing, and the latest security features to protect users from malware, browser security holes, and even physical theft. Private keys are stored only in the secure enclave of the user's phone, inaccessible to anyone other than the user.
Simplicity and ease-of-use is the core design principle of HODL GRS. A simple recovery phrase (which we call a Backup Recovery Key) is all that is needed to restore the user's wallet if they ever lose or replace their device. HODL GRS is deterministic, which means the user's balance and transaction history can be recovered just from the backup recovery key.

Features

Download

Main Release (Main Net)
Testnet Release

Source

ALL NEW! – GroestlcoinSeed Savior

Groestlcoin Seed Savior is a tool for recovering BIP39 seed phrases.
This tool is meant to help users with recovering a slightly incorrect Groestlcoin mnemonic phrase (AKA backup or seed). You can enter an existing BIP39 mnemonic and get derived addresses in various formats.
To find out if one of the suggested addresses is the right one, you can click on the suggested address to check the address' transaction history on a block explorer.

Features

Live Version (Not Recommended)

https://www.groestlcoin.org/recovery/

Download

https://github.com/Groestlcoin/mnemonic-recovery/archive/master.zip

Source

ALL NEW! – Vanity Search Vanity Address Generator

NOTE: NVidia GPU or any CPU only. AMD graphics cards will not work with this address generator.
VanitySearch is a command-line Segwit-capable vanity Groestlcoin address generator. Add unique flair when you tell people to send Groestlcoin. Alternatively, VanitySearch can be used to generate random addresses offline.
If you're tired of the random, cryptic addresses generated by regular groestlcoin clients, then VanitySearch is the right choice for you to create a more personalized address.
VanitySearch is a groestlcoin address prefix finder. If you want to generate safe private keys, use the -s option to enter your passphrase which will be used for generating a base key as for BIP38 standard (VanitySearch.exe -s "My PassPhrase" FXPref). You can also use VanitySearch.exe -ps "My PassPhrase" which will add a crypto secure seed to your passphrase.
VanitySearch may not compute a good grid size for your GPU, so try different values using -g option in order to get the best performances. If you want to use GPUs and CPUs together, you may have best performances by keeping one CPU core for handling GPU(s)/CPU exchanges (use -t option to set the number of CPU threads).

Features

Usage

https://github.com/Groestlcoin/VanitySearch#usage

Download

Source

ALL NEW! – Groestlcoin EasyVanity 2020

Groestlcoin EasyVanity 2020 is a windows app built from the ground-up and makes it easier than ever before to create your very own bespoke bech32 address(es) when whilst not connected to the internet.
If you're tired of the random, cryptic bech32 addresses generated by regular Groestlcoin clients, then Groestlcoin EasyVanity2020 is the right choice for you to create a more personalised bech32 address. This 2020 version uses the new VanitySearch to generate not only legacy addresses (F prefix) but also Bech32 addresses (grs1 prefix).

Features

Download

Source

Remastered! – Groestlcoin WPF Desktop Wallet (v2.19.0.18)

Groestlcoin WPF is an alternative full node client with optional lightweight 'thin-client' mode based on WPF. Windows Presentation Foundation (WPF) is one of Microsoft's latest approaches to a GUI framework, used with the .NET framework. Its main advantages over the original Groestlcoin client include support for exporting blockchain.dat and including a lite wallet mode.
This wallet was previously deprecated but has been brought back to life with modern standards.

Features

Remastered Improvements

Download

Source

ALL NEW! – BIP39 Key Tool

Groestlcoin BIP39 Key Tool is a GUI interface for generating Groestlcoin public and private keys. It is a standalone tool which can be used offline.

Features

Download

Windows
Linux :
 pip3 install -r requirements.txt python3 bip39\_gui.py 

Source

ALL NEW! – Electrum Personal Server

Groestlcoin Electrum Personal Server aims to make using Electrum Groestlcoin wallet more secure and more private. It makes it easy to connect your Electrum-GRS wallet to your own full node.
It is an implementation of the Electrum-grs server protocol which fulfils the specific need of using the Electrum-grs wallet backed by a full node, but without the heavyweight server backend, for a single user. It allows the user to benefit from all Groestlcoin Core's resource-saving features like pruning, blocks only and disabled txindex. All Electrum-GRS's feature-richness like hardware wallet integration, multi-signature wallets, offline signing, seed recovery phrases, coin control and so on can still be used, but connected only to the user's own full node.
Full node wallets are important in Groestlcoin because they are a big part of what makes the system be trust-less. No longer do people have to trust a financial institution like a bank or PayPal, they can run software on their own computers. If Groestlcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine.
Full node wallets are also important for privacy. Using Electrum-GRS under default configuration requires it to send (hashes of) all your Groestlcoin addresses to some server. That server can then easily spy on your transactions. Full node wallets like Groestlcoin Electrum Personal Server would download the entire blockchain and scan it for the user's own addresses, and therefore don't reveal to anyone else which Groestlcoin addresses they are interested in.
Groestlcoin Electrum Personal Server can also broadcast transactions through Tor which improves privacy by resisting traffic analysis for broadcasted transactions which can link the IP address of the user to the transaction. If enabled this would happen transparently whenever the user simply clicks "Send" on a transaction in Electrum-grs wallet.
Note: Currently Groestlcoin Electrum Personal Server can only accept one connection at a time.

Features

Download

Windows
Linux / OSX (Instructions)

Source

UPDATED – Android Wallet 7.38.1 - Main Net + Test Net

The app allows you to send and receive Groestlcoin on your device using QR codes and URI links.
When using this app, please back up your wallet and email them to yourself! This will save your wallet in a password protected file. Then your coins can be retrieved even if you lose your phone.

Changes

Download

Main Net
Main Net (FDroid)
Test Net

Source

UPDATED – Groestlcoin Sentinel 3.5.06 (Android)

Groestlcoin Sentinel is a great solution for anyone who wants the convenience and utility of a hot wallet for receiving payments directly into their cold storage (or hardware wallets).
Sentinel accepts XPUB's, YPUB'S, ZPUB's and individual Groestlcoin address. Once added you will be able to view balances, view transactions, and (in the case of XPUB's, YPUB's and ZPUB's) deterministically generate addresses for that wallet.
Groestlcoin Sentinel is a fork of Groestlcoin Samourai Wallet with all spending and transaction building code removed.

Changes

Download

Source

UPDATED – P2Pool Test Net

Changes

Download

Pre-Hosted Testnet P2Pool is available via http://testp2pool.groestlcoin.org:21330/static/

Source

submitted by Yokomoko_Saleen to groestlcoin [link] [comments]

Bitcoin Unlimited - Bitcoin Cash edition 1.2.0.0 has just been released

Download the latest Bitcoin Cash compatible release of Bitcoin Unlimited (1.2.0.0, January 7, 2018) from:
 
https://www.bitcoinunlimited.info/download
 
This release implements Bitcoin Cash, compliant with the latest hard fork (Nov 13, 2017) and adding CashAddr and Bitpay address format support
 
The main changes of this release is the introduction of the cashaddr new address format. The specification for this new address encoding could be find here. The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on that day the new format will be used as default new format automatically. A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.
Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.
Other notable changes:
 
Release notes: https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/BitcoinCash/doc/release-notes/release-notes-bucash1.2.0.0.md
 
Ubuntu PPA is in the process of being updated.
submitted by s1ckpig to btc [link] [comments]

For importprivkey, 0.9.2.1 just got a whole lot more inconvenient.

Up until today I'd been using 0.9.1, and sometimes using the console to import a few private keys. In that version, I could paste in multiple keys, hitting enter after each one (I think I pasted in 40 keys once). Since each key would take about 15 minutes to do each one, the whole client would basically lock up for key*15 minutes, which if I'm pasting in many, would be hours and hours.
This was fine with me however, because it would always come good at the end, and I could leave it alone, knowing that when it became responsive again, all 40 keys or whatever would have been imported.
Now, I've upgraded to 0.9.2.1 and I go to do the same thing, it pops up a little window saying 'rescanning' with a progress bar. Well, that's super nice and all for if you're importing only 1, but now I can't paste in a 2nd one, or a 3rd one, etc... I have to wait 15 minutes. So now importing 40 keys would be an absolute marathon of babysitting it every 15 minutes.
tldr The new "Rescanning" progress bar in 0.9.2.1 prevents me from pasting in multiple private keys into the console at once. I'm reverting back to 0.9.1.
edit Apparently rescan = false is a thing, so I can do tons of keys with just one rescan (15 mins) anyway :S Thanks chairoverflow and murbul.
submitted by xbtdev to Bitcoin [link] [comments]

Bitcoin Unlimited - Bitcoin Cash edition 1.2.0.0 has just been released

Download the latest Bitcoin Cash compatible release of Bitcoin Unlimited (1.2.0.0, January 7, 2018) from:
 
https://www.bitcoinunlimited.info/download
 
This release implements Bitcoin Cash, compliant with the latest hard fork (Nov 13, 2017) and adding CashAddr and Bitpay address format support
 
The main changes of this release is the introduction of the cashaddr new address format. The specification for this new address encoding could be find here. The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on that day the new format will be used as default new format automatically. A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.
Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.
Other notable changes:
 
Release notes: https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/BitcoinCash/doc/release-notes/release-notes-bucash1.2.0.0.md
 
Ubuntu PPA is in the process of being updated.
submitted by s1ckpig to Bitcoincash [link] [comments]

Are BCH txn still valid on BSV / How to get BSV out of pre-fork BCH address ?

I'd like to sell my BSV for BCH. Will the following work? I realize there is likely an easier way, but since my real funds are in Trezor, I have to work with rawtransaction. Trezor has its own version of createrawtransaction that I won't get into, I'm just curious if BCH TXNs are still valid on the BSV chain, and for how long?
  1. Find BCH addresses that are pre-fork
  2. Retrieve and secure the private keys for these addresses.
  3. Install Linux VM called "SV".
  4. Build bitcoin-sv from source and sync blockchain.
  5. Copy the wallet's current address (this will be our future target address).
  6. Copy the wallet's private key just in case anything goes horribly wrong.
  7. Install (2nd) Linux VM called "ABC"
  8. Build bitcoin-abc from source.
  9. Use importprivkey to import the pre-fork addresses into your fresh bitcoin-abc wallet.
  10. Use importprivkey to import your bitcoin-sv target addresses in case anything goes horribly wrong.
  11. Sync / rescan bitcoin-abc blockchain.
  12. Use createrawtransaction to get the TXN hex to spend the pre-fork BSV coins.
  13. Switch back to "SV" VM and use sendrawtransaction to put the TXN hex on the SV blockchain.
  14. Wait for confirmations on BSV block explorer to confirm BSV coins are claimed.
  15. Ensure you didn't leak any keys in 1-13 and sleep with one eye open.

References:

submitted by brianddk to btc [link] [comments]

Can trezorctl sign_tx be used to claim BSV coins from Trezor?

Update: Electron Cash connected to a Trezor seems to be the way to get this done.
I'd like to sell my BSV for BCH. Will the following work? I'm just curious if BCH TXNs are still valid on the BSV chain, and for how long?
  1. Find Trezor BCH addresses that are pre-fork
  2. Install Linux VM called "SV".
  3. Build bitcoin-sv from source and sync blockchain.
  4. Copy the wallet's current address (this will be our future target address).
  5. Copy the wallet's private key just in case anything goes horribly wrong.
  6. Install (2nd) Linux VM called "ABC"
  7. Build bitcoin-abc from source.
  8. Use importprivkey to import your bitcoin-sv target addresses in case anything goes horribly wrong.
  9. Sync / rescan bitcoin-abc blockchain.
  10. Use trezorctl sign_tx to get the TXN hex to spend the pre-fork BSV coins.
  11. Switch back to "SV" VM and use sendrawtransaction to put the TXN hex on the SV blockchain.
  12. Wait for confirmations on BSV block explorer to confirm BSV coins are claimed.
  13. Ensure you didn't leak any keys in 1-12 and sleep with one eye open.

References:

submitted by brianddk to TREZOR [link] [comments]

Trying to salvage some coins from 2013. Core (bitcoin-qt.exe v0.8.1-beta on Windows 8.1) is taking weeks to DL the blockchain as expected but keeps crashing now. Can I upgrade to a newer version without losing what I've gotten already (about 75% complete)?

Currently there are 134305 blocks remaining. When I start it up it works pretty smoothly for a while but then slows down. I leave it running while I'm gone but the last several days when I've come back it has crashed and gives me an I/O error, and I have to hit OK then start it back up. It does appear to be further along when I start it back up but not by a whole lot. So this has really slowed my progress. It's reindexed about 75% though, and so I don't want to start over from the beginning.
The drive it is on has ~400gb of free space so that's not the issue. I have 8gb of memory, and the task manager says bitcoin is taking up about 500mb, but it's using 60-85% of my cpu at a time.
If I download a newer version of core, I can just copy/paste the old wallet.dat file, right? But wouldn't it have to start downloading the entire blockchain again from the beginning? If so, is there any quicker method?
While typing this, it crashed twice. It only runs for about 10 minutes.
The version I have doesn't have any settings I can change. I read that there's a db size limit you can change in later versions that could help. This one does have a "debug window" with a command line console but I don't really know what to do with it. Here is a list of available commands: 
addmultisigaddress <'["key","key"]'> [account]
addnode
backupwallet
createmultisig <'["key","key"]'>
createrawtransaction [{"txid":txid,"vout":n},...] {address:amount,...}
decoderawtransaction
dumpprivkey
encryptwallet
getaccount
getaccountaddress
getaddednodeinfo [node]
getaddressesbyaccount
getbalance [account] [minconf=1]
getblock
getblockcount
getblockhash
getblocktemplate [params]
getconnectioncount
getdifficulty
getgenerate
gethashespersec
getinfo
getmininginfo
getnewaddress [account]
getpeerinfo
getrawmempool
getrawtransaction [verbose=0]
getreceivedbyaccount [minconf=1]
getreceivedbyaddress [minconf=1]
gettransaction
gettxout [includemempool=true]
gettxoutsetinfo
getwork [data]
help [command]
importprivkey [label] [rescan=true]
keypoolrefill
listaccounts [minconf=1]
listaddressgroupings
listlockunspent
listreceivedbyaccount [minconf=1] [includeempty=false]
listreceivedbyaddress [minconf=1] [includeempty=false]
listsinceblock [blockhash] [target-confirmations]
listtransactions [account] [count=10] [from=0]
listunspent [minconf=1] [maxconf=9999999] ["address",...]
lockunspent unlock? [array-of-Objects]
move [minconf=1] [comment]
sendfrom [minconf=1] [comment] [comment-to]
sendmany {address:amount,...} [minconf=1] [comment]
sendrawtransaction
sendtoaddress [comment] [comment-to]
setaccount
setgenerate [genproclimit]
settxfee
signmessage
signrawtransaction [{"txid":txid,"vout":n,"scriptPubKey":hex,"redeemScript":hex},...] [,...] [sighashtype="ALL"]
stop
submitblock [optional-params-obj]
validateaddress
verifymessage

submitted by closer_to_the_flame to Bitcoin [link] [comments]

How to claim Bitcoin 2s with a Bitcoin private key

  1. Download and install the Bitcoin 2 Core wallet
  2. Once you have the private key of a Bitcoin address that has BTC2, launch the Bitcoin 2 Core wallet
  3. Click tools -> debug console
  4. Type: importprivkey (type here your private key) and then press enter. Without the parentheses.
  5. It will rescan and after some time the BTC2 will show in your wallet's balance if the BTC address contained any.
submitted by Tulyak22 to bitc2 [link] [comments]

Bitcoin cash blockchain craziness (missing BCC)

Before doing anything with BCC, I transferred my BTC from one bitcoin address (old address) to another (new address), a total of 2.05 BTC. I only had one address in my wallet (old address) when I started.
So, I installed the Bitcoin ABC client and completely synched with the Bitcoin Cash blockchain, after copying my blockchain data from the core data directory, addnode'ng the Bitcoin Cash nodes to the .conf file, starting with a brand spanking new fresh wallet, and issuing the following command to pick up the correct blocks after the fork:
invalidateblock 00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148 
I then proceeded to import my (old address) private key:
importprivkey ... 
..., into Bitcoin ABC and waited (patiently) for the rescan to complete.
The crazy part: I was 1 BCC short - it showed 1.05 BCC instead of 2.05 BCC. So, I went back into my core wallet, copied the entire list of transactions to a spreadsheet and compared them to the list of transactions in the ABC client to see what the heck happened.
The ABC client transaction list shows two 0.5 BTC withdrawals (from the old address) circa 2016, that never happened and this is the reason that I am 1 BCC short in the end.
I don't know how this is possible. The withdrawals were all from around mid to late 2016, way before this fork happened, and that part of the blockchain is common to both. Since I was able to transfer the entire 2.05 BTC from my old BTC address to a new BTC address before I started, with >10 confirmations, I definitely know that I had 2.05 BTC at the old address, the only address I used until after the fork.
If anybody has any ideas on how this is possible, or what steps I should take next to reconcile my BCC amount with my BTC amount pre-fork, I am all ears.
submitted by mikegold10 to BitcoinABC [link] [comments]

Use the BTCP full Node on a Ubuntu 16.04 LTS from Terminal

In this post I want to show some use of the CLI BTCP wallet from linux terminal.
DISCLAIMER:
First of all, use this tutorial with small amount of BTCP, for example i used 0,01 BTCP, until you feel confortable with commands. An error can happen easily and as result you can loose your money. Be careful! Do it at your risk!
I consider you have already installed the wallet following this instructions:
https://github.com/BTCPrivate/bitcoinprivate
I use Ubuntu 16.04 LTS 64bit, but commands are similar for the windows client.
Open a terminal from your Ubuntu Desktop:
[email protected]:~$ 
type:
[email protected]:~$ ./BitcoinPrivate/src/btcpd --daemon 
you should see the message:
BTCP server starting 
This means the wallet is running in daemon mode.
to stop the node just typing:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli stop 
Answer:
BTCP server stopping 
You can also run the wallet in terminal, is nice to see it, let's try:
 [email protected]:~$ ./BitcoinPrivate/src/btcpd 
You will see the BTCP logo in text mode and the following info:
Thank you for running a Bitcoin Private node! You're strengthening the network and contributing to a social good. To ensure you are fully protecting your privacy when running BTCP, see . Block height | 340079 Connections | 8 Network solution rate | 8359387 Sol/s You are currently not mining. To enable mining, add 'gen=1' to your btcprivate.conf and restart. Since starting this node 1 minutes, 33 seconds ago: - You have validated 695 transactions! [Press Ctrl+C to exit] [Set 'showmetrics=0' to hide] 
See, you can also mine using the wallet! Nice! Just add gen=1 in the file btcprivate.conf. Probably you will never mine a coin, but still you to strenght the net, so, you can try if you want, then disable it when done:
Press CTRL and C to stop the server, then restart the server in daemon mode otherwhise you have to open a new terminal.
Let's find btcprivate.conf and other useful files:
[email protected]:~$ cd .btcprivate [email protected]:~/.btcprivate$ ls 
Answer:
blocks btcprivate.conf chainstate db.log debug.log fee_estimates.dat peers.dat wallet.dat 
You see here: btcprivate.conf and wallet.dat
Edit configuration file:
[email protected]:~/.btcprivate$ pico btcprivate.conf 
add gen=1 if you want to mine, then CTRL X and Y to save.
Restart the wallet....and....
Block height | 340091 Connections | 8 Network solution rate | 8211926 Sol/s Local solution rate | 0.0075 Sol/s Since starting this node 8 minutes, 5 seconds ago: - You have validated 684 transactions! - You have completed 1 Equihash solver runs. You are mining with the default solver on 1 threads. 
Congratulations! You are mining!
Now have a look to the wallet.dat file:
Nb: wallet.dat is your wallet!! If you delete it you will loose all your money!!!
wallet.dat is not encrypted, so, if you want to backup it i do as follows:
[email protected]:~/.btcprivate$ cp wallet.dat home/btcp/Desktop/wallet_btcp_back.dat 
Now you will find the wallet on your desktop. Zip it with an AES256 encryption and a strong password. Test if it works properly: extract it again and copy it in the directory, but before make an other copy of the wallet.dat file. Beware! I almost deleted the file once!
Nb: wallet.dat is your wallet!! If you delete it you will loose all your money!!!
Go back to your home directory, now, we want to play with our wallet:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli help 
if everything is running properly, you will see a list of commands like this:
z_exportwallet "filename" z_getbalance "address" ( minconf ) z_getnewaddress z_getoperationresult (["operationid", ... ]) z_getoperationstatus (["operationid", ... ]) z_gettotalbalance ( minconf ) z_importkey "zkey" ( rescan startHeight ) z_importwallet "filename" z_listaddresses z_listoperationids z_listreceivedbyaddress "address" ( minconf ) z_sendmany "fromaddress" [{"address":... ,"amount":...},...] ( minconf ) ( fee ) z_shieldcoinbase "fromaddress" "tozaddress" ( fee ) zcbenchmark benchmarktype samplecount zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new zcrawkeygen zcrawreceive zcsecretkey encryptednote zcsamplejoinsplit [email protected]:~$ 
Nice! Wallet is running properly. Now try an other command: getinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getinfo 
Answer:
{ "version": 1001251, "protocolversion": 180004, "walletversion": 60000, "balance": 0.00000000, "blocks": 340074, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 167290.7158221716, "testnet": false, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00000100, "errors": "" } [email protected]:~$ 
You see some useful info about your wallet/node:
blocks is the block heights, in this case is synced with the network. If not the number would be lower.
The wallet is connected to other 8 nodes, the balance is 0.00 BTCP
An other info command can be getblockchaininfo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getblockchaininfo 
Answer:
{ "chain": "main", "blocks": 340074, "headers": 340074, "bestblockhash": "0000000145c0011d8e914f4ba68d1443c7ae0dd15bdf0bc300994dd5282710aa", "difficulty": 165971.1181999981, "verificationprogress": 0.9999992572690658, "chainwork": "0000000000000000000000000000000000000000000000000002e8314e4484da", "pruned": false, "commitments": 663480, 
we see syncing is almost finished:
"verificationprogress": 0.9999992572690658, (99,99999%)
Now test the wallet with command getwalletinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Answer:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 0, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } [email protected]:~$ 
Now we want to send some btcp to this wallet. First we need an address, get one using getnewaddress:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
Answer:
b1Cabjwvcce7N8ea9Gxxxxxxxxxxxxxxxx [email protected]:~$ 
Send at this address some BTCP, i sent 0.01 for testing purpose using your ledger, or your wallet, then check if the transaction is done:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Answer:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.01000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Done! Unconfirmed balance is 0.01! Just wait some confirmations.
after a while:
"walletversion": 60000, "balance": 0.01000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 
Now send the coins to a new address. I am using this command:
sendtoaddress "btcpaddress" amount ( "comment" "comment-to" subtractfeefromamount )
subtractfeefromamount parameter can be true or false
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli sendtoaddress "b1Nb42GoK9kmsxxxxxxxxxxxxx" 0.01 "" "" true 
Answer:
2c5d3d1a3b5eec414b721d3817487f53c5eebxxxxxxxxxxxxxxx [email protected]:~$ 
Now check the wallet:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Answer:
{ "walletversion": 60000, "balance": 0.00999808, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 2, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
I sent BTCP to the same wallet, so now i have less BTCP because of the fees.
try more commands:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listreceivedbyaddress 
Answer:
[ { "address": "b1Ep2wi2tUnKf433Vaxxxxxxxxxxxx", "account": "", "amount": 0.01000000, "confirmations": 6, "txids": [ "833533440a13c09fda6e90d0c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] }, { "address": "b1Nb42GoK9kmsVZ9KPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "account": "", "amount": 0.00999808, "confirmations": 1, "txids": [ "2c5d3d1a3b5eec414b721d3817487f53c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } 
This is the list of all used addresses.
Now find the money and the address where they are: use listunspent
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Answer:
[ { "txid": "2c5d3d1a3b5eec414b721d381748xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1Nb42GoK9kxxxxxxxxxxxxxx", "account": "", "scriptPubKey": "76a914c6bdf3bc8aedxxxxxxxxxxxxxxxxxx", "amount": 0.00999808, "confirmations": 6, "spendable": true 
Well done.
Other useful commands can be: dumpprivkey to extract the private key from an address
Be careful! Exposing your private keys will end in loosing your money
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli dumpprivkey b1Ep2wi2tUnxxxxxxxxxxx 
Obtaining the pvt key:
Kz29e62Bmxxxxxxxxxxxxxxxxxxxxxxx 
And now, swipe the private key using the command: importprivkey "btcpprivkey" ( "label" rescan )
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli importprivkey "Kz29e62Bmxxxxxxxxxxxxxxxxxxxxx" "" true 
Let's do a shielded transaction!
first, you must have a z_address:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getnewaddress 
Answer:
zkEvCiVwgHb3NFi2ee9HGPjno2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Check balaces, with also z_addres:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_gettotalbalance 
Answer:
{ "transparent": "0.00999808", "private": "0.00", "total": "0.00999808" } 
Now send some BTCP to the z_address. First, check where BTCP are:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Output:
[ { "txid": "72f568d1ed51524b69f1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx", "scriptPubKey": "76axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe088xx", "amount": 0.00889808, "confirmations": 556, "spendable": true } ] 
Now, sent a little transparent amount to the shielded address we got before:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_sendmany "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx" "[{\"amount\":0.001, \"address\":\"zkEvCiVwgHb3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}]" 
Output:
opid-xxxxxxx-36c4-xxxx-beb2-xxxxxxxxxxxx 
Now your PC will work a while, it's CPU consuming...so...check:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getoperationresult 
until you receive the answer:
[ { "id": "opid-xxxxxx-xxxxx-4a5d-beb2-xxxxxxxxxx", "status": "success", "creation_time": 1529426885, "result": { "txid": "f87e8d5e96a8a0xxxxxxxxxxxxxxx" }, "execution_secs": 216.686332567, "method": "z_sendmany", "params": { "fromaddress": "b1LDhxxxxxxxxxxx", "amounts": [ { "amount": 0.001, "address": "zkEvCiVwgHb3NFxxxxxxxxxxxxxxxxxxR" } ], "minconf": 1, "fee": 0.0001 } } ] 
Done! On my old PC it took 216.68 seconds!
Next will be a reverse operation, from Shielded address to transparent address. See you soon....
Play with your full node wallet and have fun.
Remember: these commands are almost the same in all the bitcoin based coins, so you also learnt how to use many other wallets!
submitted by xivan71 to u/xivan71 [link] [comments]

Problems importing private key from paper wallet to bitcoin-qt

For testing purposes I sent some BTC to a paper wallet from my bitcoin-qt client and later, after ~50 confirmations I imported the private key from the paper wallet back into bitcoin-qt with the command importprivkey $key $label rescan and after half an hour of rescan it doesn't show anything. Well, almost nothing, it renamed the paperwallet address I sent to in the first place to "$label" in the outgoing transaction, but no other sign of the imported private key, especially the balance didn't change. The Blockchain explorer shows the funds are still under the associated paper wallet address. Anybody knows what's going on here, what I did wrong and how to do it correctly? Thanks!
submitted by kbdwarrior to Bitcoin [link] [comments]

Need help retrieving cold stored Bitcoin to dump that other coin we now have

Hey guys, I have a moderate amount of Bitcoin in a paper wallet made many years ago and like many of you, i'm sure, found myself in possession of this cash thingy i'm more than willing to dump for the free money. What method would you advise (preferably offline) to bring these coins back to life and separate them so the [BeeKash] can be safely dumped and the Bitcoin moved back again to a new paper wallet? I've made a test paper wallet and tried importprivkey on a fully sync'ed Bitcoin Core client but then I get stuck in a 1% Rescanning [ http://imgur.com/a/SJDoq ] (my computer is very good so I don't know what's that about ). I have moderate linux, crypto and programming knowledge but I haven't done this except back in the day when I first created the paper wallets so I'm not so sure. My paper wallet keys are Bip38 encrypted btw.
[EDIT] this automod is retarded, why would you want to give the btc sub reasons to keep calling you censors?
submitted by chaparrobit to Bitcoin [link] [comments]

Bitcoin Unlimited - Bitcoin Cash edition 1.2.0.0 has just been released

Download the latest Bitcoin Cash compatible release of Bitcoin Unlimited (1.2.0.0, January 7, 2018) from:
 
https://www.bitcoinunlimited.info/download
 
This release implements Bitcoin Cash, compliant with the latest hard fork (Nov 13, 2017) and adding CashAddr and Bitpay address format support
 
The main changes of this release is the introduction of the cashaddr new address format. The specification for this new address encoding could be find here. The old format continue to be supported and won't be deprecated, The old format will remain the default till January 14th, 2017, on that day the new format will be used as default new format automatically. A command line flag -usecashaddr and configuration parameter could be used to select which format to by default.
Add limited support to BitPay Bitcoin Cash addresses format, this new format is accepted in any time an address is requested, and you can show the BitPay address form using the getaddressforms RPC. However BitPay-form addresses are not displayed in the GUI or as responses to any other RPCs.
Other notable changes:
 
Release notes: https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/BitcoinCash/doc/release-notes/release-notes-bucash1.2.0.0.md
 
Ubuntu PPA is in the process of being updated.
submitted by s1ckpig to bitcoin_unlimited [link] [comments]

Uso del Full Node Wallet BTCP Bitcoin Private da Terminale Linux

In questo post voglio dimostrare alcuni utilizzi del Full Node Wallet Bitcoin Private da terminale Linux
AVVERTENZA:
Usate questo tutorial con un piccolo quantitativo di BTCP, nell'esempio utilizzo 0,01 BTCP, almeno fino a quando non vi sentite sicuri nell'uso dei comandi. Fate attenzione! I comandi vengono eseguiti senza possibilità di annullarli, salvo in casi eccezionali, quindi fate tutto a vostro rischio.
PREMESSA:
Il wallet è già stato installato sul vostro PC o in un server Cloud usando le seguenti istruzioni:https://github.com/BTCPrivate/bitcoinprivate
Io uso una Ubuntu 16.04 LTS 64bit, ma i comandi sono simili anche per la distribuzione Windows.
Andrebbe anche aperta la porta TCP 7932 per avere un wallet perfettamente funzionante, ma ho fatto le prove senza aprirla.
Come attivare il firewall:
sudo ufw status
Please note: Make sure you enter the code in this order! If you do not, the program will not work! (If need be you can disable your firewall by entering: sudo ufw disable)
sudo ufw default allow outgoing sudo ufw default deny incoming sudo ufw allow ssh/tcp sudo ufw limit ssh/tcp sudo ufw allow http/tcp sudo ufw allow https/tcp sudo ufw allow 7932/tcp sudo ufw logging on sudo ufw enable
Apri un nuovo terminale troverai il prompt dei comandi, il mio è così, ma potrebbe essere differente:
[email protected]:~$ 
Scrivi quello che segue e premi invio:
[email protected]:~$ ./BitcoinPrivate/src/btcpd --daemon 
dovrebbe apparire il seguente messaggio:
BTCP Server Starting 
Questo significa che hai avviato il server (full node wallet) in modalità daemon, silenziosa. Per fermarlo scrivi:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli stop 
Otterrai la risposta:
BTCP server stopping 
Puoi anche avviare il wallet in una finestra del terminale e vederlo lavorare, anzichè usare il comando --daemon
[email protected]:~$ ./BitcoinPrivate/src/btcpd 
Vedreai apparire un logo del BTCP formato da tanti caratteri e la seguente scritta:
Thank you for running a Bitcoin Private node! You're strengthening the network and contributing to a social good. To ensure you are fully protecting your privacy when running BTCP, see . Block height | 340079 Connections | 8 Network solution rate | 8359387 Sol/s You are currently not mining. To enable mining, add 'gen=1' to your btcprivate.conf and restart. Since starting this node 1 minutes, 33 seconds ago: - You have validated 695 transactions! [Press Ctrl+C to exit] [Set 'showmetrics=0' to hide] 
Block height è l'allineamento del wallet con la blockchain, richiede tempo perchè si allinei e scarichi tutta la blockchain, dipende dalla velocità del tuo collegamento e del tuo pc.Connections: 8 sono i nodi a cui è collegato il nostro wallet, che è un vero e proprio nodo.
Network solution rate è la "potenza" di tutta la rete di elaborare i blocchi in Sol/s
Con un full node puoi partecipare anche tu a rafforzare la rete, abilitando il mining. Si tratta di un solo mining, quindi le probabilità di risolvere un blocco sono veramente minime.
Per farlo basta aggiungere la voce gen=1 nel file btcprivate.conf
Proviamo a farlo. Blocchiamo il nodo con il comando CTRL + C e aspettiamo che appaia il prompt di comando.
Appena appare, inseriamo i seguenti comandi:
[email protected]:~$ cd .btcprivate [email protected]:~/.btcprivate$ ls 
ci siamo spostati nella directory nascosta (inizia per .) contenente i file di configurazione di BTCP, ls mostra i file contenuti:
blocks btcprivate.conf chainstate db.log debug.log fee_estimates.dat peers.dat wallet.dat 
puoi vedere il file btcprivate.conf e wallet.dat che è il file del wallet del nodo. Editiamo ora il file di configurazione, io uso PICO, un text editor per linux, ma potete usare anche vi se preferite:
[email protected]:~/.btcprivate$ pico btcprivate.conf 
inserite gen=1 in una riga vuota del file di configurazione e poi chiudete l'editor salvando con i comandi CTRL+X e Y
gen=1 
tornate nella directory home:
[email protected]:~/.btcprivate$ cd 
Fate riavviare il wallet con il comando:
[email protected]:~$ ./BitcoinPrivate/src/btcpd 
Otterrete il seguente output:
Block height | 340091 Connections | 8 Network solution rate | 8211926 Sol/s Local solution rate | 0.0075 Sol/s Since starting this node 8 minutes, 5 seconds ago: - You have validated 684 transactions! - You have completed 1 Equihash solver runs. You are mining with the default solver on 1 threads. 
Congratulazioni! State minando!
Ora diamo un occhiata al file wallet.dat
ATTENZIONE:
wallet.dat è il vostro wallet, se lo cancellate o lo riscrivete perderete tutti i BTCP che contiene. Consiglio di farne una copia ma attenzione: wallet.dat non è crittografato, quindi vi consiglio di crittografarlo prima di spostarlo dal PC: primo faccio una copia.
Bloccate nuovamente il wallet con CTRL+C
Al prompt scrivete:
[email protected]:~$ cd .btcprivate 
Poi copiate il file sul Desktop (scrivania) Sostituite la parola Desktop con Scrivania se avete installato Linux in Italiano
[email protected]:~/.btcprivate$ cp wallet.dat home/btcp/Desktop/wallet_btcp_back.dat 
Ora troverete il file wallet_btcp_back.dat sulla scrivania, crittografatelo AES256 usando il gestore degli archivi GUI e impostando una password resistente. Per verificare che tutto funzioni, vi consiglio di fare una altra copia di wallet.dat, estrarre il file dall'archivio crittato e sostituirlo al wallet.dat. se tutto funziona siete a posto. Se non siete sicuri non fate nulla e non usate questo wallet per mettere i vostri BTCP, ma nolo per scopi didattici con pochi spiccioli. E' facile fare errori e perdere tutto.
Tornate alla directory home e riavviate il server in daemon mode.
proviamo alcuni comandi usando il client: btcp-cli
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli help 
Se tutto funziona correttamente vi risponderà con la lista di tutti i comandi disponibili:
z_exportwallet "filename" z_getbalance "address" ( minconf ) z_getnewaddress z_getoperationresult (["operationid", ... ]) z_getoperationstatus (["operationid", ... ]) z_gettotalbalance ( minconf ) z_importkey "zkey" ( rescan startHeight ) z_importwallet "filename" z_listaddresses z_listoperationids z_listreceivedbyaddress "address" ( minconf ) z_sendmany "fromaddress" [{"address":... ,"amount":...},...] ( minconf ) ( fee ) z_shieldcoinbase "fromaddress" "tozaddress" ( fee ) zcbenchmark benchmarktype samplecount zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new zcrawkeygen zcrawreceive zcsecretkey encryptednote zcsamplejoinsplit [email protected]:~$ 
Benissimo! Ora proviamo ad usare qualche comando, comunciamo con getinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getinfo 
Risposta:
{ "version": 1001251, "protocolversion": 180004, "walletversion": 60000, "balance": 0.00000000, "blocks": 340074, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 167290.7158221716, "testnet": false, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00000100, "errors": "" } [email protected]:~$ 
Nella risposta troverete alcune informazioni sul wallet, versione, block height, connections, balance = 0 ecc ecc
Proviamo ora getblockchaininfo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getblockchaininfo 
Risposta:
{ "chain": "main", "blocks": 340074, "headers": 340074, "bestblockhash": "0000000145c0011d8e914f4ba68d1443c7ae0dd15bdf0bc300994dd5282710aa", "difficulty": 165971.1181999981, "verificationprogress": 0.9999992572690658, "chainwork": "0000000000000000000000000000000000000000000000000002e8314e4484da", "pruned": false, "commitments": 663480, 
La sincronizzazione in questo caso è terminata:"verificationprogress": 0.9999992572690658, (99,99999%)
Ora proviamo getwalletinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Risposta:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 0, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } [email protected]:~$ 
Proviamo a ricevere dei BTCP da un wallet esterno, per prima cosa abbiamo bisogno di un transparent address da comunicare a chi ci invia i BTCP. Lo otteniamo con il comando getnewaddress:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
Risposta: otteniamo un indirizzo (le xxx le ho aggiunte per mascherarlo)
b1Cabjwvcce7N8ea9Gxxxxxxxxxxxxxxxx [email protected]:~$ 
Inviate con un vostro wallet grafico o con electrum pochi BTCP, io ne ho mandati 0.01 per prova, dopo che li avete inviati, verificate se sono arrivati:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Risposta:
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.01000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Arrivati ! "Unconfirmed balance" 0.01! non sono ancora confermati, quindi aspettate un po' e ripetete il comando:
"walletversion": 60000, "balance": 0.01000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 
Adesso balance è 0.01 perfetto!
Proviamo adesso ad inviare questi BTCP ad un nuovo T-Address, per semplicità li invierò ad un indirizzo di questo wallet
Generiamo un nuovo indirizzo per riceverli:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
Otteniamo:
b1Nb42GoK9kmsxxxxxxxxxxxxx 
copiamo l'indirizzo e usiamo il comando sendtoaddress "btcpaddress" amount ( "comment" "comment-to" subtractfeefromamount )
il parametro subtractfeefromamount puo' essere true or false a seconda se vogliamo che le fee vengano detratte dall'ammontare inviato o meno. Io invio tutto quanto al nuovo indirizzo e quindi le fee vanno dedotte da questo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli sendtoaddress "b1Nb42GoK9kmsxxxxxxxxxxxxx" 0.01 "" "" true 
Risposta:
2c5d3d1a3b5eec414b721d3817487f53c5eebxxxxxxxxxxxxxxx [email protected]:~$ 
Controlliamo cosa è successo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
Risposta:
{ "walletversion": 60000, "balance": 0.00999808, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 2, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Come vedete i BTCP sono diminuiti, perchè sono stati spostati su un nuovo indirizzo dello stesso wallet, pagando le fee. Ora vediamo esattamente dove sono e dove erano:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listreceivedbyaddress 
Risposta:
[ { "address": "b1Ep2wi2tUnKf433Vaxxxxxxxxxxxx", "account": "", "amount": 0.01000000, "confirmations": 6, "txids": [ "833533440a13c09fda6e90d0c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] }, { "address": "b1Nb42GoK9kmsVZ9KPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "account": "", "amount": 0.00999808, "confirmations": 1, "txids": [ "2c5d3d1a3b5eec414b721d3817487f53c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } 
Questo comando vi da informazione di tutti gli indirizzi usati, vediamo solo gli indirizzi non spesi: listunspent
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Risposta:
[ { "txid": "2c5d3d1a3b5eec414b721d381748xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1Nb42GoK9kxxxxxxxxxxxxxx", "account": "", "scriptPubKey": "76a914c6bdf3bc8aedxxxxxxxxxxxxxxxxxx", "amount": 0.00999808, "confirmations": 6, "spendable": true 
Ottimo!
Ora possiamo provare un comando che ci permette di estrarre la chiave provata da un indirizzo pubblico. Questo puo' essete utile in occasione di Fork o Airdrop per estrarre le monete.
ATTENZIONE: esporre a terzi le chiavi private è rischioso. Potrebbero rubare tutto il contenuto. Fate molta attenzione. Estraete le private keys solo se necessario o per fare delle prove su indirizzi che contengono pochi spicci. In ogni caso, dopo aver usato la private key meglio non riutilizzare quell'indirizzo.
Il comando da utilizzare è dumpprivkey T-ADDRESS
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli dumpprivkey b1Ep2wi2tUnxxxxxxxxxxx 
L'output sarà tipo il seguente, al solito la chiave è mascherata con delle xxxxxx
Kz29e62Bmxxxxxxxxxxxxxxxxxxxxxxx 
Ora proviamo lo swipe della chiave, cioè il wallet andrà a cercare nella blockchain tutti gli importi collegati a quella pvt key, : importprivkey "btcpprivkey" ( "label" rescan )
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli importprivkey "Kz29e62Bmxxxxxxxxxxxxxxxxxxxxx" "" true 
Ora proviamo a fare delle Shielded Transaction, queste transazioni utilizzano la tecnologia zk-Snark per mascherare importi e indirizzi. Per prima cosa dobbiamo ottenere un indirizzo Shielded dal nostro wallet.
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getnewaddress 
Eccolo generato:
zkEvCiVwgHb3NFi2ee9HGPjno2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Vediamo dove sono i nostri BTCP, al momento sono solo su indirizzi Transparent:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_gettotalbalance 
Answer:
{ "transparent": "0.00999808", "private": "0.00", "total": "0.00999808" } 
ora mandiamo qualche BTCP all'indirizzo z_address. Per prima cosa dobbiamo recuperare l'indirizzo t-address dove si trovano:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
Eccoli:
[ { "txid": "72f568d1ed51524b69f1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx", "scriptPubKey": "76axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe088xx", "amount": 0.00889808, "confirmations": 556, "spendable": true } ] 
Adesso mandiamo un po' di BTCP all'indirizzo Shielded che abbiamo ottenuto sopra. Il comando è abbastanza complicato ma funziona cosi':
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_sendmany "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx" "[{\"amount\":0.001, \"address\":\"zkEvCiVwgHb3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}]" 
Risultato:
opid-xxxxxxx-36c4-xxxx-beb2-xxxxxxxxxxxx 
Una transazione zk-Snark è piuttosto pesante da elaborare, il mio vecchio PC ci mette un po'. Meglio disattivare processi inutili. Si puo' controllare se l'operazione è andata a buon fine:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getoperationresult 
al termine dovreste ricevere il seguente output:
[ { "id": "opid-xxxxxx-xxxxx-4a5d-beb2-xxxxxxxxxx", "status": "success", "creation_time": 1529426885, "result": { "txid": "f87e8d5e96a8a0xxxxxxxxxxxxxxx" }, "execution_secs": 216.686332567, "method": "z_sendmany", "params": { "fromaddress": "b1LDhxxxxxxxxxxx", "amounts": [ { "amount": 0.001, "address": "zkEvCiVwgHb3NFxxxxxxxxxxxxxxxxxxR" } ], "minconf": 1, "fee": 0.0001 } } ] 
Fatto! Sul mio vecchio PC ci sono voluti 216,68 secondi!
La prossima prova sarà un invio da indirizzo Shielded a Transparent.
Play with your full node wallet and have fun.Remember: these commands are almost the same in all the bitcoin based coins, so you also learnt how to use many other wallets!
submitted by xivan71 to u/xivan71 [link] [comments]

Guide: How to redeem and sell bitcoin diamond (bcd) from ledger nano s (Segwit)

I spent two days to figure this out but I think I know how to solve this, just currently stuck and need your help! I had btc stored on a nano s segwit wallet before the fork.
Bitcoin diamond was forked from bitcoin on block #495866 (nov 24 2017) and launched the mainnet Jan 5 2018 (I think). There is currently very little information about this project and very little support on exchanges, wallets and mining. http://btcd.io
The only light wallet currently have a splitting tool is Bither for Android but they do not support Segwit. If you had your btc in a segwit wallet before the fork you can't use this method.
Otherwise follow this: https://steemit.com/bitcoin/@tiberiu/how-i-claimed-sbtc-super-bitcoin-from-my-paper-wallet Or this: https://www.reddit.com/BitcoinMarkets/comments/7oekie/guide_how_to_redeem_and_sell_all_bitcoin_fork/
You get 10 bcd for every btc and current price is 0.001 btc. That means you get $160/ forked btc which is 1% free money. Is it worth it? For me it is. You can use same method for both SBTC and BCD. Other methods can be used for BTX, BCX and BFX but have to wait for me. Need segwit support in Coinomi and/or Bither.
In my BCD case it was a bit more complicated but hopefully possible.
  1. Move btc from ledger nano to somewhere save
  2. Download the BIP39 converter (standalone version). Unplug your internet and run the html: https://github.com/iancoleman/bip39
  3. Enter your ledger 24 word mnemonic. Select BIP49 derivation path. Find your btc address that contained btc right before block 495866, copy private key. Use a block explorer: https://blockchain.info
  4. Find the tx ID that sent those btc and verify in bcd explorer if you have any bcd before you continue (click on the actual address will not work for some reason, shows empty). My tx had 3000 confirmations. http://explorer.btcd.io
  5. Now the complicated part =) You have to build bitcoin diamond core app from source because it doesn't exist yet: https://github.com/eveybcd/BitcoinDiamond
  6. I built it for windows x64 using this guide (by cloning bitcoin diamond from github instead of bitcoin when you come to that step). Took 1h.: https://github.com/bitcoin/bitcoin/blob/mastedoc/build-windows.md
  7. Actually quite cool you can run Ubuntu on Windows 10! You can build for 32 bit as well but not when you have installed dependencies for x64. The last step will copy the binaries to your windows folder: "make install DESTDIR=/mnt/c/workspace/bitcoindiamond"
  8. Run bitcoindiamond-qt in windows and let it sync with network. Took me 12h with fiber connection.
  9. Go to help and open console. If your wallet is encrypted, decrypt for 10min using: "walletpassphrase your-wallet-passphrase 600".
  10. Import old btc address as watch-only to check bcd balance. True means it will rescan the blockchain. Rescan took 1h with a decent PC (no SSD):
  11. If you see your BCD balance, now Import your btc private key into the watch-only address. No need to rescan again, thus "false".:
Ok here is where I'm stuck. I can see my balance but it's not spendable. I also tried to import private key directly (with sync) with empty core wallet but balance is still zero. It does not pick up the transaction! Anyone know how to solve this?
Rest of the guide when this is solved:
submitted by Joohansson to CryptoCurrency [link] [comments]

Importing paper wallet keys into BitcoinABC–claiming your BitcoinCash

I have been noticing in many posts/comments that people are asking how they can claim their Bitcoin Cash from a paper wallet.
In this post, I'll explain how you can do this using the BitcoinABC client. For the people that already know and understand this process, please understand that this post is for the people that don't know.
You'll need to download the BitcoinABC client and either let it sync the entire blockchain from the Internet(this will happen immediately when you first run the BitcoinABC client software), or copy an existing Bitcoin blockchain to the "Bitcoin" data directory, and let the software just download the new blocks that it needs. It might be best if you just let the blockchain fully download from the Internet(this can take a long time) if you're not comfortable with computer file management.
Once the blockchain(the Bitcoin Cash blockchain) is fully synchronised with the network, you are now ready to import your paper wallet private keys(the BitcoinABC client should be open, but the computer needs to be offline while doing this importing process–see the NOTE-1: below).
1 - Open the console command prompt; the command prompt is called "Debug Window", and it is located in the "Help" menu.
Then type importprivkey leave a single space and type in the full private key "1Zxjdu7bnj..." exactly/case sensitive(no quotes) in the BitcoinABC client. Press the "Return" or "Enter" key.
NOTE-1: Importing a private key is dangerous, as your money could be stolen if your computer has a virus, keystroke logger, or malware. Make sure–to the best of your ability–that the computer is free from these malicious software threats. Also, make sure that the client is disconnected from the internet while doing this process. Unplug the computer's ethernet cable, turn WiFi off, turn bluetooth off, or do all three things. Run an antivirus scan and eliminate threats
After rescan... (This refers to the blockchain rescan after the private key has been imported, and not the antivirus scan mentioned in the above paragraph).
2 - Make a new address/privkey.
3 - Select the specific input(wallet address that was imported in step 1). using "Coin Control Features", and send the full balance of the coins(and set fees) to the new address(the public key) that you made in step 2.
4 - Wait for confirmation on the Bitcoin Cash blockchain.
NOTE-2: This is all a lot easier if you have 2 computers that are dedicated to each respective blockchain. The 1st computer will have the Core blockchain and client software, and the 2nd computer has the Bitcoin Cash blockchain and BitcoinABC client; the BitcoinABC client should only connect to other BitcoinABC nodes.
One final point, your paper wallet will still have your Core Bitcoin coins stored in the address/private key. Do not throw the paper wallet away, and remain vigilant about protecting the private key(in other words...don't leave it out in the open where somebody else could quickly photograph it or scan it into their phone.
submitted by 4axioms to btc [link] [comments]

PSA: If you want to run a "full" node but don't have much disk space

...simply delete the old blk0***.dat files from your blocks directory after bitcoin-qt is done indexing them.
(or rename them if you want to test without having to redownload the blockchain)
This will work perfectly fine if you are not doing anything obscure. If a peer tries to load a block from you which you deleted your node will simply ignore the request. (see this private testnet test)
However, it will crash if you open the development console and use the getblock command to retrieve a deleted block, so don't do that.
Cases I have not tested yet:
For technical reasons I can't try a -rescan now, can anyone check what happens in such a case so we can fix any bugs that might have been overseen?
worst case scenario: it will crash and you'll have to restore the deleted/renamed blocks.
Edit: not sure if this works for p2pool mining as without the blocks and without full txindex you can't verify the transaction chains. is this necessary or does this only matter to p2pool operators, not miners?
Edit2: miners don't need the blockchain, deleting (or renaming..) blocks will work fine :) (just remember to let it finish indexing a blk file before you delete it)
Edit3: I think the confusion stems from the fact that 387943 thought the merkle tree was stored in the blk*.dat files :D
duh, i knew nobody could be seriously this retarded.
btw, BTCisGod is a real bitcoiner, he was just asking legit questions so don't hate him. he's not connected to the insane number.
submitted by iuoiuo to Bitcoin [link] [comments]

Importing Private keys into a QT based wallet, how is it done?

Before the fork I had been storing my tokens in MultiBit. I saw no need to incur a transaction fee to transfer those tokens into a QT compatible wallet format prior to the fork. So now I am here with multiple files that contain the private key(s) from those wallets.
I now need to import these keys into both my Bitcoin (Cash) and Bitcoin (Settlement) QT clients. What are the steps necessary to accomplish this?
I did find https://bitcointalk.org/index.php?topic=336404.0
Is this a safe method in which to perform the activity? I will be importing to Bitcoin ABC v0.14.6 & Bitcoin Unlimited v1.0.3.0
  1. Export private key from MultiBit without password (Done)
  2. edit file with some editor like Notepad++ (I'll probably just use Notepad, unless that is a bad idea?)
  3. copy only key - this is row without # ,and you must copy only key - no date and another symbols , (row indicates that it might be better to import to a spreadsheet?)
  4. then in BitCoin-Qt open from Help->Debug window ->Console (I am able to navigate to where the Console is not located)
  5. importprivkey [label] [rescan=true]
(Where is the information I copied from step 3? and also without the '<>')
(where label is name of owner - your name.; is this necessary? Do I need to provide a label? Can I leave it blank? And if I can leave it blank would I simply omit that the '[label]' argument?)
  1. And when press enter the your address with coins will appear in your addresses and in your balance.
Additionally, can this activity take place on a computer that is not connected to the applicable network? I am still waiting (1 year 40 weeks behind) for the Bitcoin (Settlement) wallet to download the chain (for some reason copying over of the pre-fork blocks did not take and now that the fork has occurred I do not want to try to start over or run the risk of re-installing).
Thank you for your assistance.
submitted by PilgramDouglas to btc [link] [comments]

Facilitating Discussion of 0.9.0 FINAL of Bitcoin Core (aka Bitcoin QT)

To facilitate a detailed discussion of some of the finer points of this update, I added numbering to each bullet in release notes, and also posted it to RapGenius, where people can annotate it if they'd like.
I'm not a programmer, but I'm curious to hear what programmers and other people smarter than me have to say about all the new changes.
http://rapgenius.com/The-bitcoin-dev-team-bitcoin-090-final-lyrics
EDIT1 : Doh! Reddit detroyed all the formatting and now i'm on baby duty so can't fix it. EDIT 2: Nap time! Just fixed the formatting :)
---- 0.9.0 RELEASE NOTES ----
Part 1. RPC:
1.1 - New notion of 'conflicted' transactions, reported as confirmations: -1
1.2 - 'listreceivedbyaddress' now provides tx ids
1.3 - Add raw transaction hex to 'gettransaction' output
1.4 - Updated help and tests for 'getreceivedby(account|address)'
1.5 - In 'getblock', accept 2nd 'verbose' parameter, similar to getrawtransaction, but defaulting to 1 for backward compatibility
1.6 - Add 'verifychain', to verify chain database at runtime
1.7 - Add 'dumpwallet' and 'importwallet' RPCs
1.8 - 'keypoolrefill' gains optional size parameter
1.9 - Add 'getbestblockhash', to return tip of best chain
1.10 - Add 'chainwork' (the total work done by all blocks since the genesis block) to 'getblock' output
1.11 - Make RPC password resistant to timing attacks
1.12 - Clarify help messages and add examples
1.13 - Add 'getrawchangeaddress' call for raw transaction change destinations
1.14 - Reject insanely high fees by default in 'sendrawtransaction'
1.15 - Add RPC call 'decodescript' to decode a hex-encoded transaction script
1.16 - Make 'validateaddress' provide redeemScript
1.17 - Add 'getnetworkhashps' to get the calculated network hashrate
1.18 - New RPC 'ping' command to request ping, new 'pingtime' and 'pingwait' fields in 'getpeerinfo' output
1.19 - Adding new 'addrlocal' field to 'getpeerinfo' output
1.20 - Add verbose boolean to 'getrawmempool'
1.21 - Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance
1.22 - Explicitly ensure that wallet is unlocked in importprivkey
1.23 - Add check for valid keys in importprivkey
Part 2. Command-line options:
2.1 - New option: -nospendzeroconfchange to never spend unconfirmed change outputs
2.2 - New option: -zapwallettxes to rebuild the wallet's transaction information
2.3 - Rename option '-tor' to '-onion' to better reflect what it does
2.4 - Add '-disablewallet' mode to let bitcoind run entirely without wallet (when built with wallet)
2.5 - Update default '-rpcsslciphers' to include TLSv1.2
2.6 - make '-logtimestamps' default on and rework help-message
2.7 - RPC client option: '-rpcwait', to wait for server start
2.8 - Remove '-logtodebugger'
2.9 - Allow -noserver with bitcoind
Part 3. Block-chain handling and storage:
3.1 - Update leveldb to 1.15
3.2 - Check for correct genesis (prevent cases where a datadir from the wrong network is accidentally loaded)
3.3 - Allow txindex to be removed and add a reindex dialog
3.4 - Log aborted block database rebuilds
3.5 - Store orphan blocks in serialized form, to save memory
3.6 - Limit the number of orphan blocks in memory to 750
3.7 - Fix non-standard disconnected transactions causing mempool orphans
3.8 - Add a new checkpoint at block 279,000
Part 4. Wallet:
4.1 - Bug fixes and new regression tests to correctly compute the balance of wallets containing double-spent (or mutated) transactions
4.2 - Store key creation time. Calculate whole-wallet birthday
4.3 - Optimize rescan to skip blocks prior to birthday
4.4 - Let user select wallet file with -wallet=foo.dat
4.5 - Consider generated coins mature at 101 instead of 120 blocks
4.6 - Improve wallet load time
4.7 - Don't count txins for priority to encourage sweeping
4.8 - Don't create empty transactions when reading a corrupted wallet
4.9 - Fix rescan to start from beginning after importprivkey
4.10 - Only create signatures with low S values
Part 5. Mining:
5.1 - Increase default -blockmaxsize/prioritysize to 750K/50K
5.2 - 'getblocktemplate' does not require a key to create a block template
5.3 - Mining code fee policy now matches relay fee policy
Part 6. Protocol and network:
6.1 - Drop the fee required to relay a transaction to 0.01mBTC per kilobyte
6.2 - Send tx relay flag with version
6.3 - New 'reject' P2P message (BIP 0061, see https://gist.github.com/gavinandresen/7079034 for draft)
6.4 - Dump addresses every 15 minutes instead of 10 seconds
6.5 - Relay OP_RETURN data TxOut as standard transaction type
6.6 - Remove CENT-output free transaction rule when relaying
6.7 - Lower maximum size for free transaction creation
6.8 - Send multiple inv messages if mempool.size > MAX_INV_SZ
6.9 - Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
6.10 - Do not treat fFromMe transaction differently when broadcasting
6.11 - Process received messages one at a time without sleeping between messages
6.12 - Improve logging of failed connections
6.13 - Bump protocol version to 70002
6.14 - Add some additional logging to give extra network insight
6.15 - Added new DNS seed from bitcoinstats.com
Part 7. Validation:
7.1 - Log reason for non-standard transaction rejection
7.2 - Prune provably-unspendable outputs, and adapt consistency check for it
7.3 - Detect any sufficiently long fork and add a warning
7.4 - Call the -alertnotify script when we see a long or invalid fork
7.5 - Fix multi-block reorg transaction resurrection
7.6 - Reject non-canonically-encoded serialization sizes
7.7 - Reject dust amounts during validation
7.8 - Accept nLockTime transactions that finalize in the next block
Part 8. Build system:
8.1 - Switch to autotools-based build system
8.2 - Build without wallet by passing --disable-wallet to configure, this removes the BerkeleyDB dependency
8.3 - Upgrade gitian dependencies (libpng, libz, libupnpc, boost, openssl) to more recent versions
8.4 - Windows 64-bit build support
8.5 - Solaris compatibility fixes
8.6 - Check integrity of gitian input source tarballs
8.7 - Enable full GCC Stack-smashing protection for all OSes
Part 9. GUI:
9.1 - Switch to Qt 5.2.0 for Windows build
9.2 - Add payment request (BIP 0070) support
9.3 - Improve options dialog
9.4 - Show transaction fee in new send confirmation dialog
9.5 - Add total balance in overview page
9.6 - Allow user to choose data directory on first start, when data directory ismissing, or when the -choosedatadir option is passed
9.7 - Save and restore window positions
9.8 - Add vout index to transaction id in transactions details dialog
9.9 - Add network traffic graph in debug window
9.10 - Add open URI dialog
9.11 - Add Coin Control Features
9.12 - Improve receive coins workflow: make the 'Receive' tab into a form to request payments, and move historical address list functionality to File menu
9.13 - Rebrand to Bitcoin Core
9.14 - Move initialization/shutdown to a thread. This prevents "Not responding" messages during startup. Also show a window during shutdown
9.15 - Don't regenerate autostart link on every client startup
9.16 - Show and store message of normal bitcoin:URI
9.17 - Fix richtext detection hang issue on very old Qt versions
9.18 - OS X: Make use of the 10.8+ user notification center to display Growl-like notifications
9.19 - OS X: Added NSHighResolutionCapable flag to Info.plist for better font rendering on Retina displays
9.20 - OS X: Fix bitcoin-qt startup crash when clicking dock icon
9.21 - Linux: Fix Gnome bitcoin: URI handler
Part 10. Miscellaneous:
10.1 - Add Linux script (contrib/qos/tc.sh) to limit outgoing bandwidth
10.2 - Add '-regtest' mode, similar to testnet but private with instant block generation with 'setgenerate' RPC
10.3 - Add 'linearize.py' script to contrib, for creating bootstrap.dat
10.4 - Add separate bitcoin-cli client
submitted by WhiteyFisk to Bitcoin [link] [comments]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

Wladimir on Feb 16 2015:
Bitcoin Core version 0.10.0 is now available from:
https://bitcoin.org/bin/0.10.0/
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
The whole distribution is also available as torrent:
https://bitcoin.org/bin/0.10.0/bitcoin-0.10.0.torrent
magnet:?xt=urn:btih:170c61fe09dafecfbb97cb4dccd32173383f4e68&dn;=0.10.0&tr;=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr;=udp%3A%2F%2Fopen.demonii.com%3A1337&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrading warning
Because release 0.10.0 makes use of headers-first synchronization and parallel
block download (see further), the block files and databases are not
backwards-compatible with older versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes

Faster synchronization
Bitcoin Core now uses 'headers-first synchronization'. This means that we first
ask peers for block headers (a total of 27 megabytes, as of December 2014) and
validate those. In a second stage, when the headers have been discovered, we
download the blocks. However, as we already know about the whole chain in
advance, the blocks can be downloaded in parallel from all available peers.
In practice, this means a much faster and more robust synchronization. On
recent hardware with a decent network link, it can be as little as 3 hours
for an initial full synchronization. You may notice a slower progress in the
very first few minutes, when headers are still being fetched and verified, but
it should gain speed afterwards.
A few RPCs were added/updated as a result of this:
  • getblockchaininfo now returns the number of validated headers in addition to
the number of validated blocks.
  • getpeerinfo lists both the number of blocks and headers we know we have in
common with each peer. While synchronizing, the heights of the blocks that we
have requested from peers (but haven't received yet) are also listed as
'inflight'.
  • A new RPC getchaintips lists all known branches of the block chain,
including those we only have headers for.
Transaction fee changes
This release automatically estimates how high a transaction fee (or how
high a priority) transactions require to be confirmed quickly. The default
settings will create transactions that confirm quickly; see the new
'txconfirmtarget' setting to control the tradeoff between fees and
confirmation times. Fees are added by default unless the 'sendfreetransactions'
setting is enabled.
Prior releases used hard-coded fees (and priorities), and would
sometimes create transactions that took a very long time to confirm.
Statistics used to estimate fees and priorities are saved in the
data directory in the fee_estimates.dat file just before
program shutdown, and are read in at startup.
New command line options for transaction fee changes:
  • -txconfirmtarget=n : create transactions that have enough fees (or priority)
so they are likely to begin confirmation within n blocks (default: 1). This setting
is over-ridden by the -paytxfee option.
  • -sendfreetransactions : Send transactions as zero-fee transactions if possible
(default: 0)
New RPC commands for fee estimation:
  • estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for
a transaction to begin confirmation within nblocks. Returns -1 if not enough
transactions have been observed to compute a good estimate.
  • estimatepriority nblocks : Returns approximate priority needed for
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
enough free transactions have been observed to compute a good
estimate.
RPC access control changes
Subnet matching for the purpose of access control is now done
by matching the binary network address, instead of with string wildcard matching.
For the user this means that -rpcallowip takes a subnet specification, which can be
  • a single IP address (e.g. 1.2.3.4 or fe80::0012:3456:789a:bcde)
  • a network/CIDR (e.g. 1.2.3.0/24 or fe80::0000/64)
  • a network/netmask (e.g. 1.2.3.4/255.255.255.0 or fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
An arbitrary number of -rpcallow arguments can be given. An incoming connection will be accepted if its origin address
matches one of them.
For example:
| 0.9.x and before | 0.10.x |
|--------------------------------------------|---------------------------------------|
| -rpcallowip=192.168.1.1 | -rpcallowip=192.168.1.1 (unchanged) |
| -rpcallowip=192.168.1.* | -rpcallowip=192.168.1.0/24 |
| -rpcallowip=192.168.* | -rpcallowip=192.168.0.0/16 |
| -rpcallowip=* (dangerous!) | -rpcallowip=::/0 (still dangerous!) |
Using wildcards will result in the rule being rejected with the following error in debug.log:
 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). 
REST interface
A new HTTP API is exposed when running with the -rest flag, which allows
unauthenticated access to public node data.
It is served on the same port as RPC, but does not need a password, and uses
plain HTTP instead of JSON-RPC.
Assuming a local RPC server running on port 8332, it is possible to request:
In every case, EXT can be bin (for raw binary data), hex (for hex-encoded
binary) or json.
For more details, see the doc/REST-interface.md document in the repository.
RPC Server "Warm-Up" Mode
The RPC server is started earlier now, before most of the expensive
intialisations like loading the block index. It is available now almost
immediately after starting the process. However, until all initialisations
are done, it always returns an immediate error with code -28 to all calls.
This new behaviour can be useful for clients to know that a server is already
started and will be available soon (for instance, so that they do not
have to start it themselves).
Improved signing security
For 0.10 the security of signing against unusual attacks has been
improved by making the signatures constant time and deterministic.
This change is a result of switching signing to use libsecp256k1
instead of OpenSSL. Libsecp256k1 is a cryptographic library
optimized for the curve Bitcoin uses which was created by Bitcoin
Core developer Pieter Wuille.
There exist attacks[1] against most ECC implementations where an
attacker on shared virtual machine hardware could extract a private
key if they could cause a target to sign using the same key hundreds
of times. While using shared hosts and reusing keys are inadvisable
for other reasons, it's a better practice to avoid the exposure.
OpenSSL has code in their source repository for derandomization
and reduction in timing leaks that we've eagerly wanted to use for a
long time, but this functionality has still not made its
way into a released version of OpenSSL. Libsecp256k1 achieves
significantly stronger protection: As far as we're aware this is
the only deployed implementation of constant time signing for
the curve Bitcoin uses and we have reason to believe that
libsecp256k1 is better tested and more thoroughly reviewed
than the implementation in OpenSSL.
[1] https://eprint.iacr.org/2014/161.pdf
Watch-only wallet support
The wallet can now track transactions to and from wallets for which you know
all addresses (or scripts), even without the private keys.
This can be used to track payments without needing the private keys online on a
possibly vulnerable system. In addition, it can help for (manual) construction
of multisig transactions where you are only one of the signers.
One new RPC, importaddress, is added which functions similarly to
importprivkey, but instead takes an address or script (in hexadecimal) as
argument. After using it, outputs credited to this address or script are
considered to be received, and transactions consuming these outputs will be
considered to be sent.
The following RPCs have optional support for watch-only:
getbalance, listreceivedbyaddress, listreceivedbyaccount,
listtransactions, listaccounts, listsinceblock, gettransaction. See the
RPC documentation for those methods for more information.
Compared to using getrawtransaction, this mechanism does not require
-txindex, scales better, integrates better with the wallet, and is compatible
with future block chain pruning functionality. It does mean that all relevant
addresses need to added to the wallet before the payment, though.
Consensus library
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
The purpose of this library is to make the verification functionality that is
critical to Bitcoin's consensus available to other applications, e.g. to language
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
alternative node implementations.
This library is called libbitcoinconsensus.so (or, .dll for Windows).
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
In its initial version the API includes two functions:
  • bitcoinconsensus_verify_script verifies a script. It returns whether the indicated input of the provided serialized transaction
correctly spends the passed scriptPubKey under additional constraints indicated by flags
  • bitcoinconsensus_version returns the API version, currently at an experimental 0
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
for existing methods should remain stable.
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
While the Bitcoin protocol has always supported these types of script,
actually using them on mainnet has been previously inconvenient as
standard Bitcoin Core nodes wouldn't relay them to miners, nor would
most miners include them in blocks they mined.
bitcoin-tx
It has been observed that many of the RPC functions offered by bitcoind are
"pure functions", and operate independently of the bitcoind wallet. This
included many of the RPC "raw transaction" API functions, such as
createrawtransaction.
bitcoin-tx is a newly introduced command line utility designed to enable easy
manipulation of bitcoin transactions. A summary of its operation may be
obtained via "bitcoin-tx --help" Transactions may be created or signed in a
manner similar to the RPC raw tx API. Transactions may be updated, deleting
inputs or outputs, or appending new inputs and outputs. Custom scripts may be
easily composed using a simple text notation, borrowed from the bitcoin test
suite.
This tool may be used for experimenting with new transaction types, signing
multi-party transactions, and many other uses. Long term, the goal is to
deprecate and remove "pure function" RPC API calls, as those do not require a
server round-trip to execute.
Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
key and script operations easily accessible via command line.
Mining and relay policy enhancements
Bitcoin Core's block templates are now for version 3 blocks only, and any mining
software relying on its getblocktemplate must be updated in parallel to use
libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
If you are solo mining, this will affect you the moment you upgrade Bitcoin
Core, which must be done prior to BIP66 achieving its 951/1001 status.
If you are mining with the stratum mining protocol: this does not affect you.
If you are mining with the getblocktemplate protocol to a pool: this will affect
you at the pool operator's discretion, which must be no later than BIP66
achieving its 951/1001 status.
The prioritisetransaction RPC method has been added to enable miners to
manipulate the priority of transactions on an individual basis.
Bitcoin Core now supports BIP 22 long polling, so mining software can be
notified immediately of new templates rather than having to poll periodically.
Support for BIP 23 block proposals is now available in Bitcoin Core's
getblocktemplate method. This enables miners to check the basic validity of
their next block before expending work on it, reducing risks of accidental
hardforks or mining invalid blocks.
Two new options to control mining policy:
  • -datacarrier=0/1 : Relay and mine "data carrier" (OP_RETURN) transactions
if this is 1.
  • -datacarriersize=n : Maximum size, in bytes, we consider acceptable for
"data carrier" outputs.
The relay policy has changed to more properly implement the desired behavior of not
relaying free (or very low fee) transactions unless they have a priority above the
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
BIP 66: strict DER encoding for signatures
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
consensus rule, which prohibits non-DER signatures. Such transactions have been
non-standard since Bitcoin v0.8.0 (released in February 2013), but were
technically still permitted inside blocks.
This change breaks the dependency on OpenSSL's signature parsing, and is
required if implementations would want to remove all of OpenSSL from the
consensus code.
The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
sequence of 1001 blocks have version number 3 or higher, the new consensus
rule becomes active for those blocks. When 951 out of a sequence of 1001
blocks have version number 3 or higher, it becomes mandatory for all blocks.
Backward compatibility with current mining software is NOT provided, thus miners
should read the first paragraph of "Mining and relay policy enhancements" above.
0.10.0 Change log

Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
RPC:
  • f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
  • b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection
  • 171ca77 estimatefee / estimatepriority RPC methods
  • b750cf1 Remove cli functionality from bitcoind
  • f6984e8 Add "chain" to getmininginfo, improve help in getblockchaininfo
  • 99ddc6c Add nLocalServices info to RPC getinfo
  • cf0c47b Remove getwork() RPC call
  • 2a72d45 prioritisetransaction
  • e44fea5 Add an option -datacarrier to allow users to disable relaying/mining data carrier transactions
  • 2ec5a3d Prevent easy RPC memory exhaustion attack
  • d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
  • 83f3543 Added argument to listaccounts to include watchonly addresses
  • 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
  • d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses
  • f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation
  • 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account
  • 6c37f7f getrawchangeaddress: fail when keypool exhausted and wallet locked
  • ff6a7af getblocktemplate: longpolling support
  • c4a321f Add peerid to getpeerinfo to allow correlation with the logs
  • 1b4568c Add vout to ListTransactions output
  • b33bd7a Implement "getchaintips" RPC command to monitor blockchain forks
  • 733177e Remove size limit in RPC client, keep it in server
  • 6b5b7cb Categorize rpc help overview
  • 6f2c26a Closely track mempool byte total. Add "getmempoolinfo" RPC
  • aa82795 Add detailed network info to getnetworkinfo RPC
  • 01094bd Don't reveal whether password is <20 or >20 characters in RPC
  • 57153d4 rpc: Compute number of confirmations of a block from block height
  • ff36cbe getnetworkinfo: export local node's client sub-version string
  • d14d7de SanitizeString: allow '(' and ')'
  • 31d6390 Fixed setaccount accepting foreign address
  • b5ec5fe update getnetworkinfo help with subversion
  • ad6e601 RPC additions after headers-first
  • 33dfbf5 rpc: Fix leveldb iterator leak, and flush before gettxoutsetinfo
  • 2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option
  • f877aaa submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
  • e69a587 submitblock: Support for returning specific rejection reasons
  • af82884 Add "warmup mode" for RPC server
  • e2655e0 Add unauthenticated HTTP REST interface to public blockchain data
  • 683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server
  • 44b4c0d signrawtransaction: validate private key
  • 9765a50 Implement BIP 23 Block Proposal
  • f9de17e Add warning comment to getinfo
Command-line options:
  • ee21912 Use netmasks instead of wildcards for IP address matching
  • deb3572 Add -rpcbind option to allow binding RPC port on a specific interface
  • 96b733e Add -version option to get just the version
  • 1569353 Add -stopafterblockimport option
  • 77cbd46 Let -zapwallettxes recover transaction meta data
  • 1c750db remove -tor compatibility code (only allow -onion)
  • 4aaa017 rework help messages for fee-related options
  • 4278b1d Clarify error message when invalid -rpcallowip
  • 6b407e4 -datadir is now allowed in config files
  • bdd5b58 Add option -sysperms to disable 077 umask (create new files with system default umask)
  • cbe39a3 Add "bitcoin-tx" command line utility and supporting modules
  • dbca89b Trigger -alertnotify if network is upgrading without you
  • ad96e7c Make -reindex cope with out-of-order blocks
  • 16d5194 Skip reindexed blocks individually
  • ec01243 --tracerpc option for regression tests
  • f654f00 Change -genproclimit default to 1
  • 3c77714 Make -proxy set all network types, avoiding a connect leak
  • 57be955 Remove -printblock, -printblocktree, and -printblockindex
  • ad3d208 remove -maxorphanblocks config parameter since it is no longer functional
Block and transaction handling:
  • 7a0e84d ProcessGetData(): abort if a block file is missing from disk
  • 8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing
  • 77339e5 Get rid of the static chainMostWork (optimization)
  • 4e0eed8 Allow ActivateBestChain to release its lock on cs_main
  • 18e7216 Push cs_mains down in ProcessBlock
  • fa126ef Avoid undefined behavior using CFlatData in CScript serialization
  • 7f3b4e9 Relax IsStandard rules for pay-to-script-hash transactions
  • c9a0918 Add a skiplist to the CBlockIndex structure
  • bc42503 Use unordered_map for CCoinsViewCache with salted hash (optimization)
  • d4d3fbd Do not flush the cache after every block outside of IBD (optimization)
  • ad08d0b Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
  • 5734d4d Only remove actualy failed blocks from setBlockIndexValid
  • d70bc52 Rework block processing benchmark code
  • 714a3e6 Only keep setBlockIndexValid entries that are possible improvements
  • ea100c7 Reduce maximum coinscache size during verification (reduce memory usage)
  • 4fad8e6 Reject transactions with excessive numbers of sigops
  • b0875eb Allow BatchWrite to destroy its input, reducing copying (optimization)
  • 92bb6f2 Bypass reloading blocks from disk (optimization)
  • 2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
  • ab15b2e Avoid copying undo data (optimization)
  • 341735e Headers-first synchronization
  • afc32c5 Fix rebuild-chainstate feature and improve its performance
  • e11b2ce Fix large reorgs
  • ed6d1a2 Keep information about all block files in memory
  • a48f2d6 Abstract context-dependent block checking from acceptance
  • 7e615f5 Fixed mempool sync after sending a transaction
  • 51ce901 Improve chainstate/blockindex disk writing policy
  • a206950 Introduce separate flushing modes
  • 9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
  • 868d041 Remove coinbase-dependant transactions during reorg
  • 723d12c Remove txn which are invalidated by coinbase maturity during reorg
  • 0cb8763 Check against MANDATORY flags prior to accepting to mempool
  • 8446262 Reject headers that build on an invalid parent
  • 008138c Bugfix: only track UTXO modification after lookup
P2P protocol and network code:
  • f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
  • c30329a Add testnet DNS seed of Alex Kotenko
  • 45a4baf Add testnet DNS seed of Andreas Schildbach
  • f1920e8 Ping automatically every 2 minutes (unconditionally)
  • 806fd19 Allocate receive buffers in on the fly
  • 6ecf3ed Display unknown commands received
  • aa81564 Track peers' available blocks
  • caf6150 Use async name resolving to improve net thread responsiveness
  • 9f4da19 Use pong receive time rather than processing time
  • 0127a9b remove SOCKS4 support from core and GUI, use SOCKS5
  • 40f5cb8 Send rejects and apply DoS scoring for errors in direct block validation
  • dc942e6 Introduce whitelisted peers
  • c994d2e prevent SOCKET leak in BindListenPort()
  • a60120e Add built-in seeds for .onion
  • 60dc8e4 Allow -onlynet=onion to be used
  • 3a56de7 addrman: Do not propagate obviously poor addresses onto the network
  • 6050ab6 netbase: Make SOCKS5 negotiation interruptible
  • 604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it
  • efad808 Avoid reject message feedback loops
  • 71697f9 Separate protocol versioning from clientversion
  • 20a5f61 Don't relay alerts to peers before version negotiation
  • b4ee0bd Introduce preferred download peers
  • 845c86d Do not use third party services for IP detection
  • 12a49ca Limit the number of new addressses to accumulate
  • 35e408f Regard connection failures as attempt for addrman
  • a3a7317 Introduce 10 minute block download timeout
  • 3022e7d Require sufficent priority for relay of free transactions
  • 58fda4d Update seed IPs, based on bitcoin.sipa.be crawler data
  • 18021d0 Remove bitnodes.io from dnsseeds.
Validation:
  • 6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s
  • 584a358 Do merkle root and txid duplicates check simultaneously
  • 217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
  • f74fc9b Print input index when signature validation fails, to aid debugging
  • 6fd59ee script.h: set_vch() should shift a >32 bit value
  • d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
  • 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
  • ab9edbd script: create sane error return codes for script validation and remove logging
  • 219a147 script: check ScriptError values in script tests
  • 0391423 Discourage NOPs reserved for soft-fork upgrades
  • 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode
  • 307f7d4 Report script evaluation failures in log and reject messages
  • ace39db consensus: guard against openssl's new strict DER checks
  • 12b7c44 Improve robustness of DER recoding code
  • 76ce5c8 fail immediately on an empty signature
Build system:
  • f25e3ad Fix build in OS X 10.9
  • 65e8ba4 build: Switch to non-recursive make
  • 460b32d build: fix broken boost chrono check on some platforms
  • 9ce0774 build: Fix windows configure when using --with-qt-libdir
  • ea96475 build: Add mention of --disable-wallet to bdb48 error messages
  • 1dec09b depends: add shared dependency builder
  • c101c76 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
  • e432a5f build: add option for reducing exports (v2)
  • 6134b43 Fixing condition 'sabotaging' MSVC build
  • af0bd5e osx: fix signing to make Gatekeeper happy (again)
  • a7d1f03 build: fix dynamic boost check when --with-boost= is used
  • d5fd094 build: fix qt test build when libprotobuf is in a non-standard path
  • 2cf5f16 Add libbitcoinconsensus library
  • 914868a build: add a deterministic dmg signer
  • 2d375fe depends: bump openssl to 1.0.1k
  • b7a4ecc Build: Only check for boost when building code that requires it
Wallet:
  • b33d1f5 Use fee/priority estimates in wallet CreateTransaction
  • 4b7b1bb Sanity checks for estimates
  • c898846 Add support for watch-only addresses
  • d5087d1 Use script matching rather than destination matching for watch-only
  • d88af56 Fee fixes
  • a35b55b Dont run full check every time we decrypt wallet
  • 3a7c348 Fix make_change to not create half-satoshis
  • f606bb9 fix a possible memory leak in CWalletDB::Recover
  • 870da77 fix possible memory leaks in CWallet::EncryptWallet
  • ccca27a Watch-only fixes
  • 9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
  • a53fd41 Deterministic signing
  • 15ad0b5 Apply AreSane() checks to the fees from the network
  • 11855c1 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
GUI:
  • c21c74b osx: Fix missing dock menu with qt5
  • b90711c Fix Transaction details shows wrong To:
  • 516053c Make links in 'About Bitcoin Core' clickable
  • bdc83e8 Ensure payment request network matches client network
  • 65f78a1 Add GUI view of peer information
  • 06a91d9 VerifyDB progress reporting
  • fe6bff2 Add BerkeleyDB version info to RPCConsole
  • b917555 PeerTableModel: Fix potential deadlock. #4296
  • dff0e3b Improve rpc console history behavior
  • 95a9383 Remove CENT-fee-rule from coin control completely
  • 56b07d2 Allow setting listen via GUI
  • d95ba75 Log messages with type>QtDebugMsg as non-debug
  • 8969828 New status bar Unit Display Control and related changes
  • 674c070 seed OpenSSL PNRG with Windows event data
  • 509f926 Payment request parsing on startup now only changes network if a valid network name is specified
  • acd432b Prevent balloon-spam after rescan
  • 7007402 Implement SI-style (thin space) thoudands separator
  • 91cce17 Use fixed-point arithmetic in amount spinbox
  • bdba2dd Remove an obscure option no-one cares about
  • bd0aa10 Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
  • 94e1b9e Re-work overviewpage UI
  • 8bfdc9a Better looking trayicon
  • b197bf3 disable tray interactions when client model set to 0
  • 1c5f0af Add column Watch-only to transactions list
  • 21f139b Fix tablet crash. closes #4854
  • e84843c Broken addresses on command line no longer trigger testnet
  • a49f11d Change splash screen to normal window
  • 1f9be98 Disable App Nap on OSX 10.9+
  • 27c3e91 Add proxy to options overridden if necessary
  • 4bd1185 Allow "emergency" shutdown during startup
  • d52f072 Don't show wallet options in the preferences menu when running with -disablewallet
  • 6093aa1 Qt: QProgressBar CPU-Issue workaround
  • 0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true)
  • ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
  • e7876b2 [Wallet] Prevent user from paying a non-sense fee
  • c1c9d5b Add Smartfee to GUI
  • e0a25c5 Make askpassphrase dialog behave more sanely
  • 94b362d On close of splashscreen interrupt verifyDB
  • b790d13 English translation update
  • 8543b0d Correct tooltip on address book page
Tests:
  • b41e594 Fix script test handling of empty scripts
  • d3a33fc Test CHECKMULTISIG with m == 0 and n == 0
  • 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag
  • 6380180 Add rejection of non-null CHECKMULTISIG dummy values
  • 21bf3d2 Add tests for BoostAsioToCNetAddr
  • b5ad5e7 Add Python test for -rpcbind and -rpcallowip
  • 9ec0306 Add CODESEPARATOFindAndDelete() tests
  • 75ebced Added many rpc wallet tests
  • 0193fb8 Allow multiple regression tests to run at once
  • 92a6220 Hook up sanity checks
  • 3820e01 Extend and move all crypto tests to crypto_tests.cpp
  • 3f9a019 added list/get received by address/ account tests
  • a90689f Remove timing-based signature cache unit test
  • 236982c Add skiplist unit tests
  • f4b00be Add CChain::GetLocator() unit test
  • b45a6e8 Add test for getblocktemplate longpolling
  • cdf305e Set -discover=0 in regtest framework
  • ed02282 additional test for OP_SIZE in script_valid.json
  • 0072d98 script tests: BOOLAND, BOOLOR decode to integer
  • 833ff16 script tests: values that overflow to 0 are true
  • 4cac5db script tests: value with trailing 0x00 is true
  • 89101c6 script test: test case for 5-byte bools
  • d2d9dc0 script tests: add tests for CHECKMULTISIG limits
  • d789386 Add "it works" test for bitcoin-tx
  • df4d61e Add bitcoin-tx tests
  • aa41ac2 Test IsPushOnly() with invalid push
  • 6022b5d Make script_{valid,invalid}.json validation flags configurable
  • 8138cbe Add automatic script test generation, and actual checksig tests
  • ed27e53 Add coins_tests with a large randomized CCoinViewCache test
  • 9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
  • dcb9846 Extend getchaintips RPC test
  • 554147a Ensure MINIMALDATA invalid tests can only fail one way
  • dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
  • 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
  • 16d78bd Add valid invert of invalid every numeric opcode tests
  • f635269 tests: enable alertnotify test for Windows
  • 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
  • 5122ea7 tests: fix forknotify.py on windows
  • fa7f8cd tests: remove old pull-tester scripts
  • 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts
  • f4e0aef Do signature-s negation inside the tests
  • 1837987 Optimize -regtest setgenerate block generation
  • 2db4c8a Fix node ranges in the test framework
  • a8b2ce5 regression test only setmocktime RPC call
  • daf03e7 RPC tests: create initial chain with specific timestamps
  • 8656dbb Port/fix txnmall.sh regression test
  • ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation
  • 7357893 Prioritize and display -testsafemode status in UI
  • f321d6b Add key generation/verification to ECC sanity check
  • 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test
  • bc6cb41 QA RPC tests: Add tests block block proposals
  • f67a9ce Use deterministically generated script tests
  • 11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections)
  • 34318d7 RPC-test based on invalidateblock for mempool coinbase spends
  • 76ec867 Use actually valid transactions for script tests
  • c8589bf Add actual signature tests
  • e2677d7 Fix smartfees test for change to relay policy
  • 263b65e tests: run sanity checks in tests too
Miscellaneous:
  • 122549f Fix incorrect checkpoint data for testnet3
  • 5bd02cf Log used config file to debug.log on startup
  • 68ba85f Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
  • e5ee8f0 Remove -beta suffix
  • 38405ac Add comment regarding experimental-use service bits
  • be873f6 Issue warning if collecting RandSeed data failed
  • 8ae973c Allocate more space if necessary in RandSeedAddPerfMon
  • 675bcd5 Correct comment for 15-of-15 p2sh script size
  • fda3fed libsecp256k1 integration
  • 2e36866 Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
  • cd01a5e Enable paranoid corruption checks in LevelDB >= 1.16
  • 9365937 Add comment about never updating nTimeOffset past 199 samples
  • 403c1bf contrib: remove getwork-based pyminer (as getwork API call has been removed)
  • 0c3e101 contrib: Added systemd .service file in order to help distributions integrate bitcoind
  • 0a0878d doc: Add new DNSseed policy
  • 2887bff Update coding style and add .clang-format
  • 5cbda4f Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
  • b4a72a7 contrib/linearize: split output files based on new-timestamp-year or max-file-size
  • e982b57 Use explicit fflush() instead of setvbuf()
  • 234bfbf contrib: Add init scripts and docs for Upstart and OpenRC
  • 01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw
  • d6712db Also create pid file in non-daemon mode
  • 772ab0e contrib: use batched JSON-RPC in linarize-hashes (optimization)
  • 7ab4358 Update bash-completion for v0.10
  • 6e6a36c contrib: show pull # in prompt for github-merge script
  • 5b9f842 Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
  • 4e7c219 Catch UTXO set read errors and shutdown
  • 867c600 Catch LevelDB errors during flush
  • 06ca065 Fix CScriptID(const CScript& in) in empty script case
Credits

Thanks to everyone who contributed to this release:
  • 21E14
  • Adam Weiss
  • Aitor Pazos
  • Alexander Jeng
  • Alex Morcos
  • Alon Muroch
  • Andreas Schildbach
  • Andrew Poelstra
  • Andy Alness
  • Ashley Holman
  • Benedict Chan
  • Ben Holden-Crowther
  • Bryan Bishop
  • BtcDrak
  • Christian von Roques
  • Clinton Christian
  • Cory Fields
  • Cozz Lovan
  • daniel
  • Daniel Kraft
  • David Hill
  • Derek701
  • dexX7
  • dllud
  • Dominyk Tiller
  • Doug
  • elichai
  • elkingtowa
  • ENikS
  • Eric Shaw
  • Federico Bond
  • Francis GASCHET
  • Gavin Andresen
  • Giuseppe Mazzotta
  • Glenn Willen
  • Gregory Maxwell
  • gubatron
  • HarryWu
  • himynameismartin
  • Huang Le
  • Ian Carroll
  • imharrywu
  • Jameson Lopp
  • Janusz Lenar
  • JaSK
  • Jeff Garzik
  • JL2035
  • Johnathan Corgan
  • Jonas Schnelli
  • jtimon
  • Julian Haight
  • Kamil Domanski
  • kazcw
  • kevin
  • kiwigb
  • Kosta Zertsekel
  • LongShao007
  • Luke Dashjr
  • Mark Friedenbach
  • Mathy Vanvoorden
  • Matt Corallo
  • Matthew Bogosian
  • Micha
  • Michael Ford
  • Mike Hearn
  • mrbandrews
  • mruddy
  • ntrgn
  • Otto Allmendinger
  • paveljanik
  • Pavel Vasin
  • Peter Todd
  • phantomcircuit
  • Philip Kaufmann
  • Pieter Wuille
  • pryds
  • randy-waterhouse
  • R E Broadley
  • Rose Toomey
  • Ross Nicoll
  • Roy Badami
  • Ruben Dario Ponticelli
  • Rune K. Svendsen
  • Ryan X. Charles
  • Saivann
  • sandakersmann
  • SergioDemianLerner
  • shshshsh
  • sinetek
  • Stuart Cardall
  • Suhas Daftuar
  • Tawanda Kembo
  • Teran McKinney
  • tm314159
  • Tom Harding
  • Trevin Hofmann
  • Whit J
  • Wladimir J. van der Laan
  • Yoichi Hirai
  • Zak Wilcox
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
Also lots of thanks to the bitcoin.org website team David A. Harding and Saivann Carignan.
Wladimir
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-February/007480.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

importprivkey "privkey" ("label" rescan) Adds a private key (as returned by dumpprivkey) to your wallet. Requires a new wallet backup. Hint: use importmulti to import more than one private key. Note: This call can take over an hour to complete if rescan is true, during that time, other rpc calls may report that the imported key exists but related transactions are still missing, leading to ... importprivkey "privkey" ( "label" ) ( rescan ) Adds a private key (as returned by dumpprivkey) to your wallet. Requires a new wallet backup. Arguments: 1. "privkey" (string, required) The private key (see dumpprivkey) 2. "label" (string, optional, default="") An optional label 3. rescan (boolean, optional, default=true) Rescan the wallet for transactions Note: This call can take minutes to ... I imported a private key to a funded address with importprivkey {privateKey} "" false expecting that the wallet would only know about future transactions to this address. However it immediately found the funds (which had 4 confirmations), despite rescan set to false. Since Bitcoin-QT/bitcoind v0.6.0, you can import private keys using built-in RPC command importprivkey. Before v0.6.0, you needed to rely on third-party wallet.dat manipulation tool such as Pywallet . bitcoind importprivkey 1zbcvs.... "My Label" false bitcoind importprivkey 1zbcvs.... "My Label" false bitcoind importprivkey 1zbcvs.... "My Label" false bitcoind stop # One of the following bitcoind -rescan bitcoin-qt -rescan share improve this answer follow answered Apr 10 '13 at 0:27. Andrew Burns Andrew Burns. 621 1 1 gold badge 7 7 silver badges 6 6 bronze badges. very clever. never ...

[index] [30004] [33527] [7393] [46054] [31841] [11377] [42477] [23742] [37701] [48329]

#