./finance/bitcoin, P2P electronic cash system

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version:, Package name: bitcoin-, Maintainer: khorben

Bitcoin is a decentralized P2P electronic cash system without a central
server or trusted parties. Users hold the crypto keys to their own money
and transact directly with each other, with the help of the network to
check for double-spending.

Required to run:
[sysutils/desktop-file-utils] [databases/db4] [devel/boost-libs] [net/zeromq]

Required to build:
[devel/boost-headers] [pkgtools/cwrappers]

Master sites:

SHA1: ea47611c499ecfb435d3c3404ce99c33f4ac6515
RMD160: 68aebc32d91724640b8112d1524adf3dd089e892
Filesize: 7213.216 KB

Version history: (Expand)

CVS history: (Expand)

   2019-12-03 17:30:35 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
bitcoin: updated to
Notable changes

New user documentation

Reduce memory suggests configuration tweaks for running Bitcoin Core on systems \ 
with limited memory.
New RPCs

getbalances returns an object with all balances (mine, untrusted_pending and \ 
immature). Please refer to the RPC help of getbalances for details. The new RPC \ 
is intended to replace getbalance, getunconfirmedbalance, and the balance fields \ 
in getwalletinfo. These old calls and fields may be removed in a future version.

setwalletflag sets and unsets wallet flags that enable or disable features \ 
specific to that existing wallet, such as the new avoid_reuse feature documented \ 
elsewhere in these release notes.

getblockfilter gets the BIP158 filter for the specified block. This RPC is only \ 
enabled if block filters have been created using the -blockfilterindex \ 
configuration option.

New settings

-blockfilterindex enables the creation of BIP158 block filters for the entire \ 
blockchain. Filters will be created in the background and currently use about 4 \ 
GiB of space. Note: this version of Bitcoin Core does not serve block filters \ 
over the P2P network, although the local user may obtain block filters using the \ 
getblockfilter RPC.
Updated settings

whitebind and whitelist now accept a list of permissions to provide peers \ 
connecting using the indicated interfaces or IP addresses. If no permissions are \ 
specified with an address or CIDR network, the implicit default permissions are \ 
the same as previous releases. See the bitcoind -help output for these two \ 
options for details about the available permissions.

Users setting custom dbcache values can increase their setting slightly without \ 
using any more real memory. Recent changes reduced the memory use by about 9% \ 
and made chainstate accounting more accurate (it was underestimating the use of \ 
memory before). For example, if you set a value of "450" before, you \ 
may now set a value of "500" to use about the same real amount of \ 

Updated RPCs

Note: some low-level RPC changes mainly useful for testing are described in the \ 
Low-level Changes section below.

sendmany no longer has a minconf argument. This argument was not well-specified \ 
and would lead to RPC errors even when the wallet's coin selection succeeded. \ 
Users who want to influence coin selection can use the existing \ 
-spendzeroconfchange, -limitancestorcount, -limitdescendantcount and \ 
-walletrejectlongchains configuration arguments.

getbalance and sendtoaddress, plus the new RPCs getbalances and createwallet, \ 
now accept an "avoid_reuse" parameter that controls whether already \ 
used addresses should be included in the operation. Additionally, sendtoaddress \ 
will avoid partial spends when avoid_reuse is enabled even if this feature is \ 
not already enabled via the -avoidpartialspends command line flag because not \ 
doing so would risk using up the "wrong" UTXO for an address reuse \ 

RPCs which have an include_watchonly argument or includeWatching option now \ 
default to true for watch-only wallets. Affected RPCs are: getbalance, \ 
listreceivedbyaddress, listreceivedbylabel, listtransactions, listsinceblock, \ 
gettransaction, walletcreatefundedpsbt, and fundrawtransaction.

listunspent now returns a "reused" bool for each output if the wallet \ 
flag "avoid_reuse" is enabled.

getblockstats now uses BlockUndo data instead of the transaction index, making \ 
it much faster, no longer dependent on the -txindex configuration option, and \ 
functional for all non-pruned blocks.

