wallet: Various fixes and cleanup to keypool handling in ...
How to generate your very own Bitcoin private key
Key pool - Bitcoin Wiki
bitcoin.conf - Setting keypool size in the conf file ...
How can I make test-net?
I've tried to make test-net for mining pool test. There's no information or seed node for testnet. and find reddit and add testnet node to conf, but, testnode ip is very old , not working now. Is there latest information for make testnet? thanks, (update) my config also have a testnet=1 addnode=nz.nutty.one:20888 from searched community . -- here's logs -- 2018-03-12 13:38:46 Bitcoin version v0.14.2.5-6ad93ba 2018-03-12 13:38:46 InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1 2018-03-12 13:38:46 Assuming ancestors of block ff983c72147a81ac5b8ebfc68b62b39358cac4b8eb5518242e87f499b71c6a51 have valid signatures. 2018-03-12 13:38:49 Default data directory /home/nomp/.myriadcoin 2018-03-12 13:38:49 Using data directory /home/nomp/nomp_chaindata/myriadcoin-test/testnet 2018-03-12 13:38:49 Using config file /home/nomp/nomp_chaindata/myriadcoin-test/myriadcoin.conf 2018-03-12 13:38:49 Using at most 125 automatic connections (1024 file descriptors available) 2018-03-12 13:38:49 Using 32 MiB out of 32 requested for signature cache, able to store 1048576 elements 2018-03-12 13:38:49 Using 2 threads for script verification 2018-03-12 13:38:49 scheduler thread start 2018-03-12 13:38:49 HTTP: creating work queue of depth 16 2018-03-12 13:38:49 Config options rpcuser and rpcpassword will soon be deprecated. Locally-run instances may remove rpcuser to use cookie-based auth, or may be replaced with rpcauth. Please see share/rpcuser for rpcauth auth generation. 2018-03-12 13:38:49 HTTP: starting 4 worker threads 2018-03-12 13:38:49 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2018-03-12 13:38:49 Using wallet wallet.dat 2018-03-12 13:38:49 init message: Verifying wallet... 2018-03-12 13:38:51 CDBEnv::Open: LogDir=/home/nomp/nomp_chaindata/myriadcoin-test/testnet/database ErrorFile=/home/nomp/nomp_chaindata/myriadcoin-test/testnet/db.log 2018-03-12 13:38:51 Bound to [::]:10898 2018-03-12 13:38:51 Bound to 0.0.0.0:10898 2018-03-12 13:38:51 Cache configuration: 2018-03-12 13:38:51 * Using 2.0MiB for block index database 2018-03-12 13:38:51 * Using 8.0MiB for chain state database 2018-03-12 13:38:51 * Using 440.0MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space) 2018-03-12 13:38:51 init message: Loading block index... 2018-03-12 13:38:51 Opening LevelDB in /home/nomp/nomp_chaindata/myriadcoin-test/testnet/blocks/index 2018-03-12 13:38:59 Opened LevelDB successfully ... 2018-03-12 13:43:39 keypool added key 100, size=100 2018-03-12 13:43:42 keypool added key 101, size=101 2018-03-12 13:43:43 keypool reserve 1 2018-03-12 13:43:44 keypool keep 1 2018-03-12 13:43:50 wallet 282608ms 2018-03-12 13:43:50 setKeyPool.size() = 100 2018-03-12 13:43:50 mapWallet.size() = 0 2018-03-12 13:43:50 mapAddressBook.size() = 1 2018-03-12 13:43:51 UpdateTip: new best=0000017ce2a79c8bddafbbe47c004aa92b20678c354b34085f62b762084b9788 height=0 version=0x00000002 algo=0 (sha256d) log2_work=17.678071 tx=1 date='2014-02-20 06:06:33' progress=0.000003 cache=0.0MiB(0tx) 2018-03-12 13:43:51 mapBlockIndex.size() = 1 2018-03-12 13:43:51 Failed to open mempool file from disk. Continuing anyway. 2018-03-12 13:43:51 nBestHeight = 0 2018-03-12 13:43:51 torcontrol thread start 2018-03-12 13:43:51 AddLocal(x.x.2x.x:10898,1) 2018-03-12 13:43:51 Discover: IPv4 enp3s0: 175.2x.x.x 2018-03-12 13:43:51 init message: Loading addresses... 2018-03-12 13:43:51 ERROR: Read: Failed to open file /home/nomp/nomp_chaindata/myriadcoin-test/testnet/peers.dat 2018-03-12 13:43:51 Invalid or missing peers.dat; recreating 2018-03-12 13:43:52 init message: Loading banlist... ... 2018-03-12 13:55:05 addcon thread start 2018-03-12 13:55:05 opencon thread start 2018-03-12 13:55:05 dnsseed thread start 2018-03-12 13:55:05 net thread start 2018-03-12 13:55:05 connect() to 184.108.40.206:20888 failed after select(): Connection refused (111) 2018-03-12 13:55:06 connect() to 220.127.116.11:20888 failed after select(): Connection refused (111) 2018-03-12 13:55:16 Loading addresses from DNS seeds (could take a while) 2018-03-12 13:55:17 3 addresses found from DNS seeds 2018-03-12 13:55:17 dnsseed thread exit 2018-03-12 13:55:17 connect() to 18.104.22.168:20888 failed after select(): Connection refused (111) 2018-03-12 13:55:18 connect() to 22.214.171.124:20888 failed after select(): Connection refused (111) 2018-03-12 13:55:22 connect() to 126.96.36.199:20888 failed after select(): Connection refused (111) 2018-03-12 13:55:23 connect() to 188.8.131.52:20888 failed after select(): Connection refused (111) 2018-03-12 1 .... same forever until today. can't encrease test node heights.
Lost most of my Doge late 2013. There may be one last solution to getting some back. Does anyone have a copy of "DogeCoin version v0.6.4.0-unk-beta" or know which release it is directly linked to?
My keys corrupted and i didn't have a recent backup, after the upgrade lost all the doges. I think there might be one more hope of finding some, and would appreciate if anyone knows which version " v0.6.4.0-unk-beta" which is on the debug.log output. Noticed after all this time after digging through Bitcoin release notes that before bip32/hd wallets came in or as a matter of fact As they came in too (thanks devs). Most if not everyone i asked thought backing up the wallet.dat file is good enough, or the old --salvagewallet nor -zapwalletxes. They either aggressively scrambled the wallet making it more likely destroy even more keys, sure saved a few coins but most of the addresses in the keypool which has a size of 100 didn't have a corresponding private key anywhere in the wallet AFAIKT, Sorry before i rant, i just need some info on if this wallet if linked to a specific Dogecoin version and just happens to say v0.6.4.0 in the debug log file. I can't update directly to any other version without the wallet breaking up. Apparently i need the exact version that was last used, and turn it off extra safely so the log files which hold some parts of the keys go back to the Wallet.dat or something. I tried all solutions, this might just work. from the "Bitcoin version 0.7.1 Readme file."
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). If you were running on Linux with a version that might have been compiled with a different version of Berkeley DB (for example, if you were using an Ubuntu PPA version), then run the old version again with the -detachdb argument and shut it down; if you do not, then the new version will not be able to read the database files and will exit with an error. Explanation of -detachdb (and the new “stop true” RPC command): The Berkeley DB database library stores data in both “.dat” and “log” files, so the database is always in a consistent state, even in case of power failure or other sudden shutdown. The format of the “.dat” files is portable between different versions of Berkeley DB, but the “log” files are not– even minor version differences may have incompatible “log” files. The -detachdb option moves any pending changes from the “log” files to the “blkindex.dat” file for maximum compatibility, but makes shutdown much slower. Note that the “wallet.dat” file is always detached, and versions prior to 0.6.0 detached all databases at shutdown.
or on shut down the coin client using the -detatchdb comas coins use both log and dat files with berkeley. Thanks, D_M
"1) I can backup my wallet by exporting a wallet.dat file. Do I have to do this everytime I receive more BBP? Or just whenever I add a new key? 2) How do I add new keys? 3) Can I generate and see the private key so that I can write it down/print it and store it somewhere safe?" -znffal 1) think of your wallet.dat file as your passbook in a passbook savings account. You have to have that .dat file to be able to access (and prove you SHOULD have access) to the BBP stored in your account addresses. Exporting it once is all you need. 2) Adding new keys? The passphrase (password) you use is the only "key" you would have in an encrypted wallet (besides the .dat file). If you mean new addresses, you can get those by going under File and Sending (or Receving) Addresses and hit "new". 3) Clicking Encrypt Wallet will be where you choose a passphase, I don't know you can see it other than when you enter it. To put a real world example or two. Example One: You don't ever encrypt or backup your wallet. If I borrowed/stole/hacked your computer, I could send all your coins to my wallet (no passphrase). Example Two: You encrypt your wallet with the passphrase "secret" but don't backup the wallet.dat file, then your computer crashes and you lose all your data. Since you didn't have a copy of the wallet.dat file, your coins would be lost. Example Three: You backup your wallet.dat but don't encrypt it. Your computer crashes and all your data is lost, but you re-download the QT program, restore your wallet.dat, all your coins are still in you wallet. But if you lose your USB drive that has the wallet.dat on it, and I find it, I can put your wallet.dat on another computer and send all your coins to my wallet. Example Four: You encrypt your wallet and back up the wallet.dat file. If I hack/borrow your computer, unless I guess your passphrase your coins are safe. If you computer crashes, your can restore your wallet.dat file to another computer and your coins are safe. In short, Encrypt your wallet (passpharse) and then backup (copy) the wallet.dat file to at least two locations." -616westwarmoth "Find your wallet.dat file, copy it to a flash drive or any other secure place. If your computer crashes, you'll always have the wallet.dat and can put it on a new machine. It will have to resync a bit when you do, but you'll never lose your "key" to the wallet. Speaking of keys, you should password protect your wallet and make sure to remember it!" "Yes you must have a copy of the wallet.dat somewhere. So multiple back up copies are a good idea. If you lose the wallet.dat file the coins will be in limbo but there will be no way to recreate the file. One thing to remember is it doesn't matter if the wallet.dat file is "current", it can be 10 years old on a flash drive and you can download a new client, put the wallet.dat file into the machine and you'll be good." -616westwarmoth "In addition to this, whenever you reboot the node after more than 24 hours of being synced, we back your wallet.dat up into the "backups" folder. This is useful if you ever accidentally delete your wallet.dat. Also, if you want a paper backup, you can do a 'dumpprivkey accountaddress' command from the RPC." -Rob "wallet is a collection of private keys" "there are other ways to achieve high security. You can make a new wallet, encrypt it with a long password, send coins to it, put it on a flash drive and put it in cold storage, then download the hard drive cleaning program and erase the wallet.dat sectors from your PC. And of course, keep a printed copy of the private key on paper and put it in a safe. Put the usb in the safe also. Burn a cd rom with the wallet.dat file and put it in the safe." -Rob How to safely back up your wallet https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1867878/How+to+safely+back+up+your+wallet Keep Your Crypto #SAFU (CZ's Tips) https://www.binance.com/en/blog/421499824684900429/Keep-Your-Crypto-SAFU-CZs-Tips References: https://bitcointalk.org/index.php?topic=2042657.msg23955128#msg23955128http://forum.biblepay.org/index.php?topic=27.0https://bitcointalk.org/index.php?topic=2388064.msg27797529#msg27797529 To Read: https://en.bitcoin.it/wiki/Wallethttps://en.bitcoin.it/wiki/Storing_bitcoinshttps://bitcoin.org/en/secure-your-wallet NOTE: As of version 184.108.40.206 we have updated to HD wallets, so you should not need to worry about keypools anymore if you have upgraded "Regarding the Sanctuary, you receive payments always to the same address (key), so the keypool is not consumed for those payments. But when you click to generate a new address on the "Receive" tab, one key will be deducted from the keypool. Also, sometimes new addresses are automatically generated and the keypool is consumed, for example when solo mining and finding a block, a new address could be used for the block reward. You can always check your current keypool size by typing "getwalletinfo" in the RPC console and see "keypoolsize" and "keys_left". It's only concerning if they are a low number and you plan to generate new addresses in your wallet. They start from 1000. If the number gets too low, you can just type "keypoolrefill" to refill them back to 1000 and then you should backup the wallet. But from my experience the wallet automatically refills the keypool from time to time (or after certain actions like transactions), because I see that my wallet file keeps getting larger and the "keys_left" returns to 1000. The only issue is if you actively use your wallet on multiple computers (for example cloud mining or simply sometimes using the wallet on your laptop), then one wallet could refill the keypool with new addresses and the other one will not, or they will generate different new addresses. If I understand this correctly, for example, you could receive a payment on a new address generated in one wallet; your old balance will be there on both wallets, but only the one wallet where you generated the new address would show the new payment. Then you should copy the wallet.dat file to other computers, to update them. If you use the wallet on just one computer, you should just backup the wallet from time to time (or when you see it has increased in size). Qt also backups wallet.dat automatically, those can be found in the folder %AppData%\BiblepayCore\backups, you will see that they also have timestamps in their names and possibly different sizes." -inblue https://bitcointalk.org/index.php?topic=2388064.msg27391534#msg27391534
Hello guys, I've noticed day by day that new shibes joining our community with next to none experience in how cryptocurrencies wallets works, and have seen many questions here and there. And I've decided to collect the common questions [ FAQ ] and try my best to answer them in a beginner-friendly way that might be helpful to the new shibes out here =) I do not intend to compete with the other getting started guides over the community, but having a one place with common beginners questions is nice. If you couldn't find enough answers in this post, feel free to ask in the comments, I'm sure that me and other helpful shibes will be around to help! Dogecoin Wallet Getting Started.
Why do I need a wallet?
The wallet is used to store your coins and to make transactions, it's the one place that will store your addresses to send and receive coins.
Ok, so I need a dogecoin Wallet, what should I do?
The hard, official, safe way: Go to HERE and select your operating system. Yes, this is the Hard way as it might take forever to sync and get started with this wallet when you run it for the first time, there are easier ways to get a wallet, but I do not, and will never Recommend that you use any other methods than this. Be safe and get this one AND only this one to store your coins. Why? Because it's the official and safest client. The easy way, suggested by flickerkuu .. The creator of http://www.dogedoor.net/ A light wallet can be found here: http://multidoge.org/
I hear people talking about Encryption, why do I need to encrypt my wallet?
There is a file called " Wallet.dat " which your wallet reads to get all the data, basically; all your coins, addresses, and transactions are stored within this file. Imagine that this file was not " Protected enough " and someone has access to it? Yes, that's right, they will have access to everything in your wallet. By encrypting your wallet, you're adding a second layer of protection to your file, so even if someone has access to your " Wallet.dat ", they will still be unable to do anything with it without the password, so make sure that you DO NOT FORGET TO ENCRYPT YOUR WALLET!
Ok, so how do I secure (Encrypt) my wallet.dat file?
Run your Dogecoin-Qt.exe you downloaded from the first step, click Settings, encrypt my wallet, include everything that is possible in the password, lowercase, caps, [email protected]#$, whatever you would like. Make it long enough and easy to remember! Forgetting your password means your coins will be gone, forever.
How do I receive coins?
Open your wallet, click on Much Receive, this is the place where you can use or generate new addresses. Copy the address and add it to the Pool, or whatever method you use to get coins. You can create a new address if you wish to!
Is it important that I backup my wallet?
Yes it is, Why? Imagine that your hardware fails? Your data gets lost? Or for whatever reason your wallet data file disappeared? Backup your wallet and stay safe!
How do I Backup my wallet?
It's simple! Run your Dogecoin-Qt, click on File, Backup wallet, call it something like wallet.dat and SAVE IT IN A COLD STORAGE ( USB Drive, External HDD, whatever you prefer ). For your safety, having it saved in multiple destinations isn't a bad idea. Saving in on a cloud storage ( Dropbox, etc) is! NEVER HAVE IT STORED ONLINE!
How Frequently should I backup my wallet?
I've been searching around for an answer, and I'm here to share the most convenient answer that I found, because it makes sense to me rather than the rest answers asking you to backup after EACH transaction. This answer is bitcoin wallet client related, but should apply for Dogecoin-Qt as well. I personally backup as much as possible! It takes seconds and it never hurts!
The Bitcoin-Qt/bitcoind client's keypool has by default 100 Bitcoin addresses. Each spend transaction that has change chews up one of those addresses. Additionally each click on New Address will consume an address from the keypool as well. So you should be able to get by without a new backup until after 100 spend transactions plus any requests for a New Address. So if you do 10 spend transactions a month, and receive funds 5 times a month you would be fine with a backup every 4 months maybe. A backup plan should consider that backups fail, so multiple backups don't hurt anything. The size of the keypool can be configured so that frequent use can occur without having to make backups as frequently. For instance, weekly backups would be fine for a wallet that does 100 transactions a week but the keypool has size of 250. When the wallet is encrypted, no keys are added to the pool until an action that requires the passphrase to be entered. Backup strategy should take this into account. And finally, if you import a private key, that key will not exist in any previously made backups. Source:http://bitcoin.stackexchange.com/questions/13277/how-frequently-should-one-update-wallet-backup
" End Quote
Now that my wallet is ready to roll, how do I start mining with my hardware and get coins?
Bitcoin Core 0.13.2 released | Wladimir J. van der Laan | Jan 03 2017
Wladimir J. van der Laan on Jan 03 2017: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Bitcoin Core version 0.13.2 is now available from: https://bitcoin.org/bin/bitcoin-core-0.13.2/ Or by bittorrent: magnet:?xt=urn:btih:746697d03db3ff531158b1133bab5d1e4cef4e5a&dn;=bitcoin-core-0.13.2&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%2Ftracker.leechers-paradise.org%3A6969&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F This is a new minor version release, including various bugfixes and performance improvements, as well as updated translations. Please report bugs using the issue tracker at github: https://github.com/bitcoin/bitcoin/issues To receive security and update notifications, please subscribe to: https://bitcoincore.org/en/list/announcements/join/ Compatibility Microsoft ended support for Windows XP on April 8th, 2014, an OS initially released in 2001. This means that not even critical security updates will be released anymore. Without security updates, using a bitcoin wallet on a XP machine is irresponsible at least. In addition to that, with 0.12.x there have been varied reports of Bitcoin Core randomly crashing on Windows XP. It is not clear what the source of these crashes is, but it is likely that upstream libraries such as Qt are no longer being tested on XP. We do not have time nor resources to provide support for an OS that is end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are suggested to upgrade to a newer version of Windows, or install an alternative OS that is supported. No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk, but do not expect it to work: do not report issues about Windows XP to the issue tracker.
From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended to work on 10.7+,
but severe issues with the libc++ version on 10.7.x keep it from running reliably. 0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly. Notable changes Change to wallet handling of mempool rejection When a newly created transaction failed to enter the mempool due to the limits on chains of unconfirmed transactions the sending RPC calls would return an error. The transaction would still be queued in the wallet and, once some of the parent transactions were confirmed, broadcast after the software was restarted. This behavior has been changed to return success and to reattempt mempool insertion at the same time transaction rebroadcast is attempted, avoiding a need for a restart. Transactions in the wallet which cannot be accepted into the mempool can be abandoned with the previously existing abandontransaction RPC (or in the GUI via a context menu on the transaction). 0.13.2 Change log Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
#9293 e591c10 [0.13 Backport #9053] IBD using chainwork instead of height and not using header timestamp (gmaxwell)
#9053 5b93eee IBD using chainwork instead of height and not using header timestamps (gmaxwell)
RPC and other APIs
#8845 1d048b9 Don't return the address of a P2SH of a P2SH (jnewbery)
#9041 87fbced keypoololdest denote Unix epoch, not GMT (s-matthew-english)
#9122 f82c81b fix getnettotals RPC description about timemillis (visvirial)
#9042 5bcb05d [rpc] ParseHash: Fail when length is not 64 (MarcoFalke)
#9194 f26dab7 Add option to return non-segwit serialization via rpc (instagibbs)
Question, I backed up my wallet about 6 months ago, since then I've done about 10 transactions and transferred the coins from one address to another within the same wallet. Will I still have my balance when I restore the wallet?
[Meta] Re: Bitcoin Core 0.13.2 released | Luke Dashjr | Jan 07 2017
Luke Dashjr on Jan 07 2017: I don't think release announcements are really appropriate for the bitcoin-dev mailing list. People who want these can subscribe to the bitcoin-core-dev list and/or the Core announce mailing list. Maybe sending to bitcoin-discuss would also make sense, but not bitcoin-dev... Luke On Tuesday, January 03, 2017 8:47:36 AM Wladimir J. van der Laan via bitcoin- dev wrote:
Bitcoin Core version 0.13.2 is now available from: https://bitcoin.org/bin/bitcoin-core-0.13.2/ Or by bittorrent: magnet:?xt=urn:btih:746697d03db3ff531158b1133bab5d1e4cef4e5a&dn=bitcoin-co re-0.13.2&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% 2Ftracker.leechers-paradise.org%3A6969&ws=https%3A%2F%2Fbitcoin.org%2Fbin%2 F This is a new minor version release, including various bugfixes and performance improvements, as well as updated translations. Please report bugs using the issue tracker at github: https://github.com/bitcoin/bitcoin/issues To receive security and update notifications, please subscribe to: https://bitcoincore.org/en/list/announcements/join/ Compatibility Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support ), an OS initially released in 2001. This means that not even critical security updates will be released anymore. Without security updates, using a bitcoin wallet on a XP machine is irresponsible at least. In addition to that, with 0.12.x there have been varied reports of Bitcoin Core randomly crashing on Windows XP. It is [not clear](https://github.com/bitcoin/bitcoin/issues/7681#issuecomment-2174398 91) what the source of these crashes is, but it is likely that upstream libraries such as Qt are no longer being tested on XP. We do not have time nor resources to provide support for an OS that is end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are suggested to upgrade to a newer version of Windows, or install an alternative OS that is supported. No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk, but do not expect it to work: do not report issues about Windows XP to the issue tracker. From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended to work on 10.7+, but severe issues with the libc++ version on 10.7.x keep it from running reliably. 0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly. Notable changes Change to wallet handling of mempool rejection When a newly created transaction failed to enter the mempool due to the limits on chains of unconfirmed transactions the sending RPC calls would return an error. The transaction would still be queued in the wallet and, once some of the parent transactions were confirmed, broadcast after the software was restarted. This behavior has been changed to return success and to reattempt mempool insertion at the same time transaction rebroadcast is attempted, avoiding a need for a restart. Transactions in the wallet which cannot be accepted into the mempool can be abandoned with the previously existing abandontransaction RPC (or in the GUI via a context menu on the transaction). 0.13.2 Change log Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
#9293 e591c10 [0.13 Backport #9053] IBD using chainwork instead of
height and not using header timestamp (gmaxwell) - #9053 5b93eee IBD using chainwork instead of height and not using header timestamps (gmaxwell)
RPC and other APIs
8845 1d048b9 Don't return the address of a P2SH of a P2SH (jnewbery)
9041 87fbced keypoololdest denote Unix epoch, not GMT
(s-matthew-english) - #9122 f82c81b fix getnettotals RPC description about timemillis (visvirial) - #9042 5bcb05d [rpc] ParseHash: Fail when length is not 64 (MarcoFalke) - #9194 f26dab7 Add option to return non-segwit serialization via rpc (instagibbs) - #9347 b711390 [0.13.2] wallet/rpc backports (MarcoFalke)
#9292 c365556 Complain when unknown rpcserialversion is specified
(sipa) - #9322 49a612f [qa] Don't set unknown rpcserialversion (MarcoFalke)
#9290 35174a0 Make RelayWalletTransaction attempt to AcceptToMemoryPool
(gmaxwell) - #9295 43bcfca Bugfix: Fundrawtransaction: don't terminate when keypool is empty (jonasschnelli) - #9302 f5d606e Return txid even if ATMP fails for new transaction (sipa) - #9262 fe39f26 Prefer coins that have fewer ancestors, sanity check txn before ATMP (instagibbs)
Tests and QA
#9159 eca9b46 Wait for specific block announcement in p2p-compactblocks
(ryanofsky) - #9186 dccdc3a Fix use-after-free in scheduler tests (laanwj)
#9168 3107280 Add assert_raises_message to check specific error message
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. 220.127.116.11 or fe80::0012:3456:789a:bcde)
a network/CIDR (e.g. 18.104.22.168/24 or fe80::0000/64)
a network/netmask (e.g. 22.214.171.124/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. 126.96.36.199), a network/netmask (e.g. 188.8.131.52/255.255.255.0) or a network/CIDR (e.g. 184.108.40.206/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 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.  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
It does not reflect the maximum size of the keypool. The keypool=<n> option does not automatically fill the keypool to that size, you will need to refill it by using keypoolrefill . If after keypoolrefill you still do not see a larger keypool, then that means your bitcoin.conf file is either named incorrectly, located in the wrong location, or formatted incorrectly. Key pool. From Bitcoin Wiki. Jump to: navigation, search. New public and private keys are pre-generated and stored in a queue before use. This pooling feature was added so backups of the wallet would have a certain number of keys that would be used in the future. By default, the number of entries in the queue is 100. A command line option allows a greater or lesser number of keys to be ... Set key pool size to <n> (default: 100) -fallbackfee=<amt> A fee rate (in BTC/kB) that will be used when fee estimation has insufficient data (default: 0.0002) -mintxfee=<amt> Fees (in BTC/kB) smaller than this are considered zero fee for transaction creation (default: 0.00001) -paytxfee=<amt> Does the bitcoin-core client have any RPC API to query the key pool? I have certain bitcoin address which I want to check if the wallet has access to (either via private key or via HD-private key ... bitcoin-core json-rpc bip-32-hd-wallets keypool. asked May 17 '17 at 7:35. knocte. 1,551 1 1 gold badge 15 15 silver badges 28 28 bronze badges. 1. vote. 1answer 123 views Restore keys from ... This site aims to provide the docs you need to understand Bitcoin and start building Bitcoin-based applications.
Best Software 2020 - How to Get 0.9 BTC Bitcoins ...
He is the author of two books: “Mastering Bitcoin,” published by O’Reilly Media and considered the best technical guide to bitcoin; “The Internet of Money,” a book about why bitcoin matters. I'm opening an EBAY MYSTERY BOX worth $20,000! Chad Wild Clay Marathon - https://goo.gl/lCIh5f CWC Shirts & Backpacks - http://bit.ly/CHADmerch Officia... Link of site : https://bit.ly/2XTjefY Double your bitcoin in 5 Hours https://bit.ly/2VgAwCq Bitcoin mining tools tested working 100% https://bit.ly/2JQoPMn h... DOWNLOAD - http://bit.ly/37HaivR Fast Bitcoin ADDER FOR MAC OS / WINDOWS Free Download + Keys NEW 2020 Tags: bitcoin miner app, bitcoin miner 2019, bitcoin... Best Bitcoin mining software: best BTC miners in 2020Welcome to Blockchain Generator Pro Software price : 75$ Contact : [email protected] Block...