From 79d7e65a3512962263e9ba63b26dd9c78593d1fd Mon Sep 17 00:00:00 2001 From: Brannon King Date: Fri, 10 Sep 2021 16:15:27 -0400 Subject: [PATCH] fix some BTC strings --- CHANGES | 1230 ---------------------------------------------- Dockerfile | 9 +- config.go | 2 +- rpcserverhelp.go | 14 +- 4 files changed, 12 insertions(+), 1243 deletions(-) delete mode 100644 CHANGES diff --git a/CHANGES b/CHANGES deleted file mode 100644 index ec7c8e4e..00000000 --- a/CHANGES +++ /dev/null @@ -1,1230 +0,0 @@ -============================================================================ -User visible changes for btcd - A full-node bitcoin implementation written in Go -============================================================================ - -Changes in 0.22.0 (Tue Jun 01 2021) - - Protocol and network-related changes: - - Add support for witness tx and block in notfound msg (#1625) - - Add support for receiving sendaddrv2 messages from a peer (#1670) - - Fix bug in peer package causing last block height to go backwards - (#1606) - - Add chain parameters for connecting to the public Signet network - (#1692, #1718) - - Crypto changes: - - Fix bug causing panic due to bad R and S signature components in - btcec.RecoverCompact (#1691) - - Set the name (secp256k1) in the CurveParams of the S256 curve - (#1565) - - Notable developer-related package changes: - - Remove unknown block version warning in the blockchain package, - due to false positives triggered by AsicBoost (#1463) - - Add chaincfg.RegisterHDKeyID function to populate HD key ID pairs - (#1617) - - Add new method mining.AddWitnessCommitment to add the witness - commitment as an OP_RETURN output within the coinbase transaction. - (#1716) - - RPC changes: - - Support Batch JSON-RPC in rpcclient and server (#1583) - - Add rpcclient method to invoke getdescriptorinfo JSON-RPC command - (#1578) - - Update the rpcserver handler for validateaddress JSON-RPC command to - have parity with the bitcoind 0.20.0 interface (#1613) - - Add rpcclient method to invoke getblockfilter JSON-RPC command - (#1579) - - Add signmessagewithprivkey JSON-RPC command in rpcserver (#1585) - - Add rpcclient method to invoke importmulti JSON-RPC command (#1579) - - Add watchOnly argument in rpcclient method to invoke - listtransactions JSON-RPC command (#1628) - - Update btcjson.ListTransactionsResult for compatibility with Bitcoin - Core 0.20.0 (#1626) - - Support nullable optional JSON-RPC parameters (#1594) - - Add rpcclient and server method to invoke getnodeaddresses JSON-RPC - command (#1590) - - Add rpcclient methods to invoke PSBT JSON-RPC commands (#1596) - - Add rpcclient method to invoke listsinceblock with the - include_watchonly parameter enabled (#1451) - - Add rpcclient method to invoke deriveaddresses JSON-RPC command - (#1631) - - Add rpcclient method to invoke getblocktemplate JSON-RPC command - (#1629) - - Add rpcclient method to invoke getaddressinfo JSON-RPC command - (#1633) - - Add rpcclient method to invoke getwalletinfo JSON-RPC command - (#1638) - - Fix error message in rpcserver when an unknown RPC command is - encountered (#1695) - - Fix error message returned by estimatefee when the number of blocks - exceeds the max depth (#1678) - - Update btcjson.GetBlockChainInfoResult to include new fields in - Bitcoin Core (#1676) - - Add ExtraHeaders in rpcclient.ConnConfig struct (#1669) - - Fix bitcoind compatibility issue with the sendrawtransaction - JSON-RPC command (#1659) - - Add new JSON-RPC errors to btcjson package, and documented them - (#1648) - - Add rpcclient method to invoke createwallet JSON-RPC command - (#1650) - - Add rpcclient methods to invoke backupwallet, dumpwallet, loadwallet - and unloadwallet JSON-RPC commands (#1645) - - Fix unmarshalling error in getmininginfo JSON-RPC command, for valid - integers in scientific notation (#1644) - - Add rpcclient method to invoke gettxoutsetinfo JSON-RPC command - (#1641) - - Add rpcclient method to invoke signrawtransactionwithwallet JSON-RPC - command (#1642) - - Add txid to getblocktemplate response of rpcserver (#1639) - - Fix monetary unit used in createrawtransaction JSON-RPC command in - rpcserver (#1614) - - Add rawtx field to btcjson.GetBlockVerboseTxResult to provide - backwards compatibility with older versions of Bitcoin Core (#1677) - - Misc changes: - - Update btcutil dependency (#1704) - - Add Dockerfile to build and run btcd on Docker (#1465) - - Rework documentation and publish on https://btcd.readthedocs.io (#1468) - - Add support for Go 1.15 (#1619) - - Add Go 1.14 as the minimum supported version of Golang (#1621) - - Contributors (alphabetical order): - - 10gic - - Andrew Tugarinov - - Anirudha Bose - - Appelberg-s - - Armando Ochoa - - Aurèle Oulès - - Calvin Kim - - Christian Lehmann - - Conner Fromknecht - - Dan Cline - - David Mazary - - Elliott Minns - - Federico Bond - - Friedger Müffke - - Gustavo Chain - - Hanjun Kim - - Henry Fisher - - Iskander Sharipov - - Jake Sylvestre - - Johan T. Halseth - - John C. Vernaleo - - Liran Sharir - - Mikael Lindlof - - Olaoluwa Osuntokun - - Oliver Gugger - - Rjected - - Steven Kreuzer - - Torkel Rogstad - - Tristyn - - Victor Lavaud - - Vinayak Borkar - - Wilmer Paulino - - Yaacov Akiba Slama - - ebiiim - - ipriver - - wakiyamap - - yyforyongyu - -Changes in 0.21.0 (Thu Aug 27 2020) - - Network-related changes: - - Handle notfound messages from peers in netsync package (#1603) - - RPC changes: - - Add compatibility for getblock RPC changes in bitcoind 0.15.0 (#1529) - - Add new optional Params field to rpcclient.ConnConfig (#1467) - - Add new error code ErrRPCInWarmup in btcjson (#1541) - - Add compatibility for changes to getmempoolentry response in bitcoind - 0.19.0 (#1524) - - Add rpcclient methods for estimatesmartfee and generatetoaddress - commands (#1500) - - Add rpcclient method for getblockstats command (#1500) - - Parse serialized transaction from createrawtransaction command using - both segwit, and legacy format (#1502) - - Support cookie-based authentication in rpcclient (#1460) - - Add rpcclient method for getchaintxstats command (#1571) - - Add rpcclient method for fundrawtransaction command (#1553) - - Add rpcclient method for getbalances command (#1595) - - Add new method rpcclient.GetTransactionWatchOnly (#1592) - - Crypto changes: - - Fix panic in fieldVal.SetByteSlice when called with large values, and - improve the method to be 35% faster (#1602) - - btcctl changes: - - Add -regtest mode to btcctl (#1556) - - Misc changes: - - Fix a bug due to a deadlock in connmgr's dynamic ban scoring (#1509) - - Add blockchain.NewUtxoEntry() to directly create entries for - UtxoViewpoint (#1588) - - Replace LRU cache implementation in peer package with a generic one - from decred/dcrd (#1599) - - Contributors (alphabetical order): - - Anirudha Bose - - Antonin Hildebrand - - Dan Cline - - Daniel McNally - - David Hill - - Federico Bond - - George Tankersley - - Henry - - Henry Harder - - Iskander Sharipov - - Ivan Kuznetsov - - Jake Sylvestre - - Javed Khan - - JeremyRand - - Jin - - John C. Vernaleo - - Kulpreet Singh - - Mikael Lindlof - - Murray Nesbitt - - Nisen - - Olaoluwa Osuntokun - - Oliver Gugger - - Steven Roose - - Torkel Rogstad - - Tyler Chambers - - Wilmer Paulino - - Yash Bhutwala - - adiabat - - jalavosus - - mohanson - - qqjettkgjzhxmwj - - qshuai - - shuai.qi - - tpkeeper - -Changes in v0.20.1 (Wed Nov 13 2019) - - RPC changes: - - Add compatibility for bitcoind v0.19.0 in rpcclient and btcjson - packages (#1484) - - Contributors (alphabetical order): - - Eugene Zeigel - - Olaoluwa Osuntokun - - Wilmer Paulino - -Changes in v0.20.0 (Tue Oct 15 2019) - - Significant changes made since 0.12.0. See git log or refer to release - notes on GitHub for full details. - - Contributors (alphabetical order): - - Albert Puigsech Galicia - - Alex Akselrod - - Alex Bosworth - - Alex Manuskin - - Alok Menghrajani - - Anatoli Babenia - - Andy Weidenbaum - - Calvin McAnarney - - Chris Martin - - Chris Pacia - - Chris Shepherd - - Conner Fromknecht - - Craig Sturdy - - Cédric Félizard - - Daniel Krawisz - - Daniel Martí - - Daniel McNally - - Dario Nieuwenhuis - - Dave Collins - - David Hill - - David de Kloet - - GeertJohan - - Grace Noah - - Gregory Trubetskoy - - Hector Jusforgues - - Iskander (Alex) Sharipov - - Janus Troelsen - - Jasper - - Javed Khan - - Jeremiah Goyette - - Jim Posen - - Jimmy Song - - Johan T. Halseth - - John C. Vernaleo - - Jonathan Gillham - - Josh Rickmar - - Jon Underwood - - Jonathan Zeppettini - - Jouke Hofman - - Julian Meyer - - Kai - - Kamil Slowikowski - - Kefkius - - Leonardo Lazzaro - - Marco Peereboom - - Marko Bencun - - Mawueli Kofi Adzoe - - Michail Kargakis - - Mitchell Paull - - Nathan Bass - - Nicola 'tekNico' Larosa - - Olaoluwa Osuntokun - - Pedro Martelletto - - Ricardo Velhote - - Roei Erez - - Ruben de Vries - - Rune T. Aune - - Sad Pencil - - Shuai Qi - - Steven Roose - - Tadge Dryja - - Tibor Bősze - - Tomás Senart - - Tzu-Jung Lee - - Vadym Popov - - Waldir Pimenta - - Wilmer Paulino - - benma - - danda - - dskloet - - esemplastic - - jadeblaquiere - - nakagawa - - preminem - - qshuai - -Changes in 0.12.0 (Fri Nov 20 2015) - - Protocol and network related changes: - - Add a new checkpoint at block height 382320 (#555) - - Implement BIP0065 which includes support for version 4 blocks, a new - consensus opcode (OP_CHECKLOCKTIMEVERIFY) that enforces transaction - lock times, and a double-threshold switchover mechanism (#535, #459, - #455) - - Implement BIP0111 which provides a new bloom filter service flag and - hence provides support for protocol version 70011 (#499) - - Add a new parameter --nopeerbloomfilters to allow disabling bloom - filter support (#499) - - Reject non-canonically encoded variable length integers (#507) - - Add mainnet peer discovery DNS seed (seed.bitcoin.jonasschnelli.ch) - (#496) - - Correct reconnect handling for persistent peers (#463, #464) - - Ignore requests for block headers if not fully synced (#444) - - Add CLI support for specifying the zone id on IPv6 addresses (#538) - - Fix a couple of issues where the initial block sync could stall (#518, - #229, #486) - - Fix an issue which prevented the --onion option from working as - intended (#446) - - Transaction relay (memory pool) changes: - - Require transactions to only include signatures encoded with the - canonical 'low-s' encoding (#512) - - Add a new parameter --minrelaytxfee to allow the minimum transaction - fee in BTC/kB to be overridden (#520) - - Retain memory pool transactions when they redeem another one that is - removed when a block is accepted (#539) - - Do not send reject messages for a transaction if it is valid but - causes an orphan transaction which depends on it to be determined - as invalid (#546) - - Refrain from attempting to add orphans to the memory pool multiple - times when the transaction they redeem is added (#551) - - Modify minimum transaction fee calculations to scale based on bytes - instead of full kilobyte boundaries (#521, #537) - - Implement signature cache: - - Provides a limited memory cache of validated signatures which is a - huge optimization when verifying blocks for transactions that are - already in the memory pool (#506) - - Add a new parameter '--sigcachemaxsize' which allows the size of the - new cache to be manually changed if desired (#506) - - Mining support changes: - - Notify getblocktemplate long polling clients when a block is pushed - via submitblock (#488) - - Speed up getblocktemplate by making use of the new signature cache - (#506) - - RPC changes: - - Implement getmempoolinfo command (#453) - - Implement getblockheader command (#461) - - Modify createrawtransaction command to accept a new optional parameter - 'locktime' (#529) - - Modify listunspent result to include the 'spendable' field (#440) - - Modify getinfo command to include 'errors' field (#511) - - Add timestamps to blockconnected and blockdisconnected notifications - (#450) - - Several modifications to searchrawtranscations command: - - Accept a new optional parameter 'vinextra' which causes the results - to include information about the outputs referenced by a transaction's - inputs (#485, #487) - - Skip entries in the mempool too (#495) - - Accept a new optional parameter 'reverse' to return the results in - reverse order (most recent to oldest) (#497) - - Accept a new optional parameter 'filteraddrs' which causes the - results to only include inputs and outputs which involve the - provided addresses (#516) - - Change the notification order to notify clients about mined - transactions (recvtx, redeemingtx) before the blockconnected - notification (#449) - - Update verifymessage RPC to use the standard algorithm so it is - compatible with other implementations (#515) - - Improve ping statistics by pinging on an interval (#517) - - Websocket changes: - - Implement session command which returns a per-session unique id (#500, - #503) - - btcctl utility changes: - - Add getmempoolinfo command (#453) - - Add getblockheader command (#461) - - Add getwalletinfo command (#471) - - Notable developer-related package changes: - - Introduce a new peer package which acts a common base for creating and - concurrently managing bitcoin network peers (#445) - - Various cleanup of the new peer package (#528, #531, #524, #534, - #549) - - Blocks heights now consistently use int32 everywhere (#481) - - The BlockHeader type in the wire package now provides the BtcDecode - and BtcEncode methods (#467) - - Update wire package to recognize BIP0064 (getutxo) service bit (#489) - - Export LockTimeThreshold constant from txscript package (#454) - - Export MaxDataCarrierSize constant from txscript package (#466) - - Provide new IsUnspendable function from the txscript package (#478) - - Export variable length string functions from the wire package (#514) - - Export DNS Seeds for each network from the chaincfg package (#544) - - Preliminary work towards separating the memory pool into a separate - package (#525, #548) - - Misc changes: - - Various documentation updates (#442, #462, #465, #460, #470, #473, - #505, #530, #545) - - Add installation instructions for gentoo (#542) - - Ensure an error is shown if OS limits can't be set at startup (#498) - - Tighten the standardness checks for multisig scripts (#526) - - Test coverage improvement (#468, #494, #527, #543, #550) - - Several optimizations (#457, #474, #475, #476, #508, #509) - - Minor code cleanup and refactoring (#472, #479, #482, #519, #540) - - Contributors (alphabetical order): - - Ben Echols - - Bruno Clermont - - danda - - Daniel Krawisz - - Dario Nieuwenhuis - - Dave Collins - - David Hill - - Javed Khan - - Jonathan Gillham - - Joseph Becher - - Josh Rickmar - - Justus Ranvier - - Mawuli Adzoe - - Olaoluwa Osuntokun - - Rune T. Aune - -Changes in 0.11.1 (Wed May 27 2015) - - Protocol and network related changes: - - Use correct sub-command in reject message for rejected transactions - (#436, #437) - - Add a new parameter --torisolation which forces new circuits for each - connection when using tor (#430) - - Transaction relay (memory pool) changes: - - Reduce the default number max number of allowed orphan transactions - to 1000 (#419) - - Add a new parameter --maxorphantx which allows the maximum number of - orphan transactions stored in the mempool to be specified (#419) - - RPC changes: - - Modify listtransactions result to include the 'involveswatchonly' and - 'vout' fields (#427) - - Update getrawtransaction result to omit the 'confirmations' field - when it is 0 (#420, #422) - - Update signrawtransaction result to include errors (#423) - - btcctl utility changes: - - Add gettxoutproof command (#428) - - Add verifytxoutproof command (#428) - - Notable developer-related package changes: - - The btcec package now provides the ability to perform ECDH - encryption and decryption (#375) - - The block and header validation in the blockchain package has been - split to help pave the way toward concurrent downloads (#386) - - Misc changes: - - Minor peer optimization (#433) - - Contributors (alphabetical order): - - Dave Collins - - David Hill - - Federico Bond - - Ishbir Singh - - Josh Rickmar - -Changes in 0.11.0 (Wed May 06 2015) - - Protocol and network related changes: - - **IMPORTANT: Update is required due to the following point** - - Correct a few corner cases in script handling which could result in - forking from the network on non-standard transactions (#425) - - Add a new checkpoint at block height 352940 (#418) - - Optimized script execution (#395, #400, #404, #409) - - Fix a case that could lead stalled syncs (#138, #296) - - Network address manager changes: - - Implement eclipse attack countermeasures as proposed in - http://cs-people.bu.edu/heilman/eclipse (#370, #373) - - Optional address indexing changes: - - Fix an issue where a reorg could cause an orderly shutdown when the - address index is active (#340, #357) - - Transaction relay (memory pool) changes: - - Increase maximum allowed space for nulldata transactions to 80 bytes - (#331) - - Implement support for the following rules specified by BIP0062: - - The S value in ECDSA signature must be at most half the curve order - (rule 5) (#349) - - Script execution must result in a single non-zero value on the stack - (rule 6) (#347) - - NOTE: All 7 rules of BIP0062 are now implemented - - Use network adjusted time in finalized transaction checks to improve - consistency across nodes (#332) - - Process orphan transactions on acceptance of new transactions (#345) - - RPC changes: - - Add support for a limited RPC user which is not allowed admin level - operations on the server (#363) - - Implement node command for more unified control over connected peers - (#79, #341) - - Implement generate command for regtest/simnet to support - deterministically mining a specified number of blocks (#362, #407) - - Update searchrawtransactions to return the matching transactions in - order (#354) - - Correct an issue with searchrawtransactions where it could return - duplicates (#346, #354) - - Increase precision of 'difficulty' field in getblock result to 8 - (#414, #415) - - Omit 'nextblockhash' field from getblock result when it is empty - (#416, #417) - - Add 'id' and 'timeoffset' fields to getpeerinfo result (#335) - - Websocket changes: - - Implement new commands stopnotifyspent, stopnotifyreceived, - stopnotifyblocks, and stopnotifynewtransactions to allow clients to - cancel notification registrations (#122, #342) - - btcctl utility changes: - - A single dash can now be used as an argument to cause that argument to - be read from stdin (#348) - - Add generate command - - Notable developer-related package changes: - - The new version 2 btcjson package has now replaced the deprecated - version 1 package (#368) - - The btcec package now performs all signing using RFC6979 deterministic - signatures (#358, #360) - - The txscript package has been significantly cleaned up and had a few - API changes (#387, #388, #389, #390, #391, #392, #393, #395, #396, - #400, #403, #404, #405, #406, #408, #409, #410, #412) - - A new PkScriptLocs function has been added to the wire package MsgTx - type which provides callers that deal with scripts optimization - opportunities (#343) - - Misc changes: - - Minor wire hashing optimizations (#366, #367) - - Other minor internal optimizations - - Contributors (alphabetical order): - - Alex Akselrod - - Arne Brutschy - - Chris Jepson - - Daniel Krawisz - - Dave Collins - - David Hill - - Jimmy Song - - Jonas Nick - - Josh Rickmar - - Olaoluwa Osuntokun - - Oleg Andreev - -Changes in 0.10.0 (Sun Mar 01 2015) - - Protocol and network related changes: - - Add a new checkpoint at block height 343185 - - Implement BIP066 which includes support for version 3 blocks, a new - consensus rule which prevents non-DER encoded signatures, and a - double-threshold switchover mechanism - - Rather than announcing all known addresses on getaddr requests which - can possibly result in multiple messages, randomize the results and - limit them to the max allowed by a single message (1000 addresses) - - Add more reserved IP spaces to the address manager - - Transaction relay (memory pool) changes: - - Make transactions which contain reserved opcodes nonstandard - - No longer accept or relay free and low-fee transactions that have - insufficient priority to be mined in the next block - - Implement support for the following rules specified by BIP0062: - - ECDSA signature must use strict DER encoding (rule 1) - - The signature script must only contain push operations (rule 2) - - All push operations must use the smallest possible encoding (rule 3) - - All stack values interpreted as a number must be encoding using the - shortest possible form (rule 4) - - NOTE: Rule 1 was already enforced, however the entire script now - evaluates to false rather than only the signature verification as - required by BIP0062 - - Allow transactions with nulldata transaction outputs to be treated as - standard - - Mining support changes: - - Modify the getblocktemplate RPC to generate and return block templates - for version 3 blocks which are compatible with BIP0066 - - Allow getblocktemplate to serve blocks when the current time is - less than the minimum allowed time for a generated block template - (https://github.com/lbryio/lbcd/issues/209) - - Crypto changes: - - Optimize scalar multiplication by the base point by using a - pre-computed table which results in approximately a 35% speedup - (https://github.com/btcsuite/btcec/issues/2) - - Optimize general scalar multiplication by using the secp256k1 - endomorphism which results in approximately a 17-20% speedup - (https://github.com/btcsuite/btcec/issues/1) - - Optimize general scalar multiplication by using non-adjacent form - which results in approximately an additional 8% speedup - (https://github.com/btcsuite/btcec/issues/3) - - Implement optional address indexing: - - Add a new parameter --addrindex which will enable the creation of an - address index which can be queried to determine all transactions which - involve a given address - (https://github.com/lbryio/lbcd/issues/190) - - Add a new logging subsystem for address index related operations - - Support new searchrawtransactions RPC - (https://github.com/lbryio/lbcd/issues/185) - - RPC changes: - - Require TLS version 1.2 as the minimum version for all TLS connections - - Provide support for disabling TLS when only listening on localhost - (https://github.com/lbryio/lbcd/pull/192) - - Modify help output for all commands to provide much more consistent - and detailed information - - Correct case in getrawtransaction which would refuse to serve certain - transactions with invalid scripts - (https://github.com/lbryio/lbcd/issues/210) - - Correct error handling in the getrawtransaction RPC which could lead - to a crash in rare cases - (https://github.com/lbryio/lbcd/issues/196) - - Update getinfo RPC to include the appropriate 'timeoffset' calculated - from the median network time - - Modify listreceivedbyaddress result type to include txids field so it - is compatible - - Add 'iswatchonly' field to validateaddress result - - Add 'startingpriority' and 'currentpriority' fields to getrawmempool - (https://github.com/lbryio/lbcd/issues/178) - - Don't omit the 'confirmations' field from getrawtransaction when it is - zero - - Websocket changes: - - Modify the behavior of the rescan command to automatically register - for notifications about transactions paying to rescanned addresses - or spending outputs from the final rescan utxo set when the rescan - is through the best block in the chain - - btcctl utility changes: - - Make the list of commands available via the -l option rather than - dumping the entire list on usage errors - - Alphabetize and categorize the list of commands by chain and wallet - - Make the help option only show the help options instead of also - dumping all of the commands - - Make the usage syntax much more consistent and correct a few cases of - misnamed fields - (https://github.com/lbryio/lbcd/issues/305) - - Improve usage errors to show the specific parameter number, reason, - and error code - - Only show the usage for specific command is shown when a valid command - is provided with invalid parameters - - Add support for a SOCK5 proxy - - Modify output for integer fields (such as timestamps) to display - normally instead in scientific notation - - Add invalidateblock command - - Add reconsiderblock command - - Add createnewaccount command - - Add renameaccount command - - Add searchrawtransactions command - - Add importaddress command - - Add importpubkey command - - showblock utility changes: - - Remove utility in favor of the RPC getblock method - - Notable developer-related package changes: - - Many of the core packages have been relocated into the btcd repository - (https://github.com/lbryio/lbcd/issues/214) - - A new version of the btcjson package that has been completely - redesigned from the ground up based based upon how the project has - evolved and lessons learned while using it since it was first written - is now available in the btcjson/v2/btcjson directory - - This will ultimately replace the current version so anyone making - use of this package will need to update their code accordingly - - The btcec package now provides better facilities for working directly - with its public and private keys without having to mix elements from - the ecdsa package - - Update the script builder to ensure all rules specified by BIP0062 are - adhered to when creating scripts - - The blockchain package now provides a MedianTimeSource interface and - concrete implementation for providing time samples from remote peers - and using that data to calculate an offset against the local time - - Misc changes: - - Fix a slow memory leak due to tickers not being stopped - (https://github.com/lbryio/lbcd/issues/189) - - Fix an issue where a mix of orphans and SPV clients could trigger a - condition where peers would no longer be served - (https://github.com/lbryio/lbcd/issues/231) - - The RPC username and password can now contain symbols which previously - conflicted with special symbols used in URLs - - Improve handling of obtaining random nonces to prevent cases where it - could error when not enough entropy was available - - Improve handling of home directory creation errors such as in the case - of unmounted symlinks (https://github.com/lbryio/lbcd/issues/193) - - Improve the error reporting for rejected transactions to include the - inputs which are missing and/or being double spent - - Update sample config file with new options and correct a comment - regarding the fact the RPC server only listens on localhost by default - (https://github.com/lbryio/lbcd/issues/218) - - Update the continuous integration builds to run several tools which - help keep code quality high - - Significant amount of internal code cleanup and improvements - - Other minor internal optimizations - - Code Contributors (alphabetical order): - - Beldur - - Ben Holden-Crowther - - Dave Collins - - David Evans - - David Hill - - Guilherme Salgado - - Javed Khan - - Jimmy Song - - John C. Vernaleo - - Jonathan Gillham - - Josh Rickmar - - Michael Ford - - Michail Kargakis - - kac - - Olaoluwa Osuntokun - -Changes in 0.9.0 (Sat Sep 20 2014) - - Protocol and network related changes: - - Add a new checkpoint at block height 319400 - - Add support for BIP0037 bloom filters - (https://github.com/conformal/btcd/issues/132) - - Implement BIP0061 reject handling and hence support for protocol - version 70002 (https://github.com/conformal/btcd/issues/133) - - Add testnet DNS seeds for peer discovery (testnet-seed.alexykot.me - and testnet-seed.bitcoin.schildbach.de) - - Add mainnet DNS seed for peer discovery (seeds.bitcoin.open-nodes.org) - - Make multisig transactions with non-null dummy data nonstandard - (https://github.com/conformal/btcd/issues/131) - - Make transactions with an excessive number of signature operations - nonstandard - - Perform initial DNS lookups concurrently which allows connections - more quickly - - Improve the address manager to significantly reduce memory usage and - add tests - - Remove orphan transactions when they appear in a mined block - (https://github.com/conformal/btcd/issues/166) - - Apply incremental back off on connection retries for persistent peers - that give invalid replies to mirror the logic used for failed - connections (https://github.com/conformal/btcd/issues/103) - - Correct rate-limiting of free and low-fee transactions - - Mining support changes: - - Implement getblocktemplate RPC with the following support: - (https://github.com/conformal/btcd/issues/124) - - BIP0022 Non-Optional Sections - - BIP0022 Long Polling - - BIP0023 Basic Pool Extensions - - BIP0023 Mutation coinbase/append - - BIP0023 Mutations time, time/increment, and time/decrement - - BIP0023 Mutation transactions/add - - BIP0023 Mutations prevblock, coinbase, and generation - - BIP0023 Block Proposals - - Implement built-in concurrent CPU miner - (https://github.com/conformal/btcd/issues/137) - NOTE: CPU mining on mainnet is pointless. This has been provided - for testing purposes such as for the new simulation test network - - Add --generate flag to enable CPU mining - - Deprecate the --getworkkey flag in favor of --miningaddr which - specifies which addresses generated blocks will choose from to pay - the subsidy to - - RPC changes: - - Implement gettxout command - (https://github.com/conformal/btcd/issues/141) - - Implement validateaddress command - - Implement verifymessage command - - Mark getunconfirmedbalance RPC as wallet-only - - Mark getwalletinfo RPC as wallet-only - - Update getgenerate, setgenerate, gethashespersec, and getmininginfo - to return the appropriate information about new CPU mining status - - Modify getpeerinfo pingtime and pingwait field types to float64 so - they are compatible - - Improve disconnect handling for normal HTTP clients - - Make error code returns for invalid hex more consistent - - Websocket changes: - - Switch to a new more efficient websocket package - (https://github.com/conformal/btcd/issues/134) - - Add rescanfinished notification - - Modify the rescanprogress notification to include block hash as well - as height (https://github.com/conformal/btcd/issues/151) - - btcctl utility changes: - - Accept --simnet flag which automatically selects the appropriate port - and TLS certificates needed to communicate with btcd and btcwallet on - the simulation test network - - Fix createrawtransaction command to send amounts denominated in BTC - - Add estimatefee command - - Add estimatepriority command - - Add getmininginfo command - - Add getnetworkinfo command - - Add gettxout command - - Add lockunspent command - - Add signrawtransaction command - - addblock utility changes: - - Accept --simnet flag which automatically selects the appropriate port - and TLS certificates needed to communicate with btcd and btcwallet on - the simulation test network - - Notable developer-related package changes: - - Provide a new bloom package in btcutil which allows creating and - working with BIP0037 bloom filters - - Provide a new hdkeychain package in btcutil which allows working with - BIP0032 hierarchical deterministic key chains - - Introduce a new btcnet package which houses network parameters - - Provide new simnet network (--simnet) which is useful for private - simulation testing - - Enforce low S values in serialized signatures as detailed in BIP0062 - - Return errors from all methods on the btcdb.Db interface - (https://github.com/conformal/btcdb/issues/5) - - Allow behavior flags to alter btcchain.ProcessBlock - (https://github.com/conformal/btcchain/issues/5) - - Provide a new SerializeSize API for blocks - (https://github.com/conformal/btcwire/issues/19) - - Several of the core packages now work with Google App Engine - - Misc changes: - - Correct an issue where the database could corrupt under certain - circumstances which would require a new chain download - - Slightly optimize deserialization - - Use the correct IP block for he.net - - Fix an issue where it was possible the block manager could hang on - shutdown - - Update sample config file so the comments are on a separate line - rather than the end of a line so they are not interpreted as settings - (https://github.com/conformal/btcd/issues/135) - - Correct an issue where getdata requests were not being properly - throttled which could lead to larger than necessary memory usage - - Always show help when given the help flag even when the config file - contains invalid entries - - General code cleanup and minor optimizations - -Changes in 0.8.0-beta (Sun May 25 2014) - - Btcd is now Beta (https://github.com/conformal/btcd/issues/130) - - Add a new checkpoint at block height 300255 - - Protocol and network related changes: - - Lower the minimum transaction relay fee to 1000 satoshi to match - recent reference client changes - (https://github.com/conformal/btcd/issues/100) - - Raise the maximum signature script size to support standard 15-of-15 - multi-signature pay-to-sript-hash transactions with compressed pubkeys - to remain compatible with the reference client - (https://github.com/conformal/btcd/issues/128) - - Reduce max bytes allowed for a standard nulldata transaction to 40 for - compatibility with the reference client - - Introduce a new btcnet package which houses all of the network params - for each network (mainnet, testnet3, regtest) to ultimately enable - easier addition and tweaking of networks without needing to change - several packages - - Fix several script discrepancies found by reference client test data - - Add new DNS seed for peer discovery (seed.bitnodes.io) - - Reduce the max known inventory cache from 20000 items to 1000 items - - Fix an issue where unknown inventory types could lead to a hung peer - - Implement inventory rebroadcast handler for sendrawtransaction - (https://github.com/conformal/btcd/issues/99) - - Update user agent to fully support BIP0014 - (https://github.com/conformal/btcwire/issues/10) - - Implement initial mining support: - - Add a new logging subsystem for mining related operations - - Implement infrastructure for creating block templates - - Provide options to control block template creation settings - - Support the getwork RPC - - Allow address identifiers to apply to more than one network since both - testnet3 and the regression test network unfortunately use the same - identifier - - RPC changes: - - Set the content type for HTTP POST RPC connections to application/json - (https://github.com/conformal/btcd/issues/121) - - Modified the RPC server startup so it only requires at least one valid - listen interface - - Correct an error path where it was possible certain errors would not - be returned - - Implement getwork command - (https://github.com/conformal/btcd/issues/125) - - Update sendrawtransaction command to reject orphans - - Update sendrawtransaction command to include the reason a transaction - was rejected - - Update getinfo command to populate connection count field - - Update getinfo command to include relay fee field - (https://github.com/conformal/btcd/issues/107) - - Allow transactions submitted with sendrawtransaction to bypass the - rate limiter - - Allow the getcurrentnet and getbestblock extensions to be accessed via - HTTP POST in addition to Websockets - (https://github.com/conformal/btcd/issues/127) - - Websocket changes: - - Rework notifications to ensure they are delivered in the order they - occur - - Rename notifynewtxs command to notifyreceived (funds received) - - Rename notifyallnewtxs command to notifynewtransactions - - Rename alltx notification to txaccepted - - Rename allverbosetx notification to txacceptedverbose - (https://github.com/conformal/btcd/issues/98) - - Add rescan progress notification - - Add recvtx notification - - Add redeemingtx notification - - Modify notifyspent command to accept an array of outpoints - (https://github.com/conformal/btcd/issues/123) - - Significantly optimize the rescan command to yield up to a 60x speed - increase - - btcctl utility changes: - - Add createencryptedwallet command - - Add getblockchaininfo command - - Add importwallet command - - Add addmultisigaddress command - - Add setgenerate command - - Accept --testnet and --wallet flags which automatically select - the appropriate port and TLS certificates needed to communicate - with btcd and btcwallet (https://github.com/conformal/btcd/issues/112) - - Allow path expansion from config file entries - (https://github.com/conformal/btcd/issues/113) - - Minor refactor simplify handling of options - - addblock utility changes: - - Improve logging by making it consistent with the logging provided by - btcd (https://github.com/conformal/btcd/issues/90) - - Improve several package APIs for developers: - - Add new amount type for consistently handling monetary values - - Add new coin selector API - - Add new WIF (Wallet Import Format) API - - Add new crypto types for private keys and signatures - - Add new API to sign transactions including script merging and hash - types - - Expose function to extract all pushed data from a script - (https://github.com/conformal/btcscript/issues/8) - - Misc changes: - - Optimize address manager shuffling to do 67% less work on average - - Resolve a couple of benign data races found by the race detector - (https://github.com/conformal/btcd/issues/101) - - Add IP address to all peer related errors to clarify which peer is the - cause (https://github.com/conformal/btcd/issues/102) - - Fix a UPNP case issue that prevented the --upnp option from working - with some UPNP servers - - Update documentation in the sample config file regarding debug levels - - Adjust some logging levels to improve debug messages - - Improve the throughput of query messages to the block manager - - Several minor optimizations to reduce GC churn and enhance speed - - Other minor refactoring - - General code cleanup - -Changes in 0.7.0 (Thu Feb 20 2014) - - Fix an issue when parsing scripts which contain a multi-signature script - which require zero signatures such as testnet block - 000000001881dccfeda317393c261f76d09e399e15e27d280e5368420f442632 - (https://github.com/conformal/btcscript/issues/7) - - Add check to ensure all transactions accepted to mempool only contain - canonical data pushes (https://github.com/conformal/btcscript/issues/6) - - Fix an issue causing excessive memory consumption - - Significantly rework and improve the websocket notification system: - - Each client is now independent so slow clients no longer limit the - speed of other connected clients - - Potentially long-running operations such as rescans are now run in - their own handler and rate-limited to one operation at a time without - preventing simultaneous requests from the same client for the faster - requests or notifications - - A couple of scenarios which could cause shutdown to hang have been - resolved - - Update notifynewtx notifications to support all address types instead - of only pay-to-pubkey-hash - - Provide a --rpcmaxwebsockets option to allow limiting the number of - concurrent websocket clients - - Add a new websocket command notifyallnewtxs to request notifications - (https://github.com/conformal/btcd/issues/86) (thanks @flammit) - - Improve btcctl utility in the following ways: - - Add getnetworkhashps command - - Add gettransaction command (wallet-specific) - - Add signmessage command (wallet-specific) - - Update getwork command to accept - - Continue cleanup and work on implementing the RPC API: - - Implement getnettotals command - (https://github.com/conformal/btcd/issues/84) - - Implement networkhashps command - (https://github.com/conformal/btcd/issues/87) - - Update getpeerinfo to always include syncnode field even when false - - Remove help addenda for getpeerinfo now that it supports all fields - - Close standard RPC connections on auth failure - - Provide a --rpcmaxclients option to allow limiting the number of - concurrent RPC clients (https://github.com/conformal/btcd/issues/68) - - Include IP address in RPC auth failure log messages - - Resolve a rather harmless data races found by the race detector - (https://github.com/conformal/btcd/issues/94) - - Increase block priority size and max standard transaction size to 50k - and 100k, respectively (https://github.com/conformal/btcd/issues/71) - - Add rate limiting of free transactions to the memory pool to prevent - penny flooding (https://github.com/conformal/btcd/issues/40) - - Provide a --logdir option (https://github.com/conformal/btcd/issues/95) - - Change the default log file path to include the network - - Add a new ScriptBuilder interface to btcscript to support creation of - custom scripts (https://github.com/conformal/btcscript/issues/5) - - General code cleanup - -Changes in 0.6.0 (Tue Feb 04 2014) - - Fix an issue when parsing scripts which contain invalid signatures that - caused a chain fork on block - 0000000000000001e4241fd0b3469a713f41c5682605451c05d3033288fb2244 - - Correct an issue which could lead to an error in removeBlockNode - (https://github.com/conformal/btcchain/issues/4) - - Improve addblock utility as follows: - - Check imported blocks against all chain rules and checkpoints - - Skip blocks which are already known so you can stop and restart the - import or start the import after you have already downloaded a portion - of the chain - - Correct an issue where the utility did not shutdown cleanly after - processing all blocks - - Add error on attempt to import orphan blocks - - Improve error handling and reporting - - Display statistics after input file has been fully processed - - Rework, optimize, and improve headers-first mode: - - Resuming the chain sync from any point before the final checkpoint - will now use headers-first mode - (https://github.com/conformal/btcd/issues/69) - - Verify all checkpoints as opposed to only the final one - - Reduce and bound memory usage - - Rollback to the last known good point when a header does not match a - checkpoint - - Log information about what is happening with headers - - Improve btcctl utility in the following ways: - - Add getaddednodeinfo command - - Add getnettotals command - - Add getblocktemplate command (wallet-specific) - - Add getwork command (wallet-specific) - - Add getnewaddress command (wallet-specific) - - Add walletpassphrasechange command (wallet-specific) - - Add walletlock command (wallet-specific) - - Add sendfrom command (wallet-specific) - - Add sendmany command (wallet-specific) - - Add settxfee command (wallet-specific) - - Add listsinceblock command (wallet-specific) - - Add listaccounts command (wallet-specific) - - Add keypoolrefill command (wallet-specific) - - Add getreceivedbyaccount command (wallet-specific) - - Add getrawchangeaddress command (wallet-specific) - - Add gettxoutsetinfo command (wallet-specific) - - Add listaddressgroupings command (wallet-specific) - - Add listlockunspent command (wallet-specific) - - Add listlock command (wallet-specific) - - Add listreceivedbyaccount command (wallet-specific) - - Add validateaddress command (wallet-specific) - - Add verifymessage command (wallet-specific) - - Add sendtoaddress command (wallet-specific) - - Continue cleanup and work on implementing the RPC API: - - Implement submitblock command - (https://github.com/conformal/btcd/issues/61) - - Implement help command - - Implement ping command - - Implement getaddednodeinfo command - (https://github.com/conformal/btcd/issues/78) - - Implement getinfo command - - Update getpeerinfo to support bytesrecv and bytessent - (https://github.com/conformal/btcd/issues/83) - - Improve and correct several RPC server and websocket areas: - - Change the connection endpoint for websockets from /wallet to /ws - (https://github.com/conformal/btcd/issues/80) - - Implement an alternative authentication for websockets so clients - such as javascript from browsers that don't support setting HTTP - headers can authenticate (https://github.com/conformal/btcd/issues/77) - - Add an authentication deadline for RPC connections - (https://github.com/conformal/btcd/issues/68) - - Use standard authentication failure responses for RPC connections - - Make automatically generated certificate more standard so it works - from client such as node.js and Firefox - - Correct some minor issues which could prevent the RPC server from - shutting down in an orderly fashion - - Make all websocket notifications require registration - - Change the data sent over websockets to text since it is JSON-RPC - - Allow connections that do not have an Origin header set - - Expose and track the number of bytes read and written per peer - (https://github.com/conformal/btcwire/issues/6) - - Correct an issue with sendrawtransaction when invoked via websockets - which prevented a minedtx notification from being added - - Rescan operations issued from remote wallets are no stopped when - the wallet disconnects mid-operation - (https://github.com/conformal/btcd/issues/66) - - Several optimizations related to fetching block information from the - database - - General code cleanup - -Changes in 0.5.0 (Mon Jan 13 2014) - - Optimize initial block download by introducing a new mode which - downloads the block headers first (up to the final checkpoint) - - Improve peer handling to remove the potential for slow peers to cause - sluggishness amongst all peers - (https://github.com/conformal/btcd/issues/63) - - Fix an issue where the initial block sync could stall when the sync peer - disconnects (https://github.com/conformal/btcd/issues/62) - - Correct an issue where --externalip was doing a DNS lookup on the full - host:port instead of just the host portion - (https://github.com/conformal/btcd/issues/38) - - Fix an issue which could lead to a panic on chain switches - (https://github.com/conformal/btcd/issues/70) - - Improve btcctl utility in the following ways: - - Show getdifficulty output as floating point to 6 digits of precision - - Show all JSON object replies formatted as standard JSON - - Allow btcctl getblock to accept optional params - - Add getaccount command (wallet-specific) - - Add getaccountaddress command (wallet-specific) - - Add sendrawtransaction command - - Continue cleanup and work on implementing RPC API calls - - Update getrawmempool to support new optional verbose flag - - Update getrawtransaction to match the reference client - - Update getblock to support new optional verbose flag - - Update raw transactions to fully match the reference client including - support for all transaction types and address types - - Correct getrawmempool fee field to return BTC instead of Satoshi - - Correct getpeerinfo service flag to return 8 digit string so it - matches the reference client - - Correct verifychain to return a boolean - - Implement decoderawtransaction command - - Implement createrawtransaction command - - Implement decodescript command - - Implement gethashespersec command - - Allow RPC handler overrides when invoked via a websocket versus - legacy connection - - Add new DNS seed for peer discovery - - Display user agent on new valid peer log message - (https://github.com/conformal/btcd/issues/64) - - Notify wallet when new transactions that pay to registered addresses - show up in the mempool before being mined into a block - - Support a tor-specific proxy in addition to a normal proxy - (https://github.com/conformal/btcd/issues/47) - - Remove deprecated sqlite3 imports from utilities - - Remove leftover profile write from addblock utility - - Quite a bit of code cleanup and refactoring to improve maintainability - -Changes in 0.4.0 (Thu Dec 12 2013) - - Allow listen interfaces to be specified via --listen instead of only the - port (https://github.com/conformal/btcd/issues/33) - - Allow listen interfaces for the RPC server to be specified via - --rpclisten instead of only the port - (https://github.com/conformal/btcd/issues/34) - - Only disable listening when --connect or --proxy are used when no - --listen interface are specified - (https://github.com/conformal/btcd/issues/10) - - Add several new standard transaction checks to transaction memory pool: - - Support nulldata scripts as standard - - Only allow a max of one nulldata output per transaction - - Enforce a maximum of 3 public keys in multi-signature transactions - - The number of signatures in multi-signature transactions must not - exceed the number of public keys - - The number of inputs to a signature script must match the expected - number of inputs for the script type - - The number of inputs pushed onto the stack by a redeeming signature - script must match the number of inputs consumed by the referenced - public key script - - When a block is connected, remove any transactions from the memory pool - which are now double spends as a result of the newly connected - transactions - - Don't relay transactions resurrected during a chain switch since - other peers will also be switching chains and therefore already know - about them - - Cleanup a few cases where rejected transactions showed as an error - rather than as a rejected transaction - - Ignore the default configuration file when --regtest (regression test - mode) is specified - - Implement TLS support for RPC including automatic certificate generation - - Support HTTP authentication headers for web sockets - - Update address manager to recognize and properly work with Tor - addresses (https://github.com/conformal/btcd/issues/36) and - (https://github.com/conformal/btcd/issues/37) - - Improve btcctl utility in the following ways: - - Add the ability to specify a configuration file - - Add a default entry for the RPC cert to point to the location - it will likely be in the btcd home directory - - Implement --version flag - - Provide a --notls option to support non-TLS configurations - - Fix a couple of minor races found by the Go race detector - - Improve logging - - Allow logging level to be specified on a per subsystem basis - (https://github.com/conformal/btcd/issues/48) - - Allow logging levels to be dynamically changed via RPC - (https://github.com/conformal/btcd/issues/15) - - Implement a rolling log file with a max of 10MB per file and a - rotation size of 3 which results in a max logging size of 30 MB - - Correct a minor issue with the rescanning websocket call - (https://github.com/conformal/btcd/issues/54) - - Fix a race with pushing address messages that could lead to a panic - (https://github.com/conformal/btcd/issues/58) - - Improve which external IP address is reported to peers based on which - interface they are connected through - (https://github.com/conformal/btcd/issues/35) - - Add --externalip option to allow an external IP address to be specified - for cases such as tor hidden services or advanced network configurations - (https://github.com/conformal/btcd/issues/38) - - Add --upnp option to support automatic port mapping via UPnP - (https://github.com/conformal/btcd/issues/51) - - Update Ctrl+C interrupt handler to properly sync address manager and - remove the UPnP port mapping (if needed) - - Continue cleanup and work on implementing RPC API calls - - Add importprivkey (import private key) command to btcctl - - Update getrawtransaction to provide addresses properly, support - new verbose param, and match the reference implementation with the - exception of MULTISIG (thanks @flammit) - - Update getblock with new verbose flag (thanks @flammit) - - Add listtransactions command to btcctl - - Add getbalance command to btcctl - - Add basic support for btcd to run as a native Windows service - (https://github.com/conformal/btcd/issues/42) - - Package addblock utility with Windows MSIs - - Add support for TravisCI (continuous build integration) - - Cleanup some documentation and usage - - Several other minor bug fixes and general code cleanup - -Changes in 0.3.3 (Wed Nov 13 2013) - - Significantly improve initial block chain download speed - (https://github.com/conformal/btcd/issues/20) - - Add a new checkpoint at block height 267300 - - Optimize most recently used inventory handling - (https://github.com/conformal/btcd/issues/21) - - Optimize duplicate transaction input check - (https://github.com/conformal/btcchain/issues/2) - - Optimize transaction hashing - (https://github.com/conformal/btcd/issues/25) - - Rework and optimize wallet listener notifications - (https://github.com/conformal/btcd/issues/22) - - Optimize serialization and deserialization - (https://github.com/conformal/btcd/issues/27) - - Add support for minimum transaction fee to memory pool acceptance - (https://github.com/conformal/btcd/issues/29) - - Improve leveldb database performance by removing explicit GC call - - Fix an issue where Ctrl+C was not always finishing orderly database - shutdown - - Fix an issue in the script handling for OP_CHECKSIG - - Impose max limits on all variable length protocol entries to prevent - abuse from malicious peers - - Enforce DER signatures for transactions allowed into the memory pool - - Separate the debug profile http server from the RPC server - - Rework of the RPC code to improve performance and make the code cleaner - - The getrawtransaction RPC call now properly checks the memory pool - before consulting the db (https://github.com/conformal/btcd/issues/26) - - Add support for the following RPC calls: getpeerinfo, getconnectedcount, - addnode, verifychain - (https://github.com/conformal/btcd/issues/13) - (https://github.com/conformal/btcd/issues/17) - - Implement rescan websocket extension to allow wallet rescans - - Use correct paths for application data storage for all supported - operating systems (https://github.com/conformal/btcd/issues/30) - - Add a default redirect to the http profiling page when accessing the - http profile server - - Add a new --cpuprofile option which can be used to generate CPU - profiling data on platforms that support it - - Several other minor performance optimizations - - Other minor bug fixes and general code cleanup - -Changes in 0.3.2 (Tue Oct 22 2013) - - Fix an issue that could cause the download of the block chain to stall - (https://github.com/conformal/btcd/issues/12) - - Remove deprecated sqlite as an available database backend - - Close sqlite compile issue as sqlite has now been removed - (https://github.com/conformal/btcd/issues/11) - - Change default RPC ports to 8334 (mainnet) and 18334 (testnet) - - Continue cleanup and work on implementing RPC API calls - - Add support for the following RPC calls: getrawmempool, - getbestblockhash, decoderawtransaction, getdifficulty, - getconnectioncount, getpeerinfo, and addnode - - Improve the btcctl utility that is used to issue JSON-RPC commands - - Fix an issue preventing btcd from cleanly shutting down with the RPC - stop command - - Add a number of database interface tests to ensure backends implement - the expected interface - - Expose some additional information from btcscript to be used for - identifying "standard"" transactions - - Add support for plan9 - thanks @mischief - (https://github.com/conformal/btcd/pull/19) - - Other minor bug fixes and general code cleanup - -Changes in 0.3.1-alpha (Tue Oct 15 2013) - - Change default database to leveldb - NOTE: This does mean you will have to redownload the block chain. Since we - are still in alpha, we didn't feel writing a converter was worth the time as - it would take away from more important issues at this stage - - Add a warning if there are multiple block chain databases of different types - - Fix issue with unexpected EOF in leveldb -- https://github.com/conformal/btcd/issues/18 - - Fix issue preventing block 21066 on testnet -- https://github.com/conformal/btcchain/issues/1 - - Fix issue preventing block 96464 on testnet -- https://github.com/conformal/btcscript/issues/1 - - Optimize transaction lookups - - Correct a few cases of list removal that could result in improper cleanup - of no longer needed orphans - - Add functionality to increase ulimits on non-Windows platforms - - Add support for mempool command which allows remote peers to query the - transaction memory pool via the bitcoin protocol - - Clean up logging a bit - - Add a flag to disable checkpoints for developers - - Add a lot of useful debug logging such as message summaries - - Other minor bug fixes and general code cleanup - -Initial Release 0.3.0-alpha (Sat Oct 05 2013): - - Initial release diff --git a/Dockerfile b/Dockerfile index 2b9f8c9d..65230b07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ ARG ARCH=amd64 -FROM golang:1.14-alpine3.12 AS build-container +FROM golang:1.16-alpine3.14 AS build-container ARG ARCH ENV GO111MODULE=on @@ -25,17 +25,16 @@ ADD . /app WORKDIR /app RUN set -ex \ && if [ "${ARCH}" = "amd64" ]; then export GOARCH=amd64; fi \ - && if [ "${ARCH}" = "arm32v7" ]; then export GOARCH=arm; fi \ && if [ "${ARCH}" = "arm64v8" ]; then export GOARCH=arm64; fi \ && echo "Compiling for $GOARCH" \ && go install -v . ./cmd/... -FROM $ARCH/alpine:3.12 +FROM $ARCH/alpine:3.14 COPY --from=build-container /go/bin /bin -VOLUME ["/root/.btcd"] +VOLUME ["/root/.lbcd"] -EXPOSE 8333 8334 +EXPOSE 9245 9246 ENTRYPOINT ["lbcd"] diff --git a/config.go b/config.go index 4e9d7cf1..ea0e9635 100644 --- a/config.go +++ b/config.go @@ -126,7 +126,7 @@ type config struct { MaxOrphanTxs int `long:"maxorphantx" description:"Max number of orphan transactions to keep in memory"` MaxPeers int `long:"maxpeers" description:"Max number of inbound and outbound peers"` MiningAddrs []string `long:"miningaddr" description:"Add the specified payment address to the list of addresses to use for generated blocks -- At least one address is required if the generate option is set"` - MinRelayTxFee float64 `long:"minrelaytxfee" description:"The minimum transaction fee in BTC/kB to be considered a non-zero fee."` + MinRelayTxFee float64 `long:"minrelaytxfee" description:"The minimum transaction fee in LBC/kB to be considered a non-zero fee."` DisableBanning bool `long:"nobanning" description:"Disable banning of misbehaving peers"` NoCFilters bool `long:"nocfilters" description:"Disable committed filtering (CF) support"` DisableCheckpoints bool `long:"nocheckpoints" description:"Disable built-in checkpoints. Don't do this unless you know what you're doing."` diff --git a/rpcserverhelp.go b/rpcserverhelp.go index f8847da6..e1c9833a 100644 --- a/rpcserverhelp.go +++ b/rpcserverhelp.go @@ -21,7 +21,7 @@ var helpDescsEnUS = map[string]string{ "The levelspec can either a debug level or of the form:\n" + "=,=,...\n" + "The valid debug levels are trace, debug, info, warn, error, and critical.\n" + - "The valid subsystems are AMGR, ADXR, BCDB, BMGR, BTCD, CHAN, DISC, PEER, RPCS, SCRP, SRVR, and TXMP.\n" + + "The valid subsystems are AMGR, ADXR, BCDB, BMGR, MAIN, LBRY, CHAN, DISC, PEER, RPCS, SCRP, SRVR, and TXMP.\n" + "Finally the keyword 'show' will return a list of the available subsystems.", "debuglevel-levelspec": "The debug level(s) to use or the keyword 'show'", "debuglevel--condition0": "levelspec!=show", @@ -52,7 +52,7 @@ var helpDescsEnUS = map[string]string{ "createrawtransaction-amounts": "JSON object with the destination addresses as keys and amounts as values", "createrawtransaction-amounts--key": "address", "createrawtransaction-amounts--value": "n.nnn", - "createrawtransaction-amounts--desc": "The destination address as the key and the amount in BTC as the value", + "createrawtransaction-amounts--desc": "The destination address as the key and the amount in LBC as the value", "createrawtransaction-locktime": "Locktime value; a non-zero value will also locktime-activate the inputs", "createrawtransaction--result0": "Hex-encoded bytes of the serialized transaction", @@ -89,7 +89,7 @@ var helpDescsEnUS = map[string]string{ "scriptpubkeyresult-addresses": "The bitcoin addresses associated with this script", // Vout help. - "vout-value": "The amount in BTC", + "vout-value": "The amount in LBC", "vout-n": "The index of this transaction output", "vout-scriptPubKey": "The public key script used to pay coins as a JSON object", @@ -388,7 +388,7 @@ var helpDescsEnUS = map[string]string{ "infochainresult-proxy": "The proxy used by the server", "infochainresult-difficulty": "The current target difficulty", "infochainresult-testnet": "Whether or not server is using testnet", - "infochainresult-relayfee": "The minimum relay fee for non-free transactions in BTC/KB", + "infochainresult-relayfee": "The minimum relay fee for non-free transactions in LBC/KB", "infochainresult-errors": "Any current errors", // InfoWalletResult help. @@ -405,8 +405,8 @@ var helpDescsEnUS = map[string]string{ "infowalletresult-keypoololdest": "Seconds since 1 Jan 1970 GMT of the oldest pre-generated key in the key pool", "infowalletresult-keypoolsize": "The number of new keys that are pre-generated", "infowalletresult-unlocked_until": "The timestamp in seconds since 1 Jan 1970 GMT that the wallet is unlocked for transfers, or 0 if the wallet is locked", - "infowalletresult-paytxfee": "The transaction fee set in BTC/KB", - "infowalletresult-relayfee": "The minimum relay fee for non-free transactions in BTC/KB", + "infowalletresult-paytxfee": "The transaction fee set in LBC/KB", + "infowalletresult-relayfee": "The minimum relay fee for non-free transactions in LBC/KB", "infowalletresult-errors": "Any current errors", // GetHeadersCmd help. @@ -522,7 +522,7 @@ var helpDescsEnUS = map[string]string{ // GetTxOutResult help. "gettxoutresult-bestblock": "The block hash that contains the transaction output", "gettxoutresult-confirmations": "The number of confirmations", - "gettxoutresult-value": "The transaction amount in BTC", + "gettxoutresult-value": "The transaction amount in LBC", "gettxoutresult-scriptPubKey": "The public key script used to pay coins as a JSON object", "gettxoutresult-version": "The transaction version", "gettxoutresult-coinbase": "Whether or not the transaction is a coinbase",