utxoupdatepsbt now accepts a descriptors parameter that will fill out input and \ 
output scripts and keys when known. P2SH-witness inputs will be filled in from \ 
the UTXO set when a descriptor is provided that shows they're spending segwit \ 
outputs. See the RPC help text for full details.

sendrawtransaction and testmempoolaccept no longer accept a allowhighfees \ 
parameter to fail mempool acceptance if the transaction fee exceeds the value of \ 
the configuration option -maxtxfee. Now there is a hardcoded default maximum \ 
feerate that can be changed when calling either RPC using a maxfeerate \ 

getmempoolancestors, getmempooldescendants, getmempoolentry, and getrawmempool \ 
no longer return a size field unless the configuration option \ 
-deprecatedrpc=size is used. Instead a new vsize field is returned with the \ 
transaction's virtual size (consistent with other RPCs such as \ 

getwalletinfo now includes a scanning field that is either false (no scanning) \ 
or an object with information about the duration and progress of the wallet's \ 
scanning historical blocks for transactions affecting its balances.

gettransaction now accepts a third (boolean) argument verbose. If set to true, a \ 
new decoded field will be added to the response containing the decoded \ 
transaction. This field is equivalent to RPC decoderawtransaction, or RPC \ 
getrawtransaction when verbose is passed.

createwallet accepts a new passphrase parameter. If set, this will create the \ 
new wallet encrypted with the given passphrase. If unset (the default) or set to \ 
an empty string, no encryption will be used.

getchaintxstats RPC now returns the additional key of window_final_block_height.

getmempoolentry now provides a weight field containing the transaction weight as \ 
defined in BIP141.

The getnetworkinfo and getpeerinfo commands now contain a new field with decoded \ 
network service flags.

getdescriptorinfo now returns an additional checksum field containing the \ 
checksum for the unmodified descriptor provided by the user (that is, before the \ 
descriptor is normalized for the descriptor field).

joinpsbts now shuffles the order of the inputs and outputs of the resulting \ 
joined PSBT. Previously, inputs and outputs were added in the order PSBTs were \ 
provided. This made it easy to correlate inputs to outputs, representing a \ 
privacy leak.

walletcreatefundedpsbt now signals BIP125 Replace-by-Fee if the -walletrbf \ 
configuration option is set to true.

GUI changes

The GUI wallet now provides bech32 addresses by default. The user may change the \ 
address type during invoice generation using a GUI toggle, or the default \ 
address type may be changed with the -addresstype configuration option.

In 0.18.0, a ./configure flag was introduced to allow disabling BIP70 support in \ 
the GUI (support was enabled by default). In 0.19.0, this flag is now disabled \ 
by default. If you want to compile Bitcoin Core with BIP70 support in the GUI, \ 
you can pass --enable-bip70 to ./configure.

Deprecated or removed configuration options

-mempoolreplacement is removed, although default node behavior remains the same. \ 
This option previously allowed the user to prevent the node from accepting or \ 
relaying BIP125 transaction replacements. This is different from the remaining \ 
configuration option -walletrbf.
Deprecated or removed RPCs

bumpfee no longer accepts a totalFee option unless the configuration parameter \ 
deprecatedrpc=totalFee is specified. This parameter will be fully removed in a \ 
subsequent release.

bumpfee has a new fee_rate option as a replacement for the deprecated totalFee.

generate is now removed after being deprecated in Bitcoin Core 0.18. Use the \ 
generatetoaddress RPC instead.

P2P changes

BIP 61 reject messages were deprecated in v0.18. They are now disabled by \ 
default, but can be enabled by setting the -enablebip61 command line option. BIP \ 
61 reject messages will be removed entirely in a future version of Bitcoin Core.

