1 2017-07-31 05:01:35	0|bryyan|if Bitcoin core is written in C++, why not support any kind of native interface directly (numbers as represented in memory going over tcp sockets as an RPC opposed to the serialised JSON RPC) ?
  2 2017-07-31 05:02:56	0|gmaxwell|because either it exposes internal datastructures which are unstable and change from version to version to outside applications;  or it has to specify yet another encoding.
  3 2017-07-31 05:03:14	0|gmaxwell|and we do already have a binary encoding for most thigns: use the p2p protocol.
  4 2017-07-31 05:04:23	0|bryyan|I mean't like json but in a C struct
  5 2017-07-31 05:04:45	0|bryyan|and not a char* but between applications you would include a .h file containing the structs
  6 2017-07-31 05:07:08	0|sipa|structs don't have a well-defined serialization to bytes
  7 2017-07-31 05:07:20	0|bryyan|on the same architecture they do
  8 2017-07-31 05:07:23	0|sipa|different architectures store them differently in memory
  9 2017-07-31 05:07:33	0|sipa|just a different compilation option may change them
 10 2017-07-31 05:07:47	0|bryyan|yes, but why write bitcoin core in c++, a platform dependent language under many circumstances?
 11 2017-07-31 05:08:32	0|bryyan|additionally its often feasible to have multiple AMD64 machines which use the same format for C variables
 12 2017-07-31 05:08:51	0|sipa|efficiency, tight control over resource usage, high-level
 13 2017-07-31 05:09:09	0|bryyan|JSON is kind of cpu intensive to cast back and forth between native types you know
 14 2017-07-31 05:09:21	0|bryyan|directly copying 4 bytes of memory is far cheaper
 15 2017-07-31 05:09:21	0|sipa|you can use REST
 16 2017-07-31 05:09:33	0|bryyan|what is REST?
 17 2017-07-31 05:09:43	0|sipa|for some data with well-defined serialization, Bitcoin Core has a REST interface
 18 2017-07-31 05:09:59	0|sipa|you can fetch full blocks and transactions directly in binary network format over it
 19 2017-07-31 05:10:13	0|bryyan|without having to send a bunch of ascii json around?
 20 2017-07-31 05:10:16	0|sipa|to avoid the JSON encoding/decoding overhead
 21 2017-07-31 05:10:16	0|sipa|yes
 22 2017-07-31 05:10:39	0|sipa|but you still need a serialization/deserialization layer... it's not just a struct that gets sent over the network
 23 2017-07-31 05:10:52	0|bryyan|yes, but I'm looking for just that
 24 2017-07-31 05:11:24	0|bryyan|I assume I have 2 machines of identical architecture and the fastest means of transfering data is in native format
 25 2017-07-31 05:11:34	0|sipa|https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md
 26 2017-07-31 05:11:43	0|sipa|there is no 'native' format
 27 2017-07-31 05:11:59	0|bryyan|a C int type is native by my definition
 28 2017-07-31 05:12:13	0|bryyan|will look identical on 2 AMD64 machines
 29 2017-07-31 05:12:17	0|sipa|what's the native representation for a transaction?
 30 2017-07-31 05:12:35	0|sipa|it has a number of nested data structure of variable size
 31 2017-07-31 05:12:40	0|gmaxwell|none of the interesting data in bitcoin is just an int or a simple arrays of them.
 32 2017-07-31 05:13:02	0|gmaxwell|and as I said above, we do have a binary seralization of data: the p2p format.
 33 2017-07-31 05:13:05	0|bryyan|if you query for your balance, a float or double could work as a returned native type
 34 2017-07-31 05:13:08	0|gmaxwell|all ready for anyone to use.
 35 2017-07-31 05:13:19	0|gmaxwell|oh jesus bitcoin amounts aren't natively floating point.
 36 2017-07-31 05:13:30	0|gmaxwell|one should generally not use floating point when dealing with money.
 37 2017-07-31 05:13:57	0|sipa|bryyan: the cost of computing the balance is orders of magnitude larger than running a json deserializers
 38 2017-07-31 05:13:59	0|bryyan|you know, floating point has a certain number of digits of accuracy, just don't go too far
 39 2017-07-31 05:14:24	0|bryyan|I don't think we're talking about the same thing
 40 2017-07-31 05:14:33	0|sipa|fine
 41 2017-07-31 05:15:04	0|bryyan|in a native binary (such as bitcoind) certain instructions are applied to do math with integers and floating point types, the format of those values in memory are the native types
 42 2017-07-31 05:16:32	0|bryyan|pretty printed json is like 64 bytes to represent a 4-byte int
 43 2017-07-31 05:16:35	0|bryyan|very slow
 44 2017-07-31 05:17:50	0|bryyan|additional information is transfered over the network when keeping a header file with bitcoind and with the RPC client containing C macros which resolve to short 2-byte sequences for calls, and structs for reciving will take up far less thoroughput
 45 2017-07-31 05:18:08	0|bryyan|and after the word network there should be a comma I meant to put
 46 2017-07-31 05:18:53	0|bryyan|if you've written programs in C you would know what I'm talking about
 47 2017-07-31 05:25:37	0|praxeology|bryyan: how about create software and find the RPC api as a bottleneck before you look to optimize it
 48 2017-07-31 05:26:22	0|bryyan|for one thing, C doesn't handle JSON very well
 49 2017-07-31 05:26:31	0|bryyan|although thats more of a side problem
 50 2017-07-31 05:28:41	0|phantomcircuit|bryyan, the question you want to be asking yourself right now is
 51 2017-07-31 05:28:43	0|phantomcircuit|BUT WHY
 52 2017-07-31 05:30:02	0|bryyan|largely because I plan to make an operating system, and JSON puts in wayyy to much computational overhead compared to even a native-type conversion service
 53 2017-07-31 05:30:44	0|bryyan|you can convert endianness, format, and signing polarity far quicker then serialising and de-serialising some json
 54 2017-07-31 05:31:50	0|gmaxwell|Go away earlygrey.
 55 2017-07-31 05:35:12	0|bryyan|you could probably process 10s of requests in native format by the time a single JSON request completes
 56 2017-07-31 05:35:28	0|bryyan|maybe even 100s with a well-optimized binary
 57 2017-07-31 06:26:01	0|luke-jr|bryyan: jansson handles JSON good enough
 58 2017-07-31 06:52:59	0|praxeology|luke-jr: did you see he is making an operating system?
 59 2017-07-31 06:53:01	0|bitcoin-git|[13bitcoin] 15sipa opened pull request #10958: Update to latest Bitcoin patches for LevelDB (06master...0620170731_leveldb) 02https://github.com/bitcoin/bitcoin/pull/10958
 60 2017-07-31 07:33:29	0|MarcoFalke|jnewbery: The issue is that the last commit of #10853 conflicts with other pulls tagged for 0.15
 61 2017-07-31 07:33:30	0|gribble|https://github.com/bitcoin/bitcoin/issues/10853 | [tests] Fix RPC failure testing (again) by jnewbery · Pull Request #10853 · bitcoin/bitcoin · GitHub
 62 2017-07-31 07:33:45	0|MarcoFalke|At this point I'd prefer if we didn't force a rebase on tagged pulls
 63 2017-07-31 07:40:17	0|jnewbery|MarcoFalke: I'm happy for 10853 to wait until after rc1
 64 2017-07-31 07:40:28	0|jnewbery|Unless you want it before, in which case I'll split it
 65 2017-07-31 07:43:51	0|MarcoFalke|Fine, let's defer it for now.
 66 2017-07-31 07:44:04	0|Oscillate|Hi,
 67 2017-07-31 07:45:45	0|Oscillate|New to bitcoin here, can somebody tell me if the split is neccecary fot bitcoin hardfork ??
 68 2017-07-31 07:45:56	0|sipa|Oscillate: #bitcoin
 69 2017-07-31 07:46:00	0|Oscillate|for*
 70 2017-07-31 07:46:07	0|Oscillate|thank you sipa
 71 2017-07-31 07:57:27	0|luke-jr|wumpus: can I get access to bitcoin-devwiki? seems github is picky about pushing changes via git/ssh :/
 72 2017-07-31 08:12:42	0|luke-jr|copypa;ted for no,
 73 2017-07-31 08:45:42	0|jnewbery|Hmmm, https://botbot.me/freenode/bitcoin-core-dev/ seems to have a gap between https://botbot.me/freenode/bitcoin-core-dev/2017-07-28/?msg=89162968&page=1 and https://botbot.me/freenode/bitcoin-core-dev/2017-07-31/?msg=89185019&page=1 . Are there any other public archives?
 74 2017-07-31 08:46:37	0|jnewbery|(I have my own logs, but it's useful to be able to send a URL)
 75 2017-07-31 08:47:14	0|bitcoin-git|13bitcoin/06master 149a8b054 15Gregory Maxwell: Update defaultAssumeValid according to release-process.md....
 76 2017-07-31 08:47:14	0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/70888a39c43a...2a50b11586a2
 77 2017-07-31 08:47:15	0|bitcoin-git|13bitcoin/06master 142a50b11 15Wladimir J. van der Laan: Merge #10945: Update defaultAssumeValid according to release-process.md....
 78 2017-07-31 08:47:54	0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #10945: Update defaultAssumeValid according to release-process.md. (06master...06201707-update-assumevalid) 02https://github.com/bitcoin/bitcoin/pull/10945
 79 2017-07-31 09:35:35	0|bitcoin-git|13bitcoin/06master 14f0acedd 15Wladimir J. van der Laan: p2p: Hardcoded seeds update pre-0.15 branch
 80 2017-07-31 09:35:35	0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/2a50b11586a2...df3a6f4ee4e2
 81 2017-07-31 09:35:36	0|bitcoin-git|13bitcoin/06master 14df3a6f4 15Wladimir J. van der Laan: Merge #10948: p2p: Hardcoded seeds update pre-0.15 branch...
 82 2017-07-31 09:36:15	0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #10948: p2p: Hardcoded seeds update pre-0.15 branch (06master...062017_07_seeds_update) 02https://github.com/bitcoin/bitcoin/pull/10948
 83 2017-07-31 10:03:57	0|bitcoin-git|13bitcoin/06master 14bdd5543 15Alex Morcos: Clarify help message for -discardfee
 84 2017-07-31 10:03:57	0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/df3a6f4ee4e2...af563971fcbe
 85 2017-07-31 10:03:58	0|bitcoin-git|13bitcoin/06master 14af56397 15Wladimir J. van der Laan: Merge #10949: Clarify help message for -discardfee...
 86 2017-07-31 10:04:30	0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #10949: Clarify help message for -discardfee (06master...06betterhelp) 02https://github.com/bitcoin/bitcoin/pull/10949
 87 2017-07-31 10:25:26	0|bitcoin-git|13bitcoin/06master 1442307c4 15Wladimir J. van der Laan: qt: Periodic translations update...
 88 2017-07-31 10:25:26	0|bitcoin-git|[13bitcoin] 15laanwj pushed 1 new commit to 06master: 02https://github.com/bitcoin/bitcoin/commit/42307c4bf363d695c68a65ba7cbf8d6790079abf
 89 2017-07-31 10:32:20	0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10961: Improve readability of DecodeBase58Check(...) (06master...06DecodeBase58Check-cleanup) 02https://github.com/bitcoin/bitcoin/pull/10961
 90 2017-07-31 15:05:28	0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10963: [bench] Restore format state of cout after printing with std::fixed/setprecision (06master...06restore-format-state-of-cout) 02https://github.com/bitcoin/bitcoin/pull/10963
 91 2017-07-31 15:25:00	0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10964: Pass SendCoinsRecipient (208 bytes) and CConnman::Options (168 bytes) by reference (06master...06pass-big-parameters-by-reference) 02https://github.com/bitcoin/bitcoin/pull/10964
 92 2017-07-31 16:05:16	0|BlueMatt|#8330 could get a merge, tbh, its a free few-10s-of-k memory win
 93 2017-07-31 16:05:18	0|gribble|https://github.com/bitcoin/bitcoin/issues/8330 | Structure Packing Optimizations in C{,Mutable}Transaction by JeremyRubin · Pull Request #8330 · bitcoin/bitcoin · GitHub
 94 2017-07-31 17:51:25	0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10965: Use the noexcept specifier (C++11) instead of deprecated throw() (06master...06noexcept) 02https://github.com/bitcoin/bitcoin/pull/10965
 95 2017-07-31 18:50:38	0|achow101|whoever runs the doxygen site at dev.visucore.com needs to update their ssl cert. it expired this morning and I can't access it
 96 2017-07-31 18:51:55	0|MarcoFalke|wumpus: ^
 97 2017-07-31 18:53:28	0|MarcoFalke|It is issued by let's encrypt... I thought the point of that CA was that such updates are automatically done
 98 2017-07-31 19:19:45	0|sipa|MarcoFalke: they have automated the procedure for renewal to almost nothing, but there is stipl some script you need to run (potentially in a cronjob)
 99 2017-07-31 19:19:53	0|sipa|wumpus: ^
100 2017-07-31 21:40:09	0|bitcoin-git|[13bitcoin] 15promag opened pull request #10966: Add walletnotify functional test (06master...062017-07-walletnotify-functional-test) 02https://github.com/bitcoin/bitcoin/pull/10966