1 2015-03-04 00:21:30 <phantomcircuit> gmaxwell, actually thinking about it the ledger entries in the wallet being displayed as "last 30 days" and then a ledger for each month before that makes sense
2 2015-03-04 00:22:09 <phantomcircuit> it's reasonably cheap to scan 1 month of blocks and even cheaper to check if that had to even be done
3 2015-03-04 00:22:23 <phantomcircuit> then have something in the background looking for transactions
4 2015-03-04 00:22:54 <phantomcircuit> (maybe im crazy, please point out of there's something obvious im missing :P
5 2015-03-04 01:15:30 <Anon50345> Is there a tool for converting an ECDSA key into a wallet import format bitcoin private key?
6 2015-03-04 01:35:26 <leakypat> harding: hello
7 2015-03-04 01:36:21 <leakypat> harding: seems like there is a huge backlog on Bitcoin.org, trying to think of some ways to raise awareness
8 2015-03-04 01:36:39 <leakypat> Do you have anything in the works?
9 2015-03-04 01:37:09 <leakypat> Maybe someone with loads of reddit karma can do a post raising awareness that reviewers are needed
10 2015-03-04 03:41:18 <ladhitya> hi guys, I have some questions in regards to setting up insight-api and a brand new node, could anybody help me please ? Cheers :)
11 2015-03-04 04:59:41 <Luke-Jr> gmaxwell: can you assign a number for https://gist.github.com/maaku/2aed2cb628024800044d so I can reference it, or is it too premature?
12 2015-03-04 04:59:48 <Luke-Jr> maaku: ^ if that's okay with you
13 2015-03-04 05:06:18 <gmaxwell> Luke-Jr: has it ever actually been on the mailing list? (I think its premature in multiple ways, but that may also be one)
14 2015-03-04 05:07:14 <Luke-Jr> gmaxwell: maaku sent some version of it 2013-12-20
15 2015-03-04 06:21:20 <maaku> there was a prior version on the mailing list, but I think it is still premature
16 2015-03-04 06:21:33 <maaku> i'd rather wait until there was a C or C++ implementation & test vectors
17 2015-03-04 11:56:53 <Thomas1234> Hello you all! I'm looking for someone who could add a Bitcoin Exchange to https://de.bitcoin.it/wiki/Handel or to find out how I could do it myself
18 2015-03-04 14:59:38 <aschildbach> I wonder are there any statistics on how the fee evolved since we introduced floating fees?
19 2015-03-04 15:02:37 <helo> bc.i has some charts, shrug
20 2015-03-04 15:28:38 <wumpus> aschildbach: http://bitcoincore.org/smartfee/fee_graph.html
21 2015-03-04 15:43:02 <jcorgan> that's useful information, didn't know it existed
22 2015-03-04 16:19:45 <moparisthebest> is anyone aware of an open source library that'd provide a function similar to hasAddressRecievedBitcoins(address, amount) without relying on 3rd party services? (presumably by running bitcoin core on the server maybe)
23 2015-03-04 16:20:16 <moparisthebest> as to language, probably php or java or something, I suppose it doesn't matter too much
24 2015-03-04 16:22:57 <xabbix> moparisthebest, You can use https://github.com/bitpay/insight-api, it requires you to run bitcoin-core and parses the blockchain through it while exposing a REST API that among other things can show you an address balance.
25 2015-03-04 16:23:20 <sipa> ... or you can just run bitcoin core and use the getreceivedbyaddress RPC
26 2015-03-04 16:23:25 <sipa> or use a BitcoinJ wallet
27 2015-03-04 16:24:07 <xabbix> sipa, he's trying to get balances of addresses not owned by him if I understand correctly.
28 2015-03-04 16:24:19 <moparisthebest> yea it sounds like for my usecase the best bet is to just run bitcoin core and use RPC, I just figured bitcoin was old enough that would already be written in something like PHP
29 2015-03-04 16:24:30 <sipa> xabbix: bitcoin core can do that since 0.10
30 2015-03-04 16:24:34 <sipa> using watch-only addresses
31 2015-03-04 16:24:48 <xabbix> oh cool.
32 2015-03-04 16:25:01 <sipa> (not balances, which is a bad idea, but it can tell you when an address receives coins)
33 2015-03-04 16:27:24 <moparisthebest> hmm I don't see rpc docs anywhere
34 2015-03-04 16:27:41 <moparisthebest> https://en.bitcoin.it/wiki/API_reference_(JSON-RPC) that just links to libraries
35 2015-03-04 16:27:56 <sipa> there is an example binary bitcoin-cli which can send remote commands
36 2015-03-04 16:28:10 <sipa> try sending the help command, it will give you a list of available commands
37 2015-03-04 16:28:36 <moparisthebest> great thanks
38 2015-03-04 16:28:43 <sipa> though you can send RPC commands from any language that supports JSON-RPC (which means pretty much everything)
39 2015-03-04 16:28:56 <moparisthebest> yea I just wanted to know what commands were available
40 2015-03-04 16:29:03 <sipa> it changes between releases
41 2015-03-04 16:29:28 <moparisthebest> because I guess what I *really* want is hasAddressRecievedBitcoins(address, amount, minimumNumberOfConfirmations)
42 2015-03-04 16:29:34 <moparisthebest> not sure if I can do that type of thing
43 2015-03-04 16:30:14 <sipa> see https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
44 2015-03-04 16:30:24 <sipa> getreceivedbyaddress
45 2015-03-04 16:31:13 <moparisthebest> hmm that's what I need except for: Works only for addresses in the local wallet, external addresses will always show 0.
46 2015-03-04 16:31:29 <sipa> you can use importaddress since 0.10
47 2015-03-04 16:31:37 <sipa> to make a wallet consider an external address as local
48 2015-03-04 16:32:18 <moparisthebest> so what I want to do is automatically accept payments for things on a website, I was going to use this: https://en.bitcoin.it/wiki/Lazy_API except without wanting to rely on the 3rd party blockexplorer.com
49 2015-03-04 16:32:55 <sipa> sounds exactly like what you need then
50 2015-03-04 16:33:05 <moparisthebest> ah ok yea that could work, generate a bunch of addresses on my secure computer, copy to server, import them, then use json rpc to see if they recieved enough coin with enough confirmations
51 2015-03-04 16:33:19 <sipa> you need to call importaddress before handing out the address for payment
52 2015-03-04 16:33:32 <sipa> (set rescan to false)
53 2015-03-04 16:34:00 <moparisthebest> that sounds pretty good and easy
54 2015-03-04 16:34:43 <moparisthebest> there isn't a way to automatically generate new addresses on the server without the private key is there?
55 2015-03-04 16:35:03 <moparisthebest> because if the server is compromised I don't want the attacker to be able to spend my bitcoins
56 2015-03-04 16:35:22 <sipa> not automatically, no
57 2015-03-04 16:36:08 <moparisthebest> someone told me "use a deterministic wallet, public key on the server which generates addresses, master private key offline which generates private keys for spending them" but I have no idea what any of that means :/
58 2015-03-04 16:37:00 <sipa> if you have the ability to just pregenerate a bunch of addresses offline, and import them, i suggest you do so
59 2015-03-04 16:37:16 <sipa> deterministic wallets indeed can do this automatically, but they have non-obvious downsides
60 2015-03-04 16:37:32 <moparisthebest> that sounded easiest, just wondered, I'm entirely new to bitcoin
61 2015-03-04 16:40:27 <moparisthebest> ah ok here is the latest rpc docs: https://bitcoin.org/en/developer-reference#getreceivedbyaddress https://bitcoin.org/en/developer-reference#importaddress
62 2015-03-04 16:41:19 <morcos> sipa: just trying to fully understand how all the database writing works, why in LoadBlockIndexDB() when you are loading the block file infos, do you load up to nLastBlockFile and then keep reading until there are no more sequential numbers?
63 2015-03-04 16:41:40 <morcos> When would you have blockfileinfos beyond nLastBlockFile
64 2015-03-04 16:41:55 <sipa> belt-and-suspenders, i guess
65 2015-03-04 16:42:06 <sipa> nLastBlockFile will get updated later by iterating
66 2015-03-04 16:42:17 <sipa> so we could just not load nLastBlockFile
67 2015-03-04 16:42:54 <morcos> huh? i thought the iterating was only in a reindex?
68 2015-03-04 16:43:38 <sipa> in FindBlockPos
69 2015-03-04 16:44:10 <sipa> if the 'current' block file is full, we increase
70 2015-03-04 16:44:52 <sipa> and it loops, so just starting nLastBlockFile at 0 would always just work
71 2015-03-04 16:45:50 <morcos> oh ok, see what you mean... ok thanks
72 2015-03-04 16:46:46 <morcos> hmm
73 2015-03-04 16:48:14 <morcos> just to be clear, you ended up filling up block files that had small gaps at the end with small blocks if you did that...
74 2015-03-04 16:49:34 <morcos> s/ended/would end/ , anyway you answered my question, thx
75 2015-03-04 16:49:36 <sipa> ?
76 2015-03-04 16:52:06 <sdaftuar> i think morcos means, if you just set nLastBlockFile to 0 and counted on FindBlockPos to iterate to the right spot, then if a small block happened to come in, you would stick it in an earlier file than if you had set nLastBlockFile to be the last file on initialization, if there happened to be a small gap at the end of an earlier block file...?
77 2015-03-04 16:52:59 <sipa> oh, right, indeed
78 2015-03-04 16:53:45 <sdaftuar> thanks, i think we understand better now
79 2015-03-04 17:08:51 <timothy> hi, who is a forum admin?
80 2015-03-04 17:10:38 <timothy> bitcointalk ofc
81 2015-03-04 18:07:03 <cfields> wumpus: for your overlapping block issue, have you previously reindexed with those block files?
82 2015-03-04 18:12:43 <cfields> sipa: when re-indexing, just in case there's an instance where there's garbage data with a valid block after, shouldn't the vinfoBlockFile[nFile].nSize be set to the end of the last known good block, rather than the sum of all known block sizes?
83 2015-03-04 18:13:13 <cfields> sipa: i'm speaking of FindBlockPos()
84 2015-03-04 18:14:02 <sipa> yes
85 2015-03-04 18:14:55 <cfields> something like: http://pastebin.com/raw.php?i=wUPWK3CU
86 2015-03-04 18:15:07 <rubensayshi> hmm, why do we flip the byte order for the transaction hash for almost everything but the P2P protocol?
87 2015-03-04 18:16:29 <Luke-Jr> because doing it sanely would be too simple :P
88 2015-03-04 18:17:11 <timothy> I think we use network order
89 2015-03-04 18:17:14 <cfields> sipa: assuming that wumpus's blocks were previously corrupted and reindexed, that may account for a discrepancy between the db and the indexes on disk?
90 2015-03-04 18:23:35 <sipa> cfields: do we ever set something to a sum?
91 2015-03-04 18:23:41 <sipa> that would be bad
92 2015-03-04 18:24:58 <cfields> sipa: unless i'm reading it wrong, the valid block size is calculated, passed to FindBlockPos() as nAddSize, then used to increment: vinfoBlockFile[nFile].nSize += nAddSize
93 2015-03-04 19:09:10 <ajweiss> is the last block truncated?
94 2015-03-04 19:12:24 <wumpus> cfields: I don't think so re: reindexing
95 2015-03-04 19:12:55 <wumpus> cfields: last time this node got corrupt I just started over
96 2015-03-04 19:13:23 <cfields> wumpus: ok. It seems to me that the above would be an issue, but that does nothing to explain how it could get into that state to begin with
97 2015-03-04 19:17:37 <ajweiss> it would be interesting to see if vinfoblocksize[].nSize actually matches the length of the file...
98 2015-03-04 21:52:46 <kanzure> has anyone implemented per-account watchonlys? :/