From 4ea4d2dc3473afd9d2eda6ef6b359accce1f0946 Mon Sep 17 00:00:00 2001 From: Zsolt Felfoldi Date: Fri, 18 Aug 2017 21:52:20 +0200 Subject: core, eth: add bloombit indexer, filter based on it --- les/api_backend.go | 18 ++++++++++++++++++ les/backend.go | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'les') diff --git a/les/api_backend.go b/les/api_backend.go index 1323e8864..c2ba27028 100644 --- a/les/api_backend.go +++ b/les/api_backend.go @@ -19,6 +19,7 @@ package les import ( "context" "math/big" + "time" "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/common" @@ -28,6 +29,7 @@ import ( "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/eth/downloader" + "github.com/ethereum/go-ethereum/eth/filters" "github.com/ethereum/go-ethereum/eth/gasprice" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/event" @@ -171,3 +173,19 @@ func (b *LesApiBackend) EventMux() *event.TypeMux { func (b *LesApiBackend) AccountManager() *accounts.Manager { return b.eth.accountManager } + +func (b *LesApiBackend) GetBloomBits(ctx context.Context, bitIdx uint64, sectionIdxList []uint64) ([][]byte, error) { + return nil, nil // implemented in a subsequent PR +} + +func (b *LesApiBackend) BloomBitsSections() uint64 { + return 0 +} + +func (b *LesApiBackend) BloomBitsConfig() filters.BloomConfig { + return filters.BloomConfig{ + SectionSize: 32768, + MaxRequestLen: 16, + MaxRequestWait: time.Microsecond * 100, + } +} diff --git a/les/backend.go b/les/backend.go index 4c33417c0..a3670b5ac 100644 --- a/les/backend.go +++ b/les/backend.go @@ -169,7 +169,7 @@ func (s *LightEthereum) APIs() []rpc.API { }, { Namespace: "eth", Version: "1.0", - Service: filters.NewPublicFilterAPI(s.ApiBackend, true), + Service: filters.NewPublicFilterAPI(s.ApiBackend, true, 0), Public: true, }, { Namespace: "net", -- cgit v1.2.3