To eliminate well-known denial-of-service vectors in Bitcoin Core, especially \ 
for nodes with spinning disks, the default value for the -peerbloomfilters \ 
configuration option has been changed to false. This prevents Bitcoin Core from \ 
sending the BIP111 NODE_BLOOM service flag, accepting BIP37 bloom filters, or \ 
serving merkle blocks or transactions matching a bloom filter. Users who still \ 
want to provide bloom filter support may either set the configuration option to \ 
true to re-enable both BIP111 and BIP37 support or enable just BIP37 support for \ 
specific peers using the updated -whitelist and -whitebind configuration options \ 
described elsewhere in these release notes. For the near future, lightweight \ 
clients using public BIP111/BIP37 nodes should still be able to connect to older \ 
versions of Bitcoin Core and nodes that have manually enabled BIP37 support, but \ 
developers of such software should consider migrating to either using specific \ 
BIP37 nodes or an alternative transactio
n filtering system.

By default, Bitcoin Core will now make two additional outbound connections that \ 
are exclusively used for block-relay. No transactions or addr messages will be \ 
processed on these connections. These connections are designed to add little \ 
additional memory or bandwidth resource requirements but should make some \ 
partitioning attacks more difficult to carry out.

Miscellaneous CLI Changes

The testnet field in bitcoin-cli -getinfo has been renamed to chain and now \ 
returns the current network name as defined in BIP70 (main, test, regtest).
   2019-09-20 18:57:28 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
bitcoin: updated to 0.18.1


P2P protocol and network code
- Add tests and documentation for blocksonly
- Avoid logging transaction decode errors to stderr
- fix: tor: Call `event_base_loopbreak` from the event's callback
- Make poll in InterruptibleRecv only filter for POLLIN events

- Add -ignorepartialspends to list of ignored wallet options

RPC and other APIs
- Bugfix: fix pruneblockchain returned prune height
- Document iswitness flag and fix bug in converttopsbt
- Ensure that uncompressed public keys in a multisig always returns a legacy address
- Disallow extended encoding for non-witness transactions
- add 2nd arg to signrawtransactionwithkey examples
- signrawtransactionwithkey: report error when missing redeemScript/witnessScript

- fix the bug of OPEN CONFIGURATION FILE on Mac
- Show "No wallets available" in open menu instead of nothing
- Enable open wallet menu on setWalletController
- Set progressDialog to nullptr
- Fix open wallet menu initialization order
- Set `AA_EnableHighDpiScaling` attribute early
- Enable console line edit on setClientModel
- Assert QMetaObject::invokeMethod result

Build system
- Add test for GCC bug 90348
- Install bitcoin-wallet manpage
- build with -fstack-reuse=none

Tests and QA
- Pure python EC
- Add test for superfluous witness record in deserialization
- Bugfix: test/functional/rpc_psbt: Remove check for specific error message that \ 
depends on uncertain assumptions
- Add test that addmultisigaddress fails for watchonly addresses

- Remove text about txes always relayed from -whitelist

- Catch by reference not value in wallettool
- Replace fprintf with tfm::format
   2019-09-18 16:17:22 by Ryo ONODERA | Files touched by this commit (190)
Log message:
Recursive revbump from audio/pulseaudio
   2019-08-22 14:23:56 by Ryo ONODERA | Files touched by this commit (678)
Log message:
Recursive revbump from boost-1.71.0
   2019-07-01 06:08:55 by Ryo ONODERA | Files touched by this commit (669)
Log message:
Recursive revbump from boost-1.70.0
   2019-05-13 10:32:56 by Pierre Pronchery | Files touched by this commit (3) | Package updated
Log message:
Update finance/bitcoin to version 0.17.1

Among the changes, support was removed for Qt 4.

Due to issues with my local setup, this could not be tested with Qt 5 enabled
(currently not the default).
   2019-04-03 02:33:20 by Ryo ONODERA | Files touched by this commit (748)
Log message:
Recursive revbump from textproc/icu
   2019-02-13 16:20:27 by Tobias Nygren | Files touched by this commit (3)
Log message:
revbump for converters/qrencode solib major bump