When loading a transaction, the web interface returns a page almost immediately and then continues to load information about inputs as it gets the previous outputs they point to. However, when loading a block, it gathers all data about segwit inputs before returning the page, which can be thousands of inputs for some blocks. Depending on how many previous outputs it might need to check before returning, this process can take an unacceptably long time.
While the scantool is primarily intended for gathering data about transactions, and more specifically inputs and outputs, it still needs to be able to quickly get data about blocks.
The process of getting data about a block should be divided up into what can quickly be obtained from an ordinary bitcoin node. Detailed data can be obtained in subsequent requests to the server. This would more easily allow users to get specific pieces of data quickly without getting data they are not interested in.
When loading a transaction, the web interface returns a page almost immediately and then continues to load information about inputs as it gets the previous outputs they point to. However, when loading a block, it gathers all data about segwit inputs before returning the page, which can be thousands of inputs for some blocks. Depending on how many previous outputs it might need to check before returning, this process can take an unacceptably long time.
While the scantool is primarily intended for gathering data about transactions, and more specifically inputs and outputs, it still needs to be able to quickly get data about blocks.
The process of getting data about a block should be divided up into what can quickly be obtained from an ordinary bitcoin node. Detailed data can be obtained in subsequent requests to the server. This would more easily allow users to get specific pieces of data quickly without getting data they are not interested in.