Commit Graph

141 Commits

Author SHA1 Message Date
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
Jan Pochyla
7907bfeac7 rework index type 2017-10-05 14:35:07 +02:00
Jan Pochyla
abaedd4f39 add profiling 2017-09-13 02:50:34 +02:00
Jan Pochyla
0b9341ef3c simplify the case of missing outputs 2017-09-13 00:53:53 +02:00
Jan Pochyla
fd4073e544 getblock verbosity 2017-09-13 00:36:08 +02:00
Jan Pochyla
7b628a2a88 rpc: remove jsonrpc, simplify, remove tx cache 2017-09-12 18:08:01 +02:00
Jan Pochyla
bae35eafa7 add repair 2017-09-12 16:53:40 +02:00
Jan Pochyla
48f3c7648f speed up the block download a little 2017-09-11 15:06:16 +02:00
Jan Pochyla
787a8ea906 add resync, store only single addresses 2017-09-11 12:20:21 +02:00
Jan Pochyla
1c6d622834 simplify names and interfaces 2017-09-06 15:36:55 +02:00
Jan Pochyla
cbce18f47e fix lookup of outpoints from the same block 2017-09-06 11:03:23 +02:00
Jan Pochyla
c2d9c2f64a fix typo 2017-09-06 11:02:49 +02:00
Jan Pochyla
2a1f2e4952 add block disconnect 2017-09-06 11:02:38 +02:00
Jan Pochyla
d2ebc62d12 use getblockheader 2017-09-06 10:59:40 +02:00
Jan Pochyla
837318d5e1 prefetch next block 2017-09-04 14:16:37 +02:00
Jan Pochyla
7006753a0f merge AddressIndex and OutpointsIndex behind one method 2017-09-04 00:20:20 +02:00
Jan Pochyla
9ada001e3c initial commit 2017-08-28 18:07:35 +02:00