Commit Graph

166 Commits (deepcrayon)

Author SHA1 Message Date
Martin Boehm d45d028ef2 Implement bulk connect blocks 2018-08-19 00:23:26 +02:00
Martin Boehm 22b7289fa6 Add coin shortcut description 2018-06-28 00:36:56 +02:00
Martin Boehm 278b18a37f Rename httpserver and socketio flags to internal and public 2018-06-21 15:42:21 +02:00
Martin Boehm 9bd1b374a7 Refactor https and socketio to internal and public interface 2018-06-21 15:37:46 +02:00
Martin Boehm f686a37aab Resync index/mempool more often to overcome missing ZeroMQ in dogecoin 2018-06-16 13:52:15 +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 d018164b37 Fix typo in comment 2018-06-12 21:24:18 +02:00
Martin Boehm a4e5418f50 Randomize period of ComputeInternalStateColumnStats to avoid CPU peaks 2018-06-12 21:23:34 +02:00
Martin Boehm fd7828a877 Compute column stats periodically 2018-06-08 13:19:57 +02:00
Martin Boehm 31dc1d9c00 Merge branch 'master' into internal-state 2018-06-08 11:50:35 +02:00
Martin Boehm eb716d69ed Take coin name from rpc config json 2018-06-05 16:21:54 +02:00
Martin Boehm 2535e4b6b7 Report metrics of txcache 2018-06-04 18:09:36 +02:00
Martin Boehm cea1df9365 Compute total db size from stats 2018-06-04 13:24:40 +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 17ed8f7d5d Store mempool size in internal state 2018-06-01 13:22:56 +02:00
Martin Boehm 594e5333d6 Store host name only instead of full domain name in the internal state 2018-05-31 12:22:53 +02:00
Martin Boehm 5a114bf622 Return hostname in status page 2018-05-30 14:44:59 +02:00
Martin Boehm a899f9e97a Use context to limit shutdown time of bchain/mq 2018-05-30 14:44:59 +02:00
Martin Boehm 01aa3d9074 Change logging in waitForSignalAndShutdown 2018-05-29 12:38:04 +02:00
Martin Boehm 9147781772 Use single instance instead of global InternalState object 2018-05-29 11:37:35 +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 96f25ce11a Store internal state periodicaly 2018-05-23 08:54:02 +02:00
Martin Boehm 1a953ea2a4 Merge branch 'master' into internal-state 2018-05-22 17:37:14 +02:00
Martin Boehm af064a3921 Store sync and mempool sync state to internal state 2018-05-22 17:34:37 +02:00
Jakub Matys 7835a27595 Added version and build information 2018-05-22 17:22:22 +02:00
Martin Boehm 291e99ba5f Add internal state of the application 2018-05-22 12:56:51 +02:00
Martin Boehm 699f6f8fc0 Set the log file size to 8MB 2018-05-17 12:31:45 +02:00
Martin Boehm bc6f8a9e5d Retry connection to blockchain rpc on startup
After restart, the blockchain daemons are not immediately ready
to serve requests. Blockbook must wait for them.
2018-05-17 11:52:16 +02:00
Martin Boehm 7cb8c8d3f0 Add option to disable txcache 2018-05-14 15:49:08 +02:00
Martin Boehm 7b79ac97e8 Fix usage message 2018-05-03 14:49:19 +02:00
Martin Boehm b3b8512958 Sync using indexv2 2018-04-30 14:50:19 +02:00
Martin Boehm 0a55ca61f6 Sync using indexv2 - WIP 2018-04-29 00:17:30 +02:00
Jakub Matys a37ccdaee0 fixed logging 2018-04-12 15:43:57 +02:00
Martin Boehm 394a773fc3 Merge branch 'master' into ethereum 2018-04-03 22:10:10 +02:00
Martin Boehm 7d6a9ae663 Force execution in tickAndDebounce after debounceTime 2018-04-03 22:09:46 +02:00
Martin Boehm 19d071a184 Remove bitcoin specific code from MQ push handler 2018-03-27 23:39:06 +02:00
Jakub Matys fbfb33cb5d Output index uses abstract identifier instead of outputScript 2018-03-20 16:01:36 +01:00
Martin Boehm 9c94db13f6 Move rpc config to external json file, move zeromq to btc implementation 2018-03-15 12:34:29 +01:00
Martin Boehm 96bfdfd74e Use block data in disconnect blocks, remove disconnected txs from cache 2018-03-14 12:34:13 +01:00
Jakub Matys 96a60bf7fa Renamed metrics and added implicit label `coin` 2018-03-14 09:45:10 +01:00
Martin Boehm b412b60c9c Move start of http interface before initial sync
This allows to collect metrics during initial sync
2018-03-13 16:10:38 +01:00
Jakub Matys d7229f8db0 added prometheus metrics 2018-03-13 11:44:50 +01:00
Martin Boehm fbc5248ef8 Handle HTTP status codes returned from blockchain rpc 2018-03-11 01:31:09 +01:00
Martin Boehm e914cd4479 Enable HTTP interface to go profiling 2018-03-09 17:05:27 +01:00
Martin Boehm 9d0547f608 Use blockchain factory to create blockchain interface 2018-03-08 18:36:01 +01:00
Martin Boehm f80ae32846 Abstract bitcoinrpc in preparation for alt coins 2018-03-08 12:59:37 +01:00
Martin Boehm 0783cac294 Detect type of the block chain and use correct chain params 2018-03-07 09:38:19 +01:00
Martin Boehm 98d91d4ce1 Synchronize mempool before starting server interfaces 2018-03-06 12:42:54 +01:00
Martin Boehm d1c4c66c5f Implement TxCache stored in RocksDB 2018-03-06 12:36:24 +01:00
Martin Boehm b3d1d449fd Fix minimum sync height 2018-03-01 20:20:50 +01:00
Martin Boehm 9bdb83deff Refactor sync code to own file 2018-03-01 18:37:01 +01:00
Martin Boehm 665a3d1230 Replace glog.Fatal by glog.Error to allow to run deferred functions 2018-03-01 11:22:37 +01:00
Martin Boehm 34400f5b2b Add context to errors returned by bitcoinrpc 2018-03-01 11:06:10 +01:00
Martin Boehm 39675d4eed Handle bitcoind rpc error in resyncIndex 2018-03-01 01:15:25 +01:00
Martin Boehm b556d0354e Handle OS interrupt in resyncIndex 2018-03-01 00:59:25 +01:00
Martin Boehm f8fbbcfe29 Connect blocks in parallel without getting block header - optimization 2018-03-01 00:32:40 +01:00
Martin Boehm 32d99e56eb Remove obsolete compact option 2018-02-26 16:44:25 +01:00
Martin Boehm d1bf8a60dc Refactor of the explorerURL 2018-02-26 16:25:40 +01:00
Martin Boehm 16fc1b4797 Redirect blockchain explorer requests to external site 2018-02-26 16:21:58 +01:00
Martin Boehm 7a1ff7241f Tune RocksDB.
Remove bulk import - it consumes a lot of disk space.
Set no compression of data.
Reduce write buffer to .5GB from 2GB.
2018-02-24 16:25:55 +01:00
Martin Boehm 26c726c771 Notify socket.io subscribers about new block 2018-02-22 13:32:06 +01:00
Martin Boehm 0c456fe245 Notify socket.io subscribers about new block 2018-02-22 13:01:35 +01:00
Martin Boehm 11b31fb456 Update flags description 2018-02-07 22:56:17 +01:00
Martin Boehm 12876290e4 Enable SSL support for http and socket.io servers 2018-02-07 20:42:25 +01:00
Martin Boehm 8c9dfc3ef4 Implement Bitcore socket.io method getBlockHeader 2018-02-07 18:35:34 +01:00
Martin Boehm b0f163e21c Support for socket.io interface, initial commit 2018-02-06 12:06:30 +01:00
Martin Boehm ec87f4ed8d Use maximum size on disk trigger to invoke DB compaction 2018-02-06 09:43:54 +01:00
Martin Boehm 359d7ee1c4 Use constants instead of magic numbers 2018-02-06 09:12:50 +01:00
Martin Boehm fdd9c9b99f Use bulk option only for initial load of DB 2018-02-05 17:47:20 +01:00
Martin Boehm 97cc2aca17 Use PrepareForBulkLoad option for connectBlocksParallel 2018-02-05 12:27:41 +01:00
Martin Boehm e31095d03f Compact database during connectBlocksParallel 2018-02-05 10:31:22 +01:00
Martin Boehm d4a35b9889 Synchronize blocks in parallel using algorithm without chunks 2018-02-05 00:28:15 +01:00
Martin Boehm 7c71876c12 Lookup input transactions in mempool 2018-02-03 19:14:27 +01:00
Martin Boehm ac5aa2a234 Start sync loops only if -sync=true 2018-02-02 16:17:33 +01:00
Martin Boehm cf15f0cf0c Move sync loop after initial resync 2018-02-01 22:36:57 +01:00
Martin Boehm 2605f2fc1d Implement REST interface to mempool transactions 2018-02-01 12:56:45 +01:00
Martin Boehm 1f36acc084 Reuses existing timer in tickAndDebounce 2018-02-01 12:26:12 +01:00
Martin Boehm a07c414e72 Repeatedly with debounce synchronize index and mempool 2018-02-01 11:24:53 +01:00
Martin Boehm 7185060f62 Synchronize mempool 2018-01-31 17:51:48 +01:00
Martin Boehm dec566e817 Fix http server shutdown loging 2018-01-31 15:34:20 +01:00
Martin Boehm a403b8d0fe Rename package bitcoin to bchain 2018-01-31 15:23:17 +01:00
Martin Boehm 71d669c0b9 Sync index on message from zeroMQ 2018-01-31 15:03:06 +01:00
Martin Boehm e22e1a946d Use glog for logging with verbosity levels 2018-01-30 18:22:25 +01:00
Martin Boehm 496d6ff2c9 Synchronize with chain using parallel operations 2018-01-30 09:46:28 +01:00
Martin Boehm 3dacffda59 Use output script (ScriptPubKey) as key to output transactions 2018-01-29 23:25:40 +01:00
Martin Boehm 858f196484 Rollback to given height 2018-01-29 17:27:42 +01:00
Martin Boehm 9afa5b4187 resyncIndex DisconnectBlocks 2018-01-28 00:59:54 +01:00
Martin Boehm 2f73f6f81b connectBlockChunk - handling height over bitcoind best block height 2018-01-25 16:24:27 +01:00
Martin Boehm b12c8cfae6 added some context to fatal error logs 2018-01-25 12:31:57 +01:00
Martin Boehm 48057b2453 GetBestBlock height and hash from DB 2018-01-24 18:02:46 +01:00
Martin Boehm 79b1e73500 default flags handling change 2018-01-24 15:10:35 +01:00
Martin Boehm 4427af769b ZeroMQ handler in the background with graceful shutdown 2018-01-22 16:46:54 +01:00
Martin Boehm bc5b99003e proof of concept connection to ZeroMQ 2018-01-19 15:58:46 +01:00
Martin Boehm 8676db1e14 specify http server binding 2018-01-19 00:18:08 +01:00
Martin Boehm 5ae73b9bb7 logging fixes 2018-01-18 20:32:10 +01:00
Martin Boehm 4e4c17a41a wait for http server and graceful shutdown 2018-01-18 17:33:20 +01:00
Martin Boehm 441c0f9024 folder reorganization 2018-01-18 16:44:31 +01:00
Jan Pochyla aa1b6c2b89 add parse option 2017-10-07 11:05:35 +02:00
Jan Pochyla d7a159a837 fix block interval 2017-10-07 10:42:31 +02:00
Jan Pochyla c2761de9ed configurable concurrency, dry run 2017-10-06 12:57:51 +02:00