💬 carnhofdaki commented on pull request "Feature: Use different datadirs for different signets":
(https://github.com/bitcoin/bitcoin/pull/29838#issuecomment-2132979950)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/29838#issuecomment-2132979950)
Concept ACK
💬 carnhofdaki commented on pull request "Extend signetchallenge to set target block spacing":
(https://github.com/bitcoin/bitcoin/pull/29365#issuecomment-2132996407)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/29365#issuecomment-2132996407)
Concept ACK
💬 laanwj commented on pull request "net: Replace libnatpmp with built-in PCP+NATPMP implementation":
(https://github.com/bitcoin/bitcoin/pull/30043#issuecomment-2133003388)
> Just tried on 14.0 with its default clang 16 and I get the same error. So we should either find a workaround or disable FreeBSD for this feature and a TODO comment. I don't know how popular this is as a desktop distro?
i would feel bad disabling FreeBSD support after @vasild contributed the code for that, but if this gets close to merge and FreeBSD is still broken i'll remove it.
i expect `#define typeof __typeof__` would go a long way to work around this error.
(https://github.com/bitcoin/bitcoin/pull/30043#issuecomment-2133003388)
> Just tried on 14.0 with its default clang 16 and I get the same error. So we should either find a workaround or disable FreeBSD for this feature and a TODO comment. I don't know how popular this is as a desktop distro?
i would feel bad disabling FreeBSD support after @vasild contributed the code for that, but if this gets close to merge and FreeBSD is still broken i'll remove it.
i expect `#define typeof __typeof__` would go a long way to work around this error.
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615708591)
Non blocking nit: This seems to be testing for a specific piece and if you don't anticipate it to be updated later, WDYT about either adding this test in an existing functional test, or adding this in the unit tests of the functional test framework?
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615708591)
Non blocking nit: This seems to be testing for a specific piece and if you don't anticipate it to be updated later, WDYT about either adding this test in an existing functional test, or adding this in the unit tests of the functional test framework?
🤔 rkrux reviewed a pull request: "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)"
(https://github.com/bitcoin/bitcoin/pull/30162#pullrequestreview-2080359105)
Concept ACK [93527b8](https://github.com/bitcoin/bitcoin/pull/30162/commits/93527b82e70c8e19d7317ce5287b0ee2a0020f1b)
Make is successful, so are all functional tests.
I am in support of the changes in this PR because it fixes the tx fee calculation and improves the caller code in various places. Asked few questions and provided suggestion, would like to take another look later and provide ACK.
(https://github.com/bitcoin/bitcoin/pull/30162#pullrequestreview-2080359105)
Concept ACK [93527b8](https://github.com/bitcoin/bitcoin/pull/30162/commits/93527b82e70c8e19d7317ce5287b0ee2a0020f1b)
Make is successful, so are all functional tests.
I am in support of the changes in this PR because it fixes the tx fee calculation and improves the caller code in various places. Asked few questions and provided suggestion, would like to take another look later and provide ACK.
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615703491)
In the previous implementation, it seemed a little unusual that `b'a'` was added first, and then more padding was added later. The newer approach seems cleaner where padding is added only once.
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615703491)
In the previous implementation, it seemed a little unusual that `b'a'` was added first, and then more padding was added later. The newer approach seems cleaner where padding is added only once.
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615705400)
Though it's older implementation, for my understanding, why is the actual weight more than the `target_weight`. Doesn't `target_weight` become a misnomer with this?
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615705400)
Though it's older implementation, for my understanding, why is the actual weight more than the `target_weight`. Doesn't `target_weight` become a misnomer with this?
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615712714)
Nice to see the removal of many of these repetitive fee calculation code!
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615712714)
Nice to see the removal of many of these repetitive fee calculation code!
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615734654)
The previous implementation is 10^-5, and the newer one is 10^-6.
IMO, it's worth creating it a constant with an expressive name to make reading this piece easier.
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615734654)
The previous implementation is 10^-5, and the newer one is 10^-6.
IMO, it's worth creating it a constant with an expressive name to make reading this piece easier.
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615711645)
As per the code in `_bulk_tx`, the actual weight is indeed off by 3 WUs, consider getting rid of `might be` here, it adds a bit of uncertainty imo.
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615711645)
As per the code in `_bulk_tx`, the actual weight is indeed off by 3 WUs, consider getting rid of `might be` here, it adds a bit of uncertainty imo.
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615710140)
Should there also be an assertion disallowing passing both `target_weight` and `fee`?
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615710140)
Should there also be an assertion disallowing passing both `target_weight` and `fee`?
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615736403)
Preference style: Although this is not a fresh test, but IMHO it makes it far easier for the reviewer to read when the variable name contains the unit as well such as `child_feerate_satvb` or `child_fee_sat`.
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615736403)
Preference style: Although this is not a fresh test, but IMHO it makes it far easier for the reviewer to read when the variable name contains the unit as well such as `child_feerate_satvb` or `child_fee_sat`.
💬 rkrux commented on pull request "test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)":
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615739344)
Nice catch here that fixes the calculation!
(https://github.com/bitcoin/bitcoin/pull/30162#discussion_r1615739344)
Nice catch here that fixes the calculation!
⚠️ carnhofdaki opened an issue: "bitcoin-cli hanging on RPC in an empty datadir"
(https://github.com/bitcoin/bitcoin/issues/30181)
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current behaviour
`bitcoin-cli` is hanging indefinitely when called with `stop` in an empty datadir.
### Expected behaviour
I would prefer it to exit with error like it does when the `datadir` directory is non-existent.
```sh
$ rmdir empty
$ bitcoin-cli -datadir=empty stop
Error: Specified data directory "empty" does not exist.
```
### Steps to reproduce
Simple shell example:
```sh
$ mkdir em
...
(https://github.com/bitcoin/bitcoin/issues/30181)
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current behaviour
`bitcoin-cli` is hanging indefinitely when called with `stop` in an empty datadir.
### Expected behaviour
I would prefer it to exit with error like it does when the `datadir` directory is non-existent.
```sh
$ rmdir empty
$ bitcoin-cli -datadir=empty stop
Error: Specified data directory "empty" does not exist.
```
### Steps to reproduce
Simple shell example:
```sh
$ mkdir em
...
✅ carnhofdaki closed an issue: "bitcoin-cli hanging on RPC in an empty datadir"
(https://github.com/bitcoin/bitcoin/issues/30181)
(https://github.com/bitcoin/bitcoin/issues/30181)
💬 carnhofdaki commented on issue "bitcoin-cli hanging on RPC in an empty datadir":
(https://github.com/bitcoin/bitcoin/issues/30181#issuecomment-2133051810)
Closing. Seems it was my own local issue.
Can not be reproduced with v27.0 release.
(https://github.com/bitcoin/bitcoin/issues/30181#issuecomment-2133051810)
Closing. Seems it was my own local issue.
Can not be reproduced with v27.0 release.
🤔 Sjors reviewed a pull request: "net: Replace libnatpmp with built-in PCP+NATPMP implementation"
(https://github.com/bitcoin/bitcoin/pull/30043#pullrequestreview-2080398804)
Finished the rest of my code review and tested 97ae5d4eefe4 again on Intel macOS 14.5, Ubuntu 24.04 and Windows.
I noticed that the renewal for IPv6 fails (at least on Ubuntu and macOS) with `NO_RESOURCES`. IPv4 renewal works fine. Ten minutes later it tries again and the mapping succeeds.
IIUC OPNsense uses miniupnpd 2.3.1, which is two years behind but [at first glance](https://github.com/miniupnp/miniupnp/compare/miniupnpd_2_3_1...miniupnpd_2_3_6) I don't see any recent fixes related t
...
(https://github.com/bitcoin/bitcoin/pull/30043#pullrequestreview-2080398804)
Finished the rest of my code review and tested 97ae5d4eefe4 again on Intel macOS 14.5, Ubuntu 24.04 and Windows.
I noticed that the renewal for IPv6 fails (at least on Ubuntu and macOS) with `NO_RESOURCES`. IPv4 renewal works fine. Ten minutes later it tries again and the mapping succeeds.
IIUC OPNsense uses miniupnpd 2.3.1, which is two years behind but [at first glance](https://github.com/miniupnp/miniupnp/compare/miniupnpd_2_3_1...miniupnpd_2_3_6) I don't see any recent fixes related t
...
💬 Sjors commented on pull request "net: Replace libnatpmp with built-in PCP+NATPMP implementation":
(https://github.com/bitcoin/bitcoin/pull/30043#discussion_r1615728471)
bfde83050ece1f617efdb4098b5efeeb1a08b65e nit: `UPnP, PCP or NAT-PMP`
(https://github.com/bitcoin/bitcoin/pull/30043#discussion_r1615728471)
bfde83050ece1f617efdb4098b5efeeb1a08b65e nit: `UPnP, PCP or NAT-PMP`
💬 laanwj commented on pull request "net: Replace libnatpmp with built-in PCP+NATPMP implementation":
(https://github.com/bitcoin/bitcoin/pull/30043#discussion_r1615868425)
Sure, ok, really i'm just considering NAT-PMP to be PCPv0.
(https://github.com/bitcoin/bitcoin/pull/30043#discussion_r1615868425)
Sure, ok, really i'm just considering NAT-PMP to be PCPv0.
💬 laanwj commented on pull request "net: Replace libnatpmp with built-in PCP+NATPMP implementation":
(https://github.com/bitcoin/bitcoin/pull/30043#issuecomment-2133203743)
> I noticed that the renewal for IPv6 fails (at least on Ubuntu and macOS) with NO_RESOURCES. IPv4 renewal works fine. Ten minutes later it tries again and the mapping succeeds.
Is this after re-launching bitcoind? Mind that restarting will roll a new mapping nonce, which means that from the point of your router it's a new application trying to get the port, which will prevent it from making the mapping until the old mapping expires. But that should go away after one cycle and not happen agai
...
(https://github.com/bitcoin/bitcoin/pull/30043#issuecomment-2133203743)
> I noticed that the renewal for IPv6 fails (at least on Ubuntu and macOS) with NO_RESOURCES. IPv4 renewal works fine. Ten minutes later it tries again and the mapping succeeds.
Is this after re-launching bitcoind? Mind that restarting will roll a new mapping nonce, which means that from the point of your router it's a new application trying to get the port, which will prevent it from making the mapping until the old mapping expires. But that should go away after one cycle and not happen agai
...
💬 Sjors commented on pull request "net: Replace libnatpmp with built-in PCP+NATPMP implementation":
(https://github.com/bitcoin/bitcoin/pull/30043#issuecomment-2133212294)
> Is this after re-launching bitcoind?
No, I hadn't run the node in a while. At startup it opens the port, only renewal fails. Leaving the node running, this seems to happen half the time, as you would expect: port is opened, renewal fails, mapping expires, so opening succeeds again, renewal fails, etc.
> Were you building with libnatpmp before?
No, I had that disabled in the past. I'll see if I can trigger it again with more detailed logs. But you're right, it might be an existing is
...
(https://github.com/bitcoin/bitcoin/pull/30043#issuecomment-2133212294)
> Is this after re-launching bitcoind?
No, I hadn't run the node in a while. At startup it opens the port, only renewal fails. Leaving the node running, this seems to happen half the time, as you would expect: port is opened, renewal fails, mapping expires, so opening succeeds again, renewal fails, etc.
> Were you building with libnatpmp before?
No, I had that disabled in the past. I'll see if I can trigger it again with more detailed logs. But you're right, it might be an existing is
...