Commit Graph

211 Commits (deepcrayon)

Author SHA1 Message Date
Martin Boehm 171e15c9f7 Fix unit test build tags 2019-01-23 16:34:35 +01:00
rikardwissing ffa745d390 Validate getTxAddresses return 2019-01-11 21:31:49 +01:00
Martin Boehm c2a581ea72 Add bulk import of EthereumType chain 2019-01-11 12:37:04 +01:00
Martin Boehm 3ca593aff1 Handle error tx not found #94 2019-01-10 16:39:36 +01:00
Martin Boehm 8c4fcf4441 Stop indexing contracts of ETH zero address 2019-01-10 12:38:16 +01:00
Martin Boehm 341bf331c1 Add custom handling of unknown input txs during BitcoinType block import 2019-01-09 23:24:25 +01:00
Martin Boehm 07108b8c4f Store txs in column addresses in reverse order 2019-01-07 13:38:58 +01:00
Martin Boehm 97e0844a4b Update references to forked btcd, btcutil and bchutil libraries 2019-01-04 14:05:51 +01:00
Martin Boehm ab077d882c Update references to forked btcd, btcutil and bchutil libraries 2019-01-04 13:47:28 +01:00
Martin Boehm 44f07734ce Bump rocksdb to version 5.17.2 and use data format version 4 2019-01-03 18:05:06 +01:00
Martin Boehm 2552a429e8 Store data in addresses column in more compact way 2019-01-03 17:19:56 +01:00
Martin Boehm 4e040cb1f0 Store addresses in reverse order for newest blocks to be searched first 2018-12-20 17:33:13 +01:00
Martin Boehm e24115da83 Bump blockbook version to v0.2.0 and index version to 4 2018-12-20 16:16:51 +01:00
Martin Boehm bab500d3f8 Notify on mempool erc20 transfer transaction 2018-12-19 10:06:25 +01:00
Martin Boehm 9a04c862d6 Filter address transactions by input/output or token 2018-12-04 11:54:15 +01:00
Martin Boehm c96c357013 Add Ethereum Classic specific handling in GetTransaction 2018-11-30 11:39:28 +01:00
Martin Boehm 61177c3750 Fix cleanup of column blockTxs 2018-11-29 15:37:04 +01:00
Martin Boehm 1f32a39d16 Handle blocks with zero transactions 2018-11-26 13:55:29 +01:00
Martin Boehm 8886256d0b Implement index v3 for ethereum type coin 2018-11-23 22:16:32 +01:00
Martin Boehm eb524c2226 Implement index v3 for ethereum type coin - WIP 2018-11-23 14:08:10 +01:00
Martin Boehm 1ac7a7abca Fix api.GetTransaction for EthereumType blockchain 2018-11-15 16:18:29 +01:00
Martin Boehm 4448c57ba8 Introduce BitcoinType and EthereumType distinction of blockchains 2018-11-15 16:16:01 +01:00
Martin Boehm f1affaf92e FIx GetAddressUtxo 2018-11-14 23:02:42 +01:00
Martin Boehm 7d28b710e3 Add total to db.GetMemoryStats 2018-11-01 18:28:48 +01:00
Martin Boehm 017c6b3736 Add socket.io unit tests 2018-10-19 16:37:49 +02:00
Martin Boehm c852214407 Complete explorer/api unit tests 2018-10-19 16:37:49 +02:00
Martin Boehm d7ed48a657 Handle not found block in rocksdb.GetBlockInfo 2018-10-19 16:37:48 +02:00
Martin Boehm cc11ae1e57 Setup public http server test 2018-10-19 16:37:48 +02:00
Martin Boehm caab79ed94 Extract rocksdb_test data to dbtestdata package for reusibility 2018-10-19 16:37:48 +02:00
Jakub Matys b5a8cd2fc5 Error is correctly returned 2018-10-16 13:35:50 +02:00
Martin Boehm d369242b48 Bump rocksdb to version 5.15.10 and use data format version 3 2018-10-14 00:29:05 +02:00
Martin Boehm 84b457b34a Use TxAddresses index in TxCache 2018-10-08 14:55:21 +02:00
Jakub Matys 503ff9582a Merge branch 'tests' 2018-10-04 16:59:39 +02:00
Martin Boehm 8e057e9e7b Fix incorrect logging formatting directives 2018-10-04 09:19:41 +02:00
Jakub Matys e102c81577 Merge branch 'params-registration' into tests 2018-10-02 22:11:07 +02:00
Jakub Matys 8c7f383e9a Explicit registration of network parameters + cleanup in tests 2018-10-02 17:02:57 +02:00
Jakub Matys 5000c01f11 WIP: sync tests 2018-10-01 14:32:40 +02:00
Jakub Matys c5cb1e2e54 Merge branch 'integration-tests-upgrade' into tests 2018-10-01 13:43:38 +02:00
Martin Boehm 776bebdf23 Revert "Update balances in extra goroutine during import block"
This reverts commit 099321126f.
The parallel processing of balances did not bring any speedup
(actually it was a little bit slower)
2018-10-01 13:28:19 +02:00
Jakub Matys 642310eb95 Added tests for single-thread connectBlocks 2018-09-26 12:19:40 +02:00
Martin Boehm 099321126f Update balances in extra goroutine during import block 2018-09-26 12:17:57 +02:00
Martin Boehm 67e47adf04 Reset BlockbookAppInfo metrics to avoid duplicate values 2018-09-26 11:26:38 +02:00
Jakub Matys db39b5ef51 Interrupt connectBlocks on OS signal while initial sync 2018-09-25 13:40:52 +02:00
Martin Boehm 77d4e59f1b Compute stats of bulk connect block caches 2018-09-24 18:23:13 +02:00
Jakub Matys d2d5df88f2 Parallel sync improved in order to write all blocks and handle OS signal 2018-09-24 12:13:01 +02:00
Jakub Matys a69f79f955 Parallel sync improved in order to write all blocks and handle OS signal 2018-09-24 12:08:07 +02:00
Martin Boehm d6b9cd496b Start public interface in limited mode before initial sync #51 2018-09-20 12:15:46 +02:00
Martin Boehm 9a33c338dd Fix error handling in rocksdb.dirSize 2018-09-20 12:06:34 +02:00
Martin Boehm 184f2e9ca6 Add maxOpenFiles rocksdb flag 2018-09-18 11:49:39 +02:00
Martin Boehm bebddbcd11 Implement list of blocks 2018-09-14 12:10:03 +02:00
Martin Boehm 503ff4389a Merge branch 'master' into v0.0.7 2018-09-11 13:44:36 +02:00
Martin Boehm 8bdf4b0ae3 Prepare notification of block height in OnNewBlock 2018-09-11 13:37:12 +02:00
Martin Boehm fdf1fe612f Stringer interface for AddressDescriptor 2018-09-02 21:31:33 +02:00
Martin Boehm 676aabfaa6 Make AddressDescriptor as type,expose DB/mempool methods working with it 2018-08-30 22:43:37 +02:00
Martin Boehm be19523065 Refactor of address handling, renamed addrID to addr descriptor addrDesc 2018-08-29 15:31:19 +02:00
Martin Boehm b1e749dab9 Add logging of memory status 2018-08-26 21:29:10 +02:00
Martin Boehm ad5ddbd029 Write height column in bulk mode 2018-08-23 23:20:07 +02:00
Martin Boehm 328312e48a Add dbcache configuration flag, tune db options 2018-08-23 21:19:12 +02:00
Martin Boehm 2001312382 Extract bulk connect to own source file 2018-08-23 11:18:36 +02:00
Martin Boehm a34ac14883 Allow partitioned index filter in rocksdb 2018-08-23 11:15:59 +02:00
Martin Boehm 41252d33d2 Tune RocksDB options and measure memory usage 2018-08-22 16:20:52 +02:00
Martin Boehm 59497e3c97 Get address data for explorer using index v3 - WIP 2018-08-22 00:48:53 +02:00
Martin Boehm 188eed8881 Write data to DB synchronously in bulk connect
RocksDB has some memory leak/fragmentation problem
when inserting data in parallel
2018-08-21 18:56:30 +02:00
Martin Boehm c9471bf867 Store extended info about block in heigth column 2018-08-21 16:36:14 +02:00
Martin Boehm 78f6162d5c Add height to TxAddresses as required by explorer 2018-08-21 13:16:29 +02:00
Martin Boehm bbc47db6dd Get address data for explorer using index v3 - WIP 2018-08-21 10:11:27 +02:00
Martin Boehm c67306ad09 Make AddrBalance and TxAddresses publicly loadable from DB 2018-08-20 18:35:46 +02:00
Martin Boehm 5621ed49f3 Optimize bulk connect of blocks 2018-08-19 17:43:00 +02:00
Martin Boehm d45d028ef2 Implement bulk connect blocks 2018-08-19 00:23:26 +02:00
Martin Boehm 878d25ea42 Fix handling of coinbase txs in db, add test for it 2018-08-17 23:48:36 +02:00
Martin Boehm 745d7af92d Implement index v3 WIP 2018-08-17 16:33:42 +02:00
Martin Boehm f5b29b3a17 Implement index v3 WIP 2018-08-15 19:22:26 +02:00
Martin Boehm 78d2c085a9 Log expected db data version 2018-08-15 16:07:09 +02:00
Martin Boehm 8e3c7f851b Clean up the rocksdb sources and disconnect UTXO blocks WIP 2018-08-03 19:26:16 +02:00
Martin Boehm 7e11a4e615 Set LZ4HC compression for all columns 2018-08-03 15:04:49 +02:00
Martin Boehm a04e38f0f7 Improve handling of invalid addresses 2018-08-02 17:46:23 +02:00
Martin Boehm fb93c9ff7a Add unit test for pack/unpack txAddress 2018-08-02 16:10:28 +02:00
Martin Boehm a2bbf3f9de Implement and test connectBlock for index v3 2018-08-02 14:30:45 +02:00
Martin Boehm e558c10da9 Implement pack and unpack of big.Int 2018-07-27 19:46:21 +02:00
Martin Boehm 75d48376e1 Change db columns, enable compression on some columns 2018-07-27 14:08:20 +02:00
Martin Boehm 4db0895899 Check DB version on startup 2018-07-27 12:57:48 +02:00
Jakub Matys 9409907f80 Tests are classified by tags 2018-06-14 17:27:03 +02:00
Martin Boehm d4cd2ad607 Return state information for index request on internal http server 2018-06-12 22:57:46 +02:00
Martin Boehm 4f5461da4f Report metrics of all db columns 2018-06-08 14:05:41 +02:00
Martin Boehm fd7828a877 Compute column stats periodically 2018-06-08 13:19:57 +02:00
Martin Boehm 2535e4b6b7 Report metrics of txcache 2018-06-04 18:09:36 +02:00
Martin Boehm 4343c888a0 Update txcache stats on put/delete db operations 2018-06-04 17:11:10 +02:00
Martin Boehm 4f42d2f1d6 Add method to compute stats (rowcount, size) of all db columns 2018-06-01 16:01:58 +02:00
Martin Boehm 9147781772 Use single instance instead of global InternalState object 2018-05-29 11:37:35 +02:00
Martin Boehm 927fd0aaea Fix inSync state 2018-05-29 10:04:24 +02:00
Martin Boehm 8b20c38136 Put parameter BlockAddressesToKeep to coin configuration json 2018-05-28 14:57:44 +02:00
Martin Boehm 1c2ae8cec7 Fix rocksdb test 2018-05-23 11:07:16 +02:00
Martin Boehm c03b3d8a1a Store coin in internal state and verify that rpc coin matches db coin 2018-05-23 10:58:07 +02:00
Martin Boehm af064a3921 Store sync and mempool sync state to internal state 2018-05-22 17:34:37 +02:00
Martin Boehm 291e99ba5f Add internal state of the application 2018-05-22 12:56:51 +02:00
Martin Boehm 7cb8c8d3f0 Add option to disable txcache 2018-05-14 15:49:08 +02:00
Martin Boehm 83edc33b3f Fix processing of transactions in ConnectBlock 2018-05-03 01:03:20 +02:00
Martin Boehm 880e3e8025 Fix rocksdb test to handle nondeterministic order of addresses in value 2018-04-30 18:54:48 +02:00
Martin Boehm b3b8512958 Sync using indexv2 2018-04-30 14:50:19 +02:00
Martin Boehm df2a6b5551 Sync using indexv2 - WIP 2018-04-29 21:35:45 +02:00