The wallet needs access to the chainstate for normal operation, and that needs access to the block index. So the wallet requires a chainstate in its constructor, and the object managing the chainstate is not available until after the block index has been loaded and the sanity checks completed. There are several places within the wallet which assume that the chainstate is available.
Additionally, there are many RPCs which need access to the chainstate and other node objects, and the general assumption with these RPCs is that those objects are available (they tend to be globals). So to avoid any issues with objects not being initialized yet, the RPC server will block all RPC calls until initialization is complete so that those objects are guaranteed to be initialized.
This probably could be changed to not block, however such a project would be likely be pretty big and require significant changes to the assumptions around global objects. As with all open source projects, the reason this has not been done is because no one has bothered to do it.
You can get bonuses upto $100 FREE BONUS when you:
π° Install these recommended apps:
π² SocialGood - 100% Crypto Back on Everyday Shopping
π² xPortal - The DeFi For The Next Billion
π² CryptoTab Browser - Lightweight, fast, and ready to mine!
π° Register on these recommended exchanges:
π‘ Binanceπ‘ Bitfinexπ‘ Bitmartπ‘ Bittrexπ‘ Bitget
π‘ CoinExπ‘ Crypto.comπ‘ Gate.ioπ‘ Huobiπ‘ Kucoin.
Comments