try doing this from c++ again.
Revert "try doing this from c++ again."

This reverts commit 21037a2a74e80ebefd1638344bf86e9dd7360649.
make use of getBlockByTx caching.
always return array on stopping.