aboutsummaryrefslogtreecommitdiffstats
path: root/miner
diff options
context:
space:
mode:
authorJeffrey Wilcke <geffobscura@gmail.com>2015-10-12 23:58:51 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2015-10-17 03:28:59 +0800
commit6dc14788a238f3e0ec786c6c04d476a3b957e645 (patch)
tree8f3f5f91506bc4c7532543043add1eaea3fd28e7 /miner
parent30f057aaf9891fb37f82d94c24b8aa35d388e07b (diff)
downloaddexon-6dc14788a238f3e0ec786c6c04d476a3b957e645.tar.gz
dexon-6dc14788a238f3e0ec786c6c04d476a3b957e645.tar.zst
dexon-6dc14788a238f3e0ec786c6c04d476a3b957e645.zip
core, eth/filters, miner, xeth: Optimised log filtering
Log filtering is now using a MIPmap like approach where addresses of logs are added to a mapped bloom bin. The current levels for the MIP are in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are therefor filtered in batches of 1.000.
Diffstat (limited to 'miner')
-rw-r--r--miner/worker.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/miner/worker.go b/miner/worker.go
index 43f6f9909..57f668d49 100644
--- a/miner/worker.go
+++ b/miner/worker.go
@@ -301,6 +301,8 @@ func (self *worker) wait() {
core.PutTransactions(self.chainDb, block, block.Transactions())
// store the receipts
core.PutReceipts(self.chainDb, work.receipts)
+ // Write map map bloom filters
+ core.WriteMipmapBloom(self.chainDb, block.NumberU64(), work.receipts)
}
// broadcast before waiting for validation