< gribble>
https://github.com/bitcoin/bitcoin/issues/14602 | Bugfix: Correctly calculate balances when min_conf is used, and for getbalance("*") by luke-jr · Pull Request #14602 · bitcoin/bitcoin · GitHub
< meshcollider>
it should probably be backported then right
< sipa>
meshcollider: yes
< gmaxwell>
yep, I thought I saw that one. The other one is less clear to me... "invalid amount" makes me wonder what php is doing with 0.00005.
< gmaxwell>
meshcollider: yes, that a pretty serious behavior change.
< Toby>
Hello there.
< Guest9346>
Is anybody there?
< Guest9346>
How can I contribute to bitcoin development
< meshcollider>
Yeah the listunspent one is weird, I don't think theres been any changes to how it works in 0.17? And I can't replicate the issue using the command line, I suspect you're right about it being a weird PHP thing
< gmaxwell>
meshcollider: a while back (not in 0.17.0) we changes from accepting .00005 to only accepting 0.00005 who knows how it stringifies that value...
< bitcoin-git>
[bitcoin] andrewtoth opened pull request #14707: [RPC] Add include_coinbase option to receiveby RPCs (master...receivedby-coinbase) https://github.com/bitcoin/bitcoin/pull/14707
< phantomcircuit>
gmaxwell, almost certainly bad things
< sanket1729>
What do you think about the following? Prior to RBF, nodes discarded all the transactions after the first transaction thereby guarding CPU validation resources by not validating other transactions. After RBF, nodes need to validate all subsequent transactions with higher sequence number if they pay higher fee.
< sanket1729>
In peak fees times, fees have been around 1000sat/byte(Jan 2018) whereas rbf only requires fees be more than minTxRelay fees(currently 1say/byte in bitcoin core) than the previous transaction. An attacker could start with 1 sat/byte fees and send 1000 RBF transactions with increasing fees 1sat/byte, 2 .... and so on. Thereby wasting node CPU validation resources 1000 times. This is not a big problem since fees are around
< sanket1729>
Or maybe this is the expected behavior?
< gmaxwell>
sanket1729: they could do the same thing without replacement at all, simply by chaining low fee transactions.
< gmaxwell>
the whole design of the RBF rules was to limit resource expendature to be approximately equal to the worst case you could achieve without using replacement.
< sanket1729>
Yes, but I read somewhere that mempool increases the minimum fees to tx to enter into mempool incase there is spam. But this is not spam since we are replacing things from mempool. So, it is kindof different
< sanket1729>
From pwuille from bitcoin stackexchange: Nodes on the network maintain unconfirmed transactions in their mempool, and when the mempool grows too big, they will raise the minimum fee necessary to enter the mempool
< gmaxwell>
sanket1729: the minimum relay fee goes up when your nodes local mempool is full (e.g. 300MB of txdata), that value has never gone much over 10s/b IIRC FWIW.
< phantomcircuit>
gmaxwell, isn't the replacement increase also based on the mempool inclusion?
< gmaxwell>
phantomcircuit: yes well kinda. The replcement must meet the new minimum and must be greater than the replaced by the incremental feerate. They used to be one in the same, but I believe they were split because it made predicting the incremental minimum too hard.
< esotericnonsense>
gmaxwell: isn't it the case that without replacement there's a limit to chaining
< esotericnonsense>
(it could well be the case that the limit is newer than RBF)
< gmaxwell>
esotericnonsense: kinda. but if you fan out pessimally (to hit the worst case) it's enormous, so not a praticial limit on your ability to make many transactions.
< gmaxwell>
that limit is just there to avoid computational blow up in things like CPFP.
< sipa>
the incremental feerate for replacement doesn't go up when the mempool gets full
< sipa>
only the minimum relay feerate
< sipa>
sanket1729: hi, pieter here
< esotericnonsense>
ah yes i suppose that's right.
< esotericnonsense>
hadn't thought about fanning. lol.
< gmaxwell>
sipa: which is technically a violation of BIP125.
< esotericnonsense>
anyway I pasted this just now in -forks but thought someone here might care as it's core dev.
< gmaxwell>
esotericnonsense: block template view could show some stats like total weight, and total fees + subsidy.
< esotericnonsense>
yeah. i think it can actually be the same as the mempool table or roughly the same anyway
< gmaxwell>
esotericnonsense: on the peers table, take care to avoid displaying the random port number on one side of the connection (looks like you don't right now), it's basically of zero use but knowing it makes TCP RST attacks much easier.
< gmaxwell>
esotericnonsense: chaintips might be an interesting thing to show. and maybe some limited 'block explorer' like stuff.
< esotericnonsense>
i think everything that's in bitcoind-ncurses can go in there
< esotericnonsense>
it's not that simple to reason about not DoSing my own node though on the public version, if it were auth gated it would be a lot easier :p
< esotericnonsense>
e.g. caching responses works if you have a limited subset of responses, if someone can arbitrarily query a txid I need to actually think about things :P
< gmaxwell>
well you could just apply some rate limiter, perhaps with some per-IP bucketing so a DOSer doesn't block all webaccess.
< esotericnonsense>
yeah, it just has to be thought about per query I think because it simplifies the design to not care about rate limiting in the general case (e.g. only certain paths are vulnerable)
< esotericnonsense>
(I mean, _really_ rate limiting like 1-5/s as opposed to 'no-one needs to hit me at 100/s go away'
< esotericnonsense>
i think i'm going to build it in to the whitelist on the backend
< bitcoin-git>
bitcoin/master ec1201a Hennadii Stepanov: Don't use systray icon on inappropriate systems...
< bitcoin-git>
bitcoin/master 5cdfd72 Wladimir J. van der Laan: Merge #14228: Qt: Enable system tray icon by default if available...
< bitcoin-git>
[bitcoin] laanwj closed pull request #14228: Qt: Enable system tray icon by default if available (master...unavailable-systray) https://github.com/bitcoin/bitcoin/pull/14228
< wumpus>
can't wait to remove the concept of 'tray icon' completely...
< wumpus>
I think 'minimize to tray' caused more whoops, I've lost my UI issues than any other functionality
< promag>
:)
< wumpus>
(the other problematic functionality there is remembering the window position between runs, but that gets merely second place...)
< bitcoin-git>
[bitcoin] laanwj closed pull request #14494: Error if # is used in rpcpassword in conf (master...201810_hash_in_rpcpassword_error) https://github.com/bitcoin/bitcoin/pull/14494
< millerti>
I just built the latest bitcoin from github, and immediately on start, I get a std::bad_alloc exception. I googled this, and I don't think any of the problems people talk about. This is a completely fresh install. No wallets or anything. It's a 64-bit build. I have penty of physical and virtual RAM. Any ideas where to start? I'll try a debugger to get a stack trace....
< millerti>
Ah, here's the problem. A bad number being passed to operator new: operator new (sz=115948856372249)
< wumpus>
millerti: ouch! can you get a traceback from where that allocation is called?
< millerti>
Yeah.
< millerti>
What is your preferred paste site?
< wumpus>
0bin.net
< millerti>
Hmmm... I clicked the short URL link, and it just sits there saying that it's loading a short URL. Can I use pastebin?
< meshcollider>
why are there single quotes as well as double quotes
< phantomcircuit>
millerti, make clean and try again
< wumpus>
millerti: looks like there is a hidden one now
< millerti>
So... let's see if there's a newer boost....
< wumpus>
(e.g. not visible to the linker)
< millerti>
This is is fundamentally a clean build. I'll see if I can get some updates on boost.
< wumpus>
meshcollider: the double quotes are C++'s string quotes, the single quotes are shell quotes; '\'' closes the current '-string, adds a single escaped ', then reopens the '-string
< wumpus>
meshcollider: try: echo 'this has a quote '\'' in between'
< meshcollider>
ooh right
< meshcollider>
thanks
< promag>
what do you think of #14573 (added screenshot)?
< meshcollider>
promag: isn't such a menu typically called "View" not "Window"?
< meshcollider>
I like the idea though
< wumpus>
promag: FWIW, I like it
< promag>
meshcollider: at least on macos it's "Window"
< promag>
Finder, Preview, Chrome, iTerm, QtCreator all use Window
< wumpus>
although I"m not sure what the address book has to do with "Window"
< wumpus>
it's a wallet function
< meshcollider>
I'm just basing it off the three common programs i had open right now on my windows laptop haha, word, firefox and atom all say View on windows. Thats ok though!
< wumpus>
that's why it was under "file"
< meshcollider>
maybe its just a windows vs mac convention thing
< meshcollider>
although yeah the address book would make more sense if it was called View
< promag>
wumpus: I understand but I don't think that's how menus should be organised. For instance, Settings->Change Passphrase is also a wallet function
< promag>
otherwise we should have a "Wallet" menu
< wumpus>
maybe we should have a Wallet menu?
< wumpus>
I'm fairly sure users will be confused with the address book in the "Window" menu
< wumpus>
buut who am I, I"m not a GUI expert...
< millerti>
Ok, dumb question. What does bitcoind do when you first fire it up? I want to do solo mining using a hacked version of bfgminer, which is why I installed bitcoind. So I started it with no options, and it's doing a LOT of stuff. UpdateTip: new best, and stuff like that.
< wumpus>
promag: ohh I think I understand the rationale now, 'window' menu would have checkboxes for optional windows?
< millerti>
Hmmm... is it caching known successful hashes?
< wumpus>
it downloads and validates the bitcoin block chain
< millerti>
The WHOLE blockchain? All 17 million?
< promag>
wumpus: checkbox?
< wumpus>
there is a pruning option to keep only the last N blocks, but it needs to download and validate everything. I'm not sure what 17 million you're referring to. there are 549806 blocks atthe moment.
< wumpus>
btw; please ask further usage quesions in #bitcoin, this channel is for development
< wumpus>
promag: yes, to toggle visibility
< promag>
wumpus: ah yes
< wumpus>
I remember that concept from some graphics tools, I'm just pattern-matching though
< promag>
wumpus: it's like Window->Downloads in Chrome
< promag>
wumpus: and when you click on a transaction is opens a window with "Details for ...", that should go to Window menu too
< millerti>
Right, right. There is a limit if 21 million bitcoins, 17 million of which have been mined so far. But that's coins, not blocks.
< millerti>
Is this cache being saved to disk? Sorry if I'm asking noob questions. I've spent all my time studying the hashing algorithm and not paid much attention to the protocol and network.
< wumpus>
promag: by that reasoning, wouldn't the 'debug window' belong in the window menu too?
< wumpus>
promag: I think what confused me was that this is only done for the address book but not others
< promag>
wumpus: it's already there
< wumpus>
oh, sorry.
< promag>
wumpus: but I'd split it later, instead of "Debug window" it would have "Debug -> Console" etc
< wumpus>
I... wouldn't make those separate windows
< wumpus>
or do you mean that it goes to that tab?
< promag>
no, just direct access
< wumpus>
right
< wumpus>
millerti: yes, this is saved to disk
< millerti>
Cool. :)
< wumpus>
the initial sync can take from 3 hours on a fast machine to weeks on RPi-class hardware, it's not something you want to do often
< wumpus>
but agian, please move usage questions to #bitcoin
< millerti>
bitcoind crashed when I ran out of disk space. So I freed up PLENTY of space, but now it still complains that there's no space left on the device when I try to start it up.
< millerti>
Is this a usage question?
< millerti>
Never mind.
< booyah>
millerti: realy crash or just exited?
< booyah>
if it is sigsegv, then millerti can you run it in gdb, as "gdb --args bitcoind ...." and open issue on github
< millerti>
Well... it looked like a semi-clean shutdown. I added "-reindex" and it's doing something.
< millerti>
But apparently it didn't leave the database in the BEST of states, so we'll see. Is there a way to validate the block chain locally so I can be sure I'm not missing something? Or is that automatic?
< sipa>
millerti: well with -reindex it throws away the database and recreates it from scratch
< luke-jr>
fyi, apparently Qt has decided to break backward compatibility some time between 5.9 and 5.11 :|
< luke-jr>
not sure if this affects our binaries
< hebasto>
luke-jr: could you elaborate?
< luke-jr>
hebasto: I updated Qt and my Qt apps won't start anymore
< luke-jr>
relocation error: /usr/lib64/libQt5Gui.so.5: symbol _ZNK11QLocaleData13validateCharsERK7QStringNS_10NumberModeEP10QByteArrayi6QFlagsIN7QLocale12NumberOptionEE, version Qt_5 not defined in file libQt5Core.so.5 with link time reference
< luke-jr>
don't really have time to investigate further right this minute
< bitcoin-git>
[bitcoin] ryanofsky opened pull request #14711: Remove uses of chainActive and mapBlockIndex in wallet code (master...pr/wchain2) https://github.com/bitcoin/bitcoin/pull/14711
< bitcoin-git>
[bitcoin] MarcoFalke opened pull request #14712: wallet: Fix crash when rescanning wallet from future (master...Mf1811-walletCrashScan) https://github.com/bitcoin/bitcoin/pull/14712
< sipa>
oh, we crossed 90 bits of chainwork
< sipa>
around 29 hours ago
< achow101>
apparently github is killing the "github services" thing in jan which means that we will lose the irc notifications for prs as that is a github service
< achow101>
and it seems there is no replacement for it other than setting up a server that receives webhook notifications and then posts to irc
< luke-jr>
sigh
< sipa>
that doesn't sound hard
< midnightmagic>
No that part sounds pretty easy..
< drexl>
sounds like a use case for serverless/lambda