00:09:24 Kk 01:33:36 .merge+ 9243 9244 01:33:37 Added 03:10:03 is there an example on how to create the binary request body for `/get_blocks.bin`? 03:26:57 You can look to wallet2 for reference: https://github.com/monero-project/monero/blob/2d855f8d67c7b9546a002c2d4d0be34764341785/src/wallet/wallet2.cpp#L3037-L3057 03:28:14 You don't need the lock if not multi-threading and `m_http_client` is just an instance of `net::http::client` 03:28:49 There's other types of pool retrieval like incremental: https://github.com/monero-project/monero/blob/2d855f8d67c7b9546a002c2d4d0be34764341785/src/wallet/wallet2.cpp#L3591-L3601 03:43:07 is there a way to do this outside c++? 03:44:17 is there a bash way to do this? we're using curl to send the `/getblocks.bin` request 05:06:18 Not easily 05:06:57 If you know the epee binary format and on-chain serialization format, you can hand-craft the messages yourself 05:08:05 There might be libraries in the monero ecosystem that do this IDK. Try asking in #monero-community-dev:monero.social 05:10:16 Why not just use the `get_block` JSONRPC method? 11:37:02 Hello everyone, I'd like to clarify one point. Is there a way to ensure that when sending a transfer, the remaining part of the input is not locked? Thanks. 13:07:45 No. 14:21:36 C++ has come under a bit of fire lately. Recently, even the White House has fired shots against C++! 14:22:18 Templates were intended as a replacement for the C preprocessor, and are now ... programmable. Template metaprogramming! No, not a joke. Seriously! 14:22:36 Tick to C guys 14:22:36 Stick to C 14:22:44 std::vector was intended as a replacement for C arrays, but operator[] does not do range checking. This makes it worse than C arrays because it looks safer but is not. 14:23:22 std::span was intended as a replacement for pointer arithmetic, and the Microsoft reference implementation that introduced it to the standard committee had mandatory range checking. The standard committee saw this and removed it. As a result, std::span is now worse than pointer arithmetic because it looks safer but is not. 14:24:11 Iterators were intended as a replacement for pointer arithmetic, but not only do they not have range checking, they don't realise when you throw away the container and then do memory corruption. This makes them worse than pointer arithmetic in C, because they look safer but are not. 14:25:30 Why am I telling you all this? Because the C++ community is slowly realising that they have wrapped the car around the tree. The rescue attempts are becoming downright humorous. Bjarne Stroustrup gave a downright grotesque talk on C++ Safety at Cppcon. In comparison, Biden seems fresh and up to the challenge. Stroustrup is still trying to minimise the problem and define it away. 14:25:48 #languagerant is that way -> 14:25:54 lol 14:26:37 but yeah, I agree, stick to C. still more readable and easier to debug than template-ridden code 14:27:29 sorry. 14:32:20 TLDR has Rust been mentioned? 14:53:22 Yes, rust has been mentioned 14:53:22 I personally have some issue with it. 14:53:23 It might be memory safe, but the risk of easy to do supply chain attack is way higher. Yet, not at the level of node-js and python but I assume it will go up with usage. 14:53:23 I think it might be still ok if you audit every crate and every time one get updated 14:53:24 If only that could mitigated it would be great because it's one of the rare language that actually perform really good (afaik it sit between C and C++) 14:56:36 audit every crate - sure, no sweat... 14:57:39 jberman (or others): do you know if the daemon RPC /get-info is still expensive? 15:00:19 Look expensive compared to most other calls 15:02:51 Only get_transactions and get_blocks are more expensive than get_info, look like 15:06:09 So `/get_height` is expected to be significantly less expensive? 15:06:22 yes, it's much faster 15:06:33 XMRig uses it for solo mining (when ZMQ is not enabled) 15:07:11 If I'm understanding correctly, the response `untrusted: false` means that the node is reporting fully synchronized? 15:08:24 untrusted means the data was retrieved from (proxied to) a separate daemon. 15:08:59 Or that the daemon ran in that mode after last startup. 15:12:28 I'm trying to implement the most sensible health checker method. Is there a more efficient zmq endpoint for this? Or is /get_height the best option 15:12:36 https://matrix.monero.social/_matrix/media/v1/download/monero.social/SzyrEiMMICxOGlsnoJqytFCv 15:12:39 get_info 15:12:42 https://matrix.monero.social/_matrix/media/v1/download/monero.social/euRmShuxOQUXXIdsvKbVBmZh 15:12:43 get_height 15:12:57 a **lot** faster yeh 15:13:05 Wow 15:15:40 ZMQ lets you know about all new blocks/transactions the moment they are received 15:16:21 and it's almost free for the node (except traffic) 15:21:56 RavFX: what dashboard are you using for that? 15:22:49 https://github.com/lalanza808/docker-monero-node 16:08:33 .merges 16:08:33 -xmr-pr- 9243 9244 16:08:41 selsta 16:14:16 luigi1111w: merge these two and tag in an hour or two? 16:15:02 ok 17:58:27 luigi1111w: you can tag 17:59:57 and ping me once done so that i can also bump the gui submodule 19:39:31 selsta done 19:41:30 ty 20:33:08 luigi1111w: can you restart this CI run? https://github.com/monero-project/monero/actions/runs/8254793978 20:33:16 seems network error 20:34:23 cancel it? 20:35:13 can you cancel and start again? 20:35:58 or not sure what options there are, usually it can be run again 20:43:08 looks like they have to have failed or be canceled 20:43:37 mac one restarted now 20:43:40 Cancel first, then you will have an option to restart 20:58:52 failed again.... network error or appears so, but this time somewhere else 21:09:12 hmm 21:09:57 can you cancel start it again pls if it fails again i'll get the binaries from somewhere else 21:11:28 done 21:14:57 looks good now it went to the build step 22:33:11 https://paste.debian.net/plain/1310513 v0.18.3.3