I have ubuntu server running Bitcoin core v0.16.

I'm sending RPC calls asynchronously using Guzzle (PHP library), but, e.g., if I'm importing 1000 address using importmulti command, any further requests are waits until that command finish.

Even though I have set rpcthreads=100 rpcworkqueue=50 and I've powerful server.


importmulti is a completely blocking RPC call, no amount of CPU power or RPC threads will prevent it from being blocking. You need to create applications which do not use this command if it is an option.

  • Do you think that if I imported each address separately using guzzle (to send it asynchronously) will rpcthreads=100, rpcworkqueue=50 have the effect?
    – Adam
    Apr 2 '18 at 8:08
  • No, the RPC blocks the entire bitcoind, it can't even respond to network connections during this time.
    – Claris
    Apr 2 '18 at 14:33
  • Shouldn't we disable wallet locking especially when we're importing watch-only addresses? github.com/bitcoin/bitcoin/issues/12858
    – Adam
    Apr 2 '18 at 14:35
  • No, as watch only keys still require a rescan.
    – Claris
    Apr 2 '18 at 17:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.