Commit Graph

183 Commits

Author SHA1 Message Date
Jakub Matys
c5cb1e2e54 Merge branch 'integration-tests-upgrade' into tests 2018-10-01 13:43:38 +02:00
Petr Kracík
e270cf0f95 Metrics, fix version 2018-09-26 12:17:50 +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
Jakub Matys
5f0b4e5c5a Disables process renaming because it causes incorrect log rotation 2018-09-20 12:29:13 +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
562b06202e Add prometheus metrics BlockbookAppInfo 2018-09-19 16:51:16 +02:00
Martin Boehm
142f3d46c7 Improve blockbook flag description 2018-09-18 11:49:54 +02:00
Martin Boehm
184f2e9ca6 Add maxOpenFiles rocksdb flag 2018-09-18 11:49:39 +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
6dcf3fd45d Send the side of address (input/output) for a new tx notification 2018-09-11 13:19:56 +02:00
Jakub Matys
8f5835a94d Set user-friendly name of Blockbook's process 2018-09-06 12:02:31 +02:00
Martin Boehm
b1e749dab9 Add logging of memory status 2018-08-26 21:29:10 +02:00
Martin Boehm
16275601f4 Decrease default db cache size to reduce memory footprint 2018-08-26 18:33:07 +02:00
Martin Boehm
7d708ef868 Unify handling and error handling of pages in public interface 2018-08-24 16:17:43 +02:00
Martin Boehm
328312e48a Add dbcache configuration flag, tune db options 2018-08-23 21:19:12 +02:00
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