[Testnet] Insufficient data or no feerate found #31032

issue pilab-gwon openend this issue on October 4, 2024
  1. pilab-gwon commented at 6:30 am on October 4, 2024: none

    Is there an existing issue for this?

    • I have searched the existing issues

    Current behaviour

    I encountered an error when attempting to use the estimatesmartfee method. But node only return Insufficient data or no feerate found

    Below is the request I sent:

    0curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "estimatesmartfee", "params": [1] }' -H 'content-type: text/plain;' http://localhost:80
    

    Expected behaviour

    Expected output:

    0{"result":{"feerate":0.00062,"blocks":1},"error":null,"id":"curltest"}
    

    Steps to reproduce

    Start.sh

    0sudo bitcoind -daemon -testnet=1 -server=1 -rest=1 -txindex=1 -listen=1 -port=8333 -rpcport=80 -rpcallowip=0.0.0.0/0 -rpcbind=0.0.0.0
    

    .bitcoin/testnet3 directory

     0-rw------- 1 root root      221 Jul 26 08:24 banlist.json
     1-rw------- 1 root root        7 Oct  4 05:16 bitcoind.pid
     2drwx------ 3 root root    36864 Oct  4 01:28 blocks
     3drwx------ 2 root root   262144 Oct  4 06:29 chainstate
     4-rw------- 1 root root 10033247 Oct  4 06:27 debug.log
     5-rw------- 1 root root   247985 Oct  4 06:16 fee_estimates.dat
     6drwx------ 3 root root     4096 Jul 26 08:24 indexes
     7-rw------- 1 root root   922636 Oct  4 05:16 mempool.dat
     8-rw------- 1 root root  1962267 Oct  4 06:16 peers.dat
     9-rw------- 1 root root      193 Oct  4 05:16 settings.json
    10drwx------ 2 root root     4096 Jul 26 08:24 wallets
    

    Relevant log output

    No response

    How did you obtain Bitcoin Core

    Compiled from source

    What version of Bitcoin Core are you using?

    v27.1.0

    Operating system and version

    Ubuntu 24.04 LTS

    Machine specifications

    No response

  2. sipa commented at 12:29 pm on October 4, 2024: member
    Fee estimation needs data, which consists of seeing transactions arrive, and seeing them be mined. Testnet just doesn’t have much data.
  3. azazar commented at 6:39 am on October 5, 2024: none
    The Testnet is becoming more frustrating. Testnet coins are nearly impossible to get without an ASIC, and now sending them has become a hassle too.
  4. melvincarvalho commented at 11:30 am on October 6, 2024: none

    @azazar There are currently 3 working faucets (which imho is much better than testnet3):

    https://github.com/testnet4/awesome-testnet4?tab=readme-ov-file#faucets

    I know vkbit is looking into creating a faucet, and I’ve got one in progress as well. If you’re working on testnet4 projects, feel free to reach out to me directly (Nostr/Twitter), and I can share some of what I’ve got.

    From what I can tell, blocks are being CPU mined roughly every 20 minutes, though timestamps are spoofed by +2hrs. Fees should stay around 1sat/vbyte since blocks aren’t filling up.

  5. garlonicon commented at 3:45 pm on October 6, 2024: none

    Testnet coins are nearly impossible to get without an ASIC

    Meanwhile, some coins are sitting for hundreds of confirmations in addresses, spendable by anyone: https://mempool.space/testnet4/address/tb1pfees9rn5nz

    Also, the whole problem is not because of ASICs, but because of CPUs. Every time, when some ASIC block is there, then the current time is put into the block, which is why after one ASIC block, you can immediately see a bunch of CPU blocks following it. So, mining on top of ASIC blocks is easy. Mining on top of CPU blocks is hard, because then you have to use future timestamps.

    And I wouldn’t say “nearly impossible”. I can mine a block or two per day on my CPU, which is quite realistic, if you compare it to the mainnet, where if you have 1% of the hashrate, then your pool is quite huge. And before other CPU miners joined, I could easily get 10%, if not more (actually, I can get a lot of blocks, up to 10 hours in the future, but they are all stale, when a new ASIC block kicks in).

    Also, the consensus rules in testnet4 are designed to get a network, where 99% of blocks are CPU-mined. If we would want a different outcome, then we would use addresses, which explicitly require some Proof of Work, for example if you grind 16 bits, then you can get those coins: https://mempool.space/testnet4/address/tb1qk3endeq6x0xj4pjt4zwag8wf3a629rzqr8jxd7jnmlac902wa5ysqxm9wt

    sending them has become a hassle too

    Well, I always disable the default fee estimation. I just accepted the fact, that it may be broken on many levels, and just live with that. For example: if you want to sign an offline transaction, then you will obviously not have that data.

  6. pilab-gwon commented at 3:55 am on October 7, 2024: none

    Fee estimation needs data, which consists of seeing transactions arrive, and seeing them be mined. Testnet just doesn’t have much data.

    I’d like to think that this is a problem caused by not having enough data, but that doesn’t seem to be the case in my case.

    I have two Bitcoin testnet nodes running (let’s call them A and B).

    Sometimes node A throws the error Insufficient data or no feerate found, while node B returns feerate without any problem.

    Other times, both nodes A and B get the same error.

  7. maflcko added the label TX fees and policy on Oct 7, 2024
  8. maflcko commented at 6:13 am on October 7, 2024: member

    Sometimes node A throws the error Insufficient data or no feerate found, while node B returns feerate without any problem.

    This is expected, because the two nodes may not have seen the same transactions at the same times.

  9. ismaelsadeeq commented at 1:07 pm on October 7, 2024: member

    I’d like to think that this is a problem caused by not having enough data, but that doesn’t seem to be the case for me.

    I have two Bitcoin testnet nodes running (let’s call them A and B).

    Sometimes node A throws the error “Insufficient data or no feerate found,” while node B returns a feerate without any issue.

    Other times, both nodes A and B encounter the same error.

    This behavior is inherent to the fee estimator, which collects data and decays it over time. As a result, you might have enough data to provide an estimate initially, but if no new data is added, the existing data will decay, eventually making it impossible to generate an estimate.

    Another reason you might not be able to make an estimate is that if a node is restarted after 60 hours, all fee estimation data will be discarded.

    I see that the debug option is off for this node. If you had enabled the debug option, you would be able to see detailed information about the statistics checked and why there isn’t enough data to provide a reliable fee rate estimate.

    Is the debug option enabled on the other node?


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-21 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me