This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| I've collected some points to be addressed at the nov.27. LES collaboration kickoff meeting: | |
| - approximately how much time can you contribute to LES-related tasks in the foreseeable future? | |
| - preferred communication channels and methods? | |
| - gitter channel | |
| - github issue tracking | |
| - two standup calls per week | |
| - regularly scheduled discussion calls for individual tasks | |
| - choose a suitable service for voice calls and screen sharing | |
| - questions about individual tasks, who is interested in which one (not necessarily committing to them during the first chat, just discussing) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Here are some pointers to implementing the ULC mode. Just take a look at the relevant code, then feel free to ping me whenever you have questions (I guess it will happen a few times, I tried to document the most important parts but some of the code is still a bit messy, which I apologize for in advance). | |
| - adding the ultra light client option: | |
| Add an extra option for light client mode where the user can specify a text/json ULC config file that contains a list of trusted server enodes and N out of M parameters (which may depend on how many servers we are connected to, there may be 5 servers listed but we can still accept 2 out of 3 connected). | |
| Geth parameters are implemented like this: | |
| https://github.com/ethereum/go-ethereum/blob/master/cmd/utils/flags.go#L162 | |
| Search for LightModeFlag or LightServFlag to find out how it is wired through the code. | |
| - requesting signed headers |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 0xa0b325beb7cd53c031bf0ec17532ce1ffa363366 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Running benchmark without bloombits | |
| Clearing bloombits data... | |
| Cleared bloombits data | |
| Running filter benchmarks... | |
| Finished running filter benchmarks | |
| 1m2.479473502s total 17.342566172s per million blocks | |
| BenchmarkNoBloomBits-4 1 67490450777 ns/op | |
| Running bloombits benchmark section size: 512 compression method: 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Benchmarking 100000 consecutive header reads from an existing "new style" database (found at DefaultDataDir/_new): | |
| (note that the database being cached into memory either by leveldb or by the OS affects this test dramatically; this test has been carried out after a fresh system restart) | |
| fefe@Fefe-ThinkPad-SL500:~/go-ethereum$ godep go test -v ./core -bench BenchmarkReadChain_new_header_100k -run XXX -cpuprofile new.prof | |
| PASS | |
| BenchmarkReadChain_new_header_100k-2 1 6754975060 ns/op | |
| ok _/home/fefe/go-ethereum/core 7.218s | |
| CPU profile top 100 nodes (both flat and cumulative are listed): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Benchmarking 100000 consecutive header reads from an existing "old style" database (found at DefaultDataDir/_old): | |
| (note that the database being cached into memory either by leveldb or by the OS affects this test dramatically; this test has been carried out after a fresh system restart) | |
| fefe@Fefe-ThinkPad-SL500:~/go-ethereum$ godep go test -v ./core -bench BenchmarkReadChain_old_header_100k -run XXX -cpuprofile old.prof | |
| PASS | |
| BenchmarkReadChain_old_header_100k-2 1 539808334396 ns/op | |
| ok _/home/fefe/go-ethereum/core 540.260s | |
| CPU profile top 100 nodes (both flat and cumulative are listed): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| BenchmarkInsertChain_empty_memdb 5000 371519 ns/op 43341 B/op 603 allocs/op | |
| BenchmarkInsertChain_empty_diskdb 3000 732071 ns/op 56835 B/op 683 allocs/op | |
| BenchmarkInsertChain_valueTx_memdb 2000 669609 ns/op 82256 B/op 1284 allocs/op | |
| BenchmarkInsertChain_valueTx_diskdb 2000 1137578 ns/op 98221 B/op 1361 allocs/op | |
| BenchmarkInsertChain_valueTx_100kB_memdb 500 2586936 ns/op 933950 B/op 1280 allocs/op | |
| BenchmarkInsertChain_valueTx_100kB_diskdb 100 11507311 ns/op 1854512 B/op 1385 allocs/op | |
| BenchmarkInsertChain_uncles_memdb 2000 802834 ns/op 81055 B/op 1154 allocs/op | |
| BenchmarkInsertChain_uncles_diskdb 2000 1443088 ns/op 95069 B/op 1231 allocs/op | |
| BenchmarkInsertChain_ring200_memdb 5 286776384 ns/op 29705977 B/op 407193 allocs/op | |
| BenchmarkInsertChain_ring200_diskdb 10 250175954 ns/op 30438291 B/op 412880 allocs/op |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| How to benchmark my proposed changes for block data db storage: | |
| - export your chain data (preferably to a physical drive different from the one you put the chain db on) | |
| - download my branch: | |
| https://github.com/zsfelfoldi/go-ethereum/tree/chaindb | |
| - set useNewDb in core/database_util.go to false | |
| - compile | |
| - import chain data (specify a new datadir) | |
| - run "geth headerbenchmark" with the same datadir | |
| - set useNewDb in core/database_util.go to true and repeat the last three steps |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| imported 965000 blocks in 4h18m58s | |
| fetched 10000 headers in 1.8s | |
| fetched 965000 headers in 57s | |
| fefe@Fefe-ThinkPad-SL500:~/go-ethereum$ ./geth --datadir "~/.333" import "/media/fefe/My Book/blockchain" | |
| I0405 16:04:40.803209 ethdb/database.go:82] Alloted 128MB cache and 1024 file handles to /home/fefe/.333/chaindata | |
| I0405 16:04:41.456626 core/headerchain.go:93] WARNING: Wrote default ethereum genesis block | |
| I0405 16:04:41.456945 core/blockchain.go:206] Last header: #0 [d4e56740…] TD=17179869184 | |
| I0405 16:04:41.456993 core/blockchain.go:207] Last block: #0 [d4e56740…] TD=17179869184 | |
| I0405 16:04:41.457017 core/blockchain.go:208] Fast block: #0 [d4e56740…] TD=17179869184 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| imported 965000 blocks in 7h7m22s | |
| fetched 10000 headers in 2m14s | |
| fetched 965000 headers in 4m31s | |
| fefe@Fefe-ThinkPad-SL500:~/go-ethereum$ ./geth --datadir "~/.222" import "/media/fefe/My Book/blockchain" | |
| I0405 04:05:20.301262 ethdb/database.go:88] Alloted 128MB cache and 1024 file handles to /home/fefe/.222/chaindata | |
| I0405 04:05:20.934751 core/headerchain.go:93] WARNING: Wrote default ethereum genesis block | |
| I0405 04:05:20.935057 core/blockchain.go:206] Last header: #0 [d4e56740…] TD=17179869184 | |
| I0405 04:05:20.935105 core/blockchain.go:207] Last block: #0 [d4e56740…] TD=17179869184 | |
| I0405 04:05:20.935129 core/blockchain.go:208] Fast block: #0 [d4e56740…] TD=17179869184 |