Commit Graph

344 Commits

Author SHA1 Message Date
Martin Boehm
9af314f7aa Add websocket method getTransaction 2019-01-16 16:10:30 +01:00
Martin Boehm
1c29283bf0 Add getAccountUtxo method to websocket interface 2019-01-14 17:12:33 +01:00
Martin Boehm
3ca593aff1 Handle error tx not found #94 2019-01-10 16:39:36 +01:00
Martin Boehm
d77fb35bb5 Minify explorer html templates 2019-01-09 15:20:05 +01:00
Martin Boehm
00c1fd6661 Limit number of found transactions for address by page size 2019-01-09 11:48:19 +01:00
Martin Boehm
2c3af5129e Generalize tokens instead of ERC20 tokens in API 2019-01-07 15:45:00 +01:00
Martin Boehm
1e8506bdf7 Add websocket method getBlockHash 2019-01-04 16:10:24 +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
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
81e105dd4f Refactor tx api 2018-12-19 13:59:18 +01:00
Martin Boehm
bab500d3f8 Notify on mempool erc20 transfer transaction 2018-12-19 10:06:25 +01:00
Martin Boehm
7edea80209 Add estimateFee method to websocket interface 2018-12-18 09:52:46 +01:00
Martin Boehm
3ff1a86ab1 Add option TxHistoryLight to api.GetAddress 2018-12-17 13:20:10 +01:00
Martin Boehm
f332c0aa9e Add getInfo websocket method 2018-12-16 00:26:41 +01:00
Martin Boehm
a04b2b67b5 Filter address transactions by height from-to and contract 2018-12-14 16:42:35 +01:00
Martin Boehm
e9e6b472b6 Keep api v1 as compatible with blockbook 0.1.x, add api v2 2018-12-13 14:31:34 +01:00
Martin Boehm
9c142663ce Add type api.Amount for proper formatting of amounts in json 2018-12-13 00:41:58 +01:00
Martin Boehm
d01081fd83 Allow websocket connections from all origins 2018-12-11 12:14:05 +01:00
Martin Boehm
4b39519750 Change websocket address subscription behavior 2018-12-11 11:50:43 +01:00
Martin Boehm
13f7b48ae6 Add websocket interface 2018-12-10 17:22:37 +01:00
Martin Boehm
75e2ffa025 Add websocket implementation WIP 2018-12-10 00:26:04 +01:00
Martin Boehm
70559ab9e0 Update api.GetAddress to return more ethereum specific data 2018-12-06 13:14:46 +01:00
Martin Boehm
0e1725321d Fix public_test 2018-12-05 12:02:41 +01:00
Martin Boehm
55ae22bab1 Add socketio method getAccountInfo 2018-12-05 11:41:07 +01:00
Martin Boehm
9a04c862d6 Filter address transactions by input/output or token 2018-12-04 11:54:15 +01:00
Martin Boehm
fead52881f Show ERC20 contracts for address 2018-12-03 15:48:07 +01:00
Martin Boehm
463eab9d2d Show ethereum specific data in tx detail in explorer 2018-11-28 14:56:45 +01:00
Martin Boehm
995d169172 Merge branch 'master' into ethereum 2018-11-26 13:04:13 +01:00
Martin Boehm
14efbb02b0 Show empty amounts as zero 2018-11-26 11:26:52 +01:00
Martin Boehm
7a990f9b5b Implement explorer for EthereumType coin - WIP 2018-11-26 00:20:01 +01:00
Martin Boehm
8886256d0b Implement index v3 for ethereum type coin 2018-11-23 22:16:32 +01:00
Martin Boehm
6072aa5e9e Handle coin specific tx data more efficiently 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
446ba5cd9d Remove outputs spent by mempool tx from GetAddressUtxo 2018-11-15 15:44:28 +01:00
Martin Boehm
f1affaf92e FIx GetAddressUtxo 2018-11-14 23:02:42 +01:00
Martin Boehm
8bf5837b26 Implement address utxo api call #83 2018-11-14 14:46:42 +01:00
Martin Boehm
2dca694f95 Show valid address with zero transaction in explorer #82 2018-11-05 11:26:23 +01:00
Martin Boehm
d7b1c9e09a Return spent output flag in apiTx 2018-10-26 15:52:12 +02:00
Martin Boehm
77c64e97b6 Add apiSendTx via POST request 2018-10-25 19:40:07 +02:00
Martin Boehm
ab3e1b6172 Modify apiTx to not to return spending txs by default 2018-10-25 18:32:03 +02:00
Martin Boehm
d1176e17d1 Implement apiSendTx and apiEstimateFee 2018-10-25 18:26:51 +02:00
Martin Boehm
4422661918 Implement Send Transaction in explorer 2018-10-22 15:41:27 +02:00
Jakub Matys
ab0eb65de0 Fixed issues reported by goreportcard.com 2018-10-22 10:39:29 +02:00
Martin Boehm
c6316ca10f Remove public server test dependecy on locale settings 2018-10-19 16:46:06 +02: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
9fd647014a Add test explorerAddress, explorerSpendingTx, explorerBlocks 2018-10-19 16:37:48 +02:00
Martin Boehm
a6dce9f770 Add unit test for explorerTx, explorerBlock, explorerIndex 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
8140af1a69 Show coin specific transaction data in explorer and api 2018-10-16 12:25:31 +02:00
Jakub Matys
3b696d677e Text data (about, URL of TOS) stored in plain text files 2018-10-15 12:51:04 +02:00
wlc-
3ad9b33b17
Add txid to inputs 2018-10-10 20:36:13 +02:00
Martin Boehm
a16ef2904e Use coin label in the explorer header 2018-10-10 00:23:31 +02:00
Martin Boehm
84b457b34a Use TxAddresses index in TxCache 2018-10-08 14:55:21 +02:00
Martin Boehm
384d24c6c2 Fix socketio_test 2018-10-08 00:46:55 +02:00
Martin Boehm
f9809d7507 Return inputs for socket.io getAddressHistory and getDetailedTransaction 2018-10-06 23:35:03 +02:00
Martin Boehm
eb5781f218 Use AddressDescriptor as key in socket.io subscribtions to addresstxid 2018-10-06 19:27:54 +02:00
Martin Boehm
44da0c8c41 Show spending transactions in explorer 2018-09-27 13:44:13 +02:00
Martin Boehm
ded10477a8 Serve favicon on internal interface to avoid expensive calls to index 2018-09-26 11:44:42 +02:00
Martin Boehm
c170298e49 Return http status code 500 for internal errors 2018-09-24 14:06:58 +02:00
Martin Boehm
f5ce0b681e Limit explorer status page in initial sync 2018-09-21 08:51:41 +02:00
Martin Boehm
8ad6d1d52c Remove /explorer part from URL, blockbook status with external explorer 2018-09-20 22:07:42 +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
bb48f2d26e Cleanup of internal http interface 2018-09-19 15:59:49 +02:00
Martin Boehm
d87d52b2fd Add view of block to explorer 2018-09-17 18:28:08 +02:00
Martin Boehm
f80c4d572e Add application status page to explorer 2018-09-17 11:17:40 +02:00
Martin Boehm
bebddbcd11 Implement list of blocks 2018-09-14 12:10:03 +02:00
Martin Boehm
e07b020c16 Add metrics to explorer 2018-09-14 00:18:13 +02:00
Martin Boehm
435b6f4e80 Show search results using redirect in explorer 2018-09-14 00:13:25 +02:00
Martin Boehm
c6462bb0e7 Add search for tx/address to explorer 2018-09-13 14:25:24 +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
Martin Boehm
fb0c766ee4 Add paging to explorer 2018-09-05 15:13:45 +02:00
Martin Boehm
82c64ae947 Make satoshi amounts signed in socketio 2018-08-30 13:19:50 +02:00
Martin Boehm
af6de32165 Use indexv3 in socketio getDetailedTransaction 2018-08-30 13:06:49 +02:00
Martin Boehm
2f0e4e2a0f Fix test tags 2018-08-30 13:06:11 +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
7d708ef868 Unify handling and error handling of pages in public interface 2018-08-24 16:17:43 +02:00
Martin Boehm
bbc47db6dd Get address data for explorer using index v3 - WIP 2018-08-21 10:11:27 +02:00
Martin Boehm
b464f282a9 Use big.Int for all amounts 2018-07-24 15:58:37 +02:00
Martin Boehm
f2274ce43c Add paging to api.GetAddress, fix incorrect computation of balance 2018-07-20 19:07:43 +02:00
Martin Boehm
6fb71a7734 Highlight inputs/outputs of shown address 2018-07-02 14:41:37 +02:00
Martin Boehm
7e68630377 Add initial implementation of address explorer 2018-06-30 02:02:16 +02:00
Martin Boehm
20643756e5 Fix formatting of amounts in explorer 2018-06-28 22:41:46 +02:00
Martin Boehm
ce5462118c Add initial implementation of tx explorer 2018-06-28 21:18:52 +02:00
Martin Boehm
22b7289fa6 Add coin shortcut description 2018-06-28 00:36:56 +02:00
Martin Boehm
d303a4bb09 Display tx summary in explorer 2018-06-28 00:08:33 +02:00
Martin Boehm
96ad79eee5 Design base explorer page - header and footer 2018-06-27 14:10:34 +02:00
Martin Boehm
b52b861db2 Add initial tx explorer template + favicon 2018-06-27 00:44:23 +02:00
Martin Boehm
604b41f10a Add explorer api worker 2018-06-26 13:02:53 +02:00
Martin Boehm
9bd1b374a7 Refactor https and socketio to internal and public interface 2018-06-21 15:37:46 +02:00
Martin Boehm
6078744489 Join paths correcty in socketio.redirect 2018-06-18 18:21:18 +02:00
Jakub Matys
9409907f80 Tests are classified by tags 2018-06-14 17:27:03 +02:00
Martin Boehm
9401840aca Recover from panic in onMessage and onSubscribe socket.io methods 2018-06-12 22:58:37 +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
9c01962001 Return coin_name in socket.io getInfo response 2018-06-05 16:21:54 +02:00
Martin Boehm
5a114bf622 Return hostname in status page 2018-05-30 14:44:59 +02:00
Jakub Matys
1385313908 Merge branch 'bcash-cashaddr' 2018-05-30 13:11:15 +02:00
Martin Boehm
00686089d5 Extend error logging in socketio onSubscribe 2018-05-29 19:48:01 +02:00
Jakub Matys
79ba6abadd Upgraded BCash address decoding/encoding 2018-05-29 15:03:25 +02:00
Jakub Matys
ea3cfd2d6a Address format is set in configuration instead of RPC options 2018-05-29 14:15:27 +02:00
Martin Boehm
9147781772 Use single instance instead of global InternalState object 2018-05-29 11:37:35 +02:00
Martin Boehm
0467e11d59 Handle redirect blockchain explorer for address request 2018-05-28 10:46:44 +02:00
Martin Boehm
9b6de3901e Add internal state information to index page 2018-05-23 10:59:27 +02:00
Jakub Matys
7835a27595 Added version and build information 2018-05-22 17:22:22 +02:00
Martin Boehm
049b4d21f0 Collect statistics about transaction explorer views 2018-05-18 17:10:25 +02:00
Martin Boehm
993fe001e4 Extend range of valid estimateSmartFee in test of logged socket.io 2018-05-14 15:47:47 +02:00
Martin Boehm
66bf41720b Return info about blockbook as default response 2018-05-10 13:11:09 +02:00
Martin Boehm
8535786ce3 Add info about blockbook to getInfo socket.io request 2018-05-10 11:42:18 +02:00
Martin Boehm
806ef2cf84 Add api/block-index/ handler for website monitoring 2018-05-10 11:41:50 +02:00
Martin Boehm
8d422dabaa Fix commit screw up 2018-05-10 10:05:55 +02:00
Martin Boehm
1cb2338587 Add option to create new connection for each request to socket.io test 2018-05-10 10:02:25 +02:00
Martin Boehm
882bcf8512 Handle BECH addresses in test of logged socket.io 2018-05-10 08:58:00 +02:00
Martin Boehm
53c696a3fa Fix test of nil in getDetailedTransaction test of logged socket.io 2018-05-09 13:54:30 +02:00
Martin Boehm
61e2f90f4f Handle mempool transactions in test of logged socket.io 2018-05-09 13:42:51 +02:00
Martin Boehm
84c4bc1811 Add rounding to socketio satoshi values 2018-05-09 13:31:46 +02:00
Martin Boehm
ebb3ae1648 Remove incorrect default flags from socketio_test 2018-05-09 12:37:24 +02:00
Martin Boehm
86c6464e75 Implement test of logged socket.io - getDetailedTransaction 2018-05-09 12:28:06 +02:00
Martin Boehm
124e670257 Fix socketio getDetailedTransaction 2018-05-09 12:27:20 +02:00
Martin Boehm
f1d7d6b023 Implement test of logged socket.io communication 2018-05-04 18:35:11 +02:00
Martin Boehm
9401e0a61e Fix incorrect parameter usage in socketio getAddressTxids 2018-05-04 16:15:02 +02:00
Martin Boehm
2f5135e413 Merge branch 'master' into verifier 2018-05-04 12:40:20 +02:00
Martin Boehm
9b061850f2 Implement test of logged socket.io communication - WIP 2018-05-04 12:37:11 +02:00
Martin Boehm
83edc33b3f Fix processing of transactions in ConnectBlock 2018-05-03 01:03:20 +02:00
Martin Boehm
7de8726979 Cleanup mempool usage, remove obsolete GetMempoolSpentOutput 2018-05-01 22:48:58 +02:00
Martin Boehm
2c7c850e50 Merge branch 'master' into indexv2 2018-04-30 15:16:05 +02:00
Martin Boehm
526b7534d6 Revert the order of transactions in socket.io interface 2018-04-30 15:07:31 +02:00
Jakub Matys
ab2ab365a9 added subversion field to result of getinfo 2018-04-27 10:53:33 +02:00
Jakub Matys
85beeb938c moved static directory and upgraded installation of certs 2018-04-25 13:00:51 +02:00
Jakub Matys
9c93674918 added support of bcash addresses to RPCs 2018-04-24 11:20:09 +02:00
Martin Boehm
ecd475f728 Implement test VerifyLog of logged socket.io communication - WIP 2018-04-16 16:40:14 +02:00
Jakub Matys
a37ccdaee0 fixed logging 2018-04-12 15:43:57 +02:00
Martin Boehm
f8eca976ab Fix computation of confirmations 2018-04-06 17:13:38 +02:00
Martin Boehm
7419003372 Increase height range of transaction lookup in socketio test page 2018-03-29 15:27:31 +02:00
Jakub Matys
18ce3edac3 Added RPC method EstimateFee 2018-03-27 10:30:30 +02:00
Jakub Matys
2cb371d35b Purify text inputs of test page 2018-03-23 13:49:51 +01:00
Jakub Matys
e8399cb485 Added ability of getBlockHeader control to send either height or hash 2018-03-23 13:26:24 +01:00
Jakub Matys
fbfb33cb5d Output index uses abstract identifier instead of outputScript 2018-03-20 16:01:36 +01:00
Jakub Matys
96a60bf7fa Renamed metrics and added implicit label coin 2018-03-14 09:45:10 +01:00
Jakub Matys
b7f07a8ff5 method map cleaned up because of metric labels 2018-03-13 11:44:50 +01:00
Jakub Matys
d7229f8db0 added prometheus metrics 2018-03-13 11:44:50 +01:00
Martin Boehm
bd001bdcfa Remove unnecessary inputs processing from socket.io getAddressHistory 2018-03-12 17:40:03 +01:00
Jakub Matys
69b88275bd added RPC method getmempoolentry 2018-03-08 14:15:06 +01:00
Martin Boehm
f80ae32846 Abstract bitcoinrpc in preparation for alt coins 2018-03-08 12:59:37 +01:00
Martin Boehm
f2284559d5 Return info about network in socket.io getInfo request 2018-03-07 10:41:07 +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
d1c4c66c5f Implement TxCache stored in RocksDB 2018-03-06 12:36:24 +01:00
Martin Boehm
13e08a07a9 Remove unnecessary data from socket.io interface 2018-03-02 16:08:08 +01:00
Martin Boehm
32626851e0 Handle transactions without input txid (newly minted coins) 2018-03-01 11:54:21 +01:00
Martin Boehm
7db39fcc13 Set server's own address in socket.io test page 2018-03-01 11:34:02 +01:00
Martin Boehm
34400f5b2b Add context to errors returned by bitcoinrpc 2018-03-01 11:06:10 +01:00
Martin Boehm
d1bf8a60dc Refactor of the explorerURL 2018-02-26 16:25:40 +01:00
Martin Boehm
d662fa4197 Remove socket.io test page from http interface 2018-02-26 16:22:43 +01:00
Martin Boehm
16fc1b4797 Redirect blockchain explorer requests to external site 2018-02-26 16:21:58 +01:00
Martin Boehm
ad68018b1a Improve compatibility of socket.io interface with original Bitcore 2018-02-26 15:19:53 +01:00
Martin Boehm
1c8386f05d Return unique txids from socket.io getAddressTxids 2018-02-24 00:02:29 +01:00
Martin Boehm
aff7f3909c Return errors to socket.io client 2018-02-23 14:50:52 +01:00
Martin Boehm
682b0d22f1 Return addresses from socket.io getDetailedTransaction 2018-02-23 14:44:14 +01:00
Martin Boehm
e8b260a393 Reduce logging of socket.io server 2018-02-23 10:30:19 +01:00
Martin Boehm
2260ff61b5 Log the number of channels broadcasts are sent to 2018-02-22 23:32:47 +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
35e9e87428 Use forked golang-socketio library to handle subscribe messages 2018-02-21 20:24:50 +01:00
Martin Boehm
395e69143d Implement Bitcore socket.io method sendTransaction 2018-02-20 12:03:04 +01:00
Martin Boehm
aa2d6d7816 Implement Bitcore socket.io method getDetailedTransaction 2018-02-19 23:54:21 +01:00
Martin Boehm
aac52a3fcb Refactor in preparation for socket.io getDetailedTransaction method 2018-02-19 16:32:16 +01:00
Martin Boehm
90a9edda41 Implement Bitcore socket.io method getAddressHistory 2018-02-08 13:28:10 +01:00
Martin Boehm
207351d4ec Fix getBlockHeader socket.io method 2018-02-07 22:51:06 +01:00
Martin Boehm
dc14eb58b6 Implement Bitcore socket.io method getInfo 2018-02-07 21:42:56 +01:00
Martin Boehm
92aa4f0c7f Use only index lookup in getBlockHeader, trezor needs only tx hash 2018-02-07 21:11:50 +01:00
Martin Boehm
12876290e4 Enable SSL support for http and socket.io servers 2018-02-07 20:42:25 +01:00
Martin Boehm
bcc8de4763 Implement Bitcore socket.io method estimateSmartFee 2018-02-07 19:59:09 +01:00
Martin Boehm
8c9dfc3ef4 Implement Bitcore socket.io method getBlockHeader 2018-02-07 18:35:34 +01:00
Martin Boehm
d50392b0d0 Fix return values from socket.io 2018-02-07 13:23:45 +01:00
Martin Boehm
e094fce3dd Add interactive socket.io test page 2018-02-07 13:23:17 +01:00
Martin Boehm
a093d9aa9b Remove unnecessary test socket.io handler 2018-02-07 00:01:00 +01:00
Martin Boehm
c6cba802cd Implement Bitcore socket.io method getAddressTxids 2018-02-06 23:50:53 +01:00
Martin Boehm
b0f163e21c Support for socket.io interface, initial commit 2018-02-06 12:06:30 +01:00
Martin Boehm
7c71876c12 Lookup input transactions in mempool 2018-02-03 19:14:27 +01:00
Martin Boehm
2605f2fc1d Implement REST interface to mempool transactions 2018-02-01 12:56:45 +01:00
Martin Boehm
a403b8d0fe Rename package bitcoin to bchain 2018-01-31 15:23:17 +01:00
Martin Boehm
e22e1a946d Use glog for logging with verbosity levels 2018-01-30 18:22:25 +01:00
Martin Boehm
3dacffda59 Use output script (ScriptPubKey) as key to output transactions 2018-01-29 23:25:40 +01:00
Martin Boehm
cb3cdb6701 extended info rest request - returns bestblock of the index 2018-01-25 12:31:31 +01:00
Martin Boehm
48057b2453 GetBestBlock height and hash from DB 2018-01-24 18:02:46 +01:00
Martin Boehm
ab562d05c5 http request GET transactions for address 2018-01-24 15:11:21 +01:00
Martin Boehm
8676db1e14 specify http server binding 2018-01-19 00:18:08 +01:00
Martin Boehm
a9bfb59103 bestBlockHash and blockHash http handlers 2018-01-18 23:05:26 +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
bbcadfd646 http server initial implementation 2018-01-18 16:44:52 +01:00