Commit Graph

287 Commits

Author SHA1 Message Date
Joe Uhren cd05484ba5 Reindex tweaks and improvements
-Added an "Are you sure" prompt before starting the reindex to make it clear that this is a destructive sync option
-All necessary coin stat data is cleared before starting the resync (txes, blockchain_last_updated and richlist_last_updated were not previously being cleared)
-More and better messages about what is being done during the process
-Shifted some of the code around to be run in a better order (for example, blockchain_last_updated date is set right after finishing the blockchain sync instead of at the very end of the reindex)
2022-03-19 18:44:36 -06:00
Joe Uhren 26a35700d4 Add unique page titles for each individual page 2022-03-19 16:15:34 -06:00
Joe Uhren a063bea77c Prevent caching of local css files 2022-03-12 21:40:19 -07:00
Joe Uhren e8a0b7cc8f Fix theme directory names 2022-03-12 19:33:07 -08:00
Joe Uhren 6cecf2f834 Update copyright year to 2022 2022-03-12 18:32:30 -07:00
Joe Uhren 49431bbfaf Upgrade bootstrap to v5.1.3 + tons of UI tweaks
-Bootstrap was upgraded to latest version (v5.1.3) which required tons of changes to the UI. Many little UI problems have been resolved
-Bootswatchs themes have all been upgraded to support bootstrap v5.1.3 + 4 new themes were added (Morph, Quartz, Vapor and Zephyr)
-Exor theme upgraded to v3.0.0 with support for bootstrap v5.1.3
-Many layout and UI improvements such as more consistent hover effects on most tables and more readable text across all themes
2022-03-12 18:24:24 -07:00
Joe Uhren 44bdcd9946 Better error msg when using older nodejs version
-Older versions of nodejs will throw all kinds of different errors depending on which version you are running. This check should hopefully prevent confusion about why the explorer is not working by giving a clearer error message before the explorer starts
2021-12-07 19:00:35 -07:00
Joe Uhren fafa6e5279 Better market error during sync 2021-12-04 18:12:31 -07:00
Joe Uhren a47baa1928 Update all script libraries (except bootstrap)
-jQuery updated to v3.6.0
-DataTables updated to v1.11.3
-FontAwesome updated to v5.15.4
-Luxon updated to v2.1.1 (Removed js file from project and added CDN url)
-jqPlot (No update in version but removed js/css files from project and added CDN urls)
-Chart.js updated to v3.6.1 (Removed js file from project and added CDN url + fixed breaking changes in Reward page)
-flag-icon-css updated to v4.1.4 (Removed source files from project and added CDN url)
2021-12-04 17:54:52 -07:00
Joe Uhren 59cee58cb0 Update node dependencies + fix breaking changes
-All node dependencies are up-to-date in package.json
-Updated semantic versioning of some node dependencies in package.json
-Applied fixes to necessary explorer files to fix breaking changes to mongoose dependency
-Update README with new Node.js and MongoDB version recommendations

NOTE: Node.js must be updated to at least v14.13.1 to fix breaking errors in a few of the updated dependencies
2021-12-04 12:44:35 -07:00
Joe Uhren f0908fd176 Add optional block_start parameter to check mode 2021-11-21 19:15:42 -07:00
Joe Uhren e5e1887401 Check mode no longer updates the last block height
-Also add output displaying which block is currently being checked as before it was almost impossible to determine what, if anything was happening in check mode
2021-11-21 18:09:06 -07:00
Joe Uhren 930b9c4eca Add .npmrc file for cleaner npm error msgs 2021-11-21 13:31:42 -07:00
Joe Uhren 4d202714fd Add new npm scripts for explorer operations
-New npm scripts make syncing and running other explorer tasks easier, without needing to remember longer command syntax
-Updated README to explain new npm scripts and give recommendations on their usage. Also update sample crontab section
2021-11-21 13:30:26 -07:00
Joe Uhren 5d5719dfef Updated check mode verbiage
-Remove reference to index_timeout setting which doesn't exist and add reference to sync.update_timeout
2021-11-21 13:22:24 -07:00
Joe Uhren 054ac86db3 Add support for reading scriptPubKey.address 2021-11-20 11:02:29 -07:00
joeuhren f25ded56c1 Update broken full setup guide links 2021-08-05 17:23:52 -06:00
joeuhren 56d4979383 Add Southxchange exchange to markets 2021-07-09 21:49:34 -06:00
joeuhren 6057b875ec Add new setting to decode tx OP_RETURN values 2021-07-09 20:39:02 -06:00
joeuhren 460ca331b6 Add support for USD price lookup of any altcoin
-Market sync now sets the last USD price based on the default market pair even if it is not BTC
-Removed the coindesk api which was only really useful for getting the USD price of BTC
-Added a couple coingecko apis which are used to get the current USD value of the default market pair
-Updated the readme, settings file comments and info/api page with better verbiage regarding the market price which was previously only measured in BTC
2021-05-29 20:40:35 -06:00
joeuhren 975a34f192 Fix isses loading site in safari browser
-Safari behaves differently than other browsers and seems to require the url prefix to be present when loading external libraries to prevent CORS errors
2021-05-09 18:10:11 -06:00
joeuhren 8af8b78627 Fix network peers with no port
-Many blockchains allow you to use addnodes without a port # and it will assume the default port internally, but the explorer was failing to parse these peers because it was expecting a port. This is now fixed and will display the peer data without a port in these cases
2021-05-09 17:49:03 -06:00
joeuhren 3df1449292 Fix duplicate key error on masternode sync
-Removes the unique constraint on the 'addr' field from the masternode collection

NOTE: If you are experiencing a mongo duplicate key error while running a masternode sync, the easiest way to correct the problem is as follows:
1) #Stop the explorer
2) git pull
3) mongo
4) use explorerdb
5) db.masternodes.drop()
6) exit
7) #Restart the explorer
8) /path/to/explorer/scripts/sync.sh /path/to/node masternodes
2021-05-04 20:15:01 -06:00
joeuhren f8c008ecd4 Add support for newer Dash masternode format
-Automatically detect if using newer or older Dash masternode format and display applicable columns and data
-Added new fields 'ip_address' and 'last_paid_block' to the Masternode collection
2021-05-03 12:28:08 -06:00
joeuhren 269e51cc2d Exor theme update to v2.0.1
-Added a gradient background to the default, light and dark navbars (header and footer)
-Added a slight rounded corner effect to all applicable nav-link and poweredby elements contained within a default, light or dark navbar
2021-04-23 20:56:26 -06:00
joeuhren f948e29085 Cluster updates + add new start/stop options
-More graceful shutdown of node cluster on 'npm stop' with better cleanup of resources on exit
-Added new stop_explorer.sh script which looks up the explorer port # via settings file and closes the application running on that port # instead of saving and killing the process by pid as it did before
-Added support for pm2 and forever using 'npm run start-pm2' and 'npm run start-forever' respectively
-pm2 is automatically installed when starting with 'npm run start-pm2' if it is not already installed
-forever is automatically installed when starting with 'npm run start-forever' if it is not already installed
-Updated existing npm commands in package.json by replacing hardcoded 'node' with '$(which node)'
-/path/to/nodejs changed to /path/to/node in the /settings.json.template, /lib/settings.js and /scripts/sync.js files
-README updates:
 -Added a new 'Start/Stop the Explorer' section
 -Added PM2 instructions to the 'Start/Stop the Explorer' section
 -Moved Start/Stop Explorer instructions to the 'Start/Stop the Explorer' section
 -Moved Forever instructions to the 'Start/Stop the Explorer' section
 -/path/to/nodejs changed to /path/to/node
 -Some additional small misc fixes
2021-04-17 13:26:05 -06:00
joeuhren 24cd111e0c Add missing page-title-img 2021-04-15 19:53:37 -06:00
joeuhren b0108cf2f6 Fix broken footer stats on pages without panels
-The update_stats() function is now called again from all pages even when not displaying panels to fix an oversight with the earlier change to allow removal of panels from any page
-Reorganized the structure and order of calls within the /ext/getsummary api to allow for returning just the connection and block counts for pages that have show_panels set to false
2021-04-11 20:39:52 -06:00
joeuhren 29954f6289 Small javascript improvements
-Combined two script sections into one on the address page
-Changed the shorthand $(function() into $(document).ready() for consistency on the claim address page
2021-04-11 18:46:19 -06:00
joeuhren 2336fcda95 Add api page setting to hide/show logo 2021-04-11 16:36:56 -06:00
joeuhren f0700b65f9 Add page header/title options to all pages
-All pages (including the reward and error pages) were updated to include options for displaying a configurable page header with title, image, description and in some cases a last updated date
-The error page was restructured slightly to display a different description based on the type of error (page not found error vs problem loading page error)
-Added new setting options to the `shared_pages` setting for `page_title_image` which allows changing the page title image displayed on applicable pages and also determines whether it uses a flip/spin animation or not
-Added a collection of new `page_header` settings to all pages that control displaying the new page title + image + description and also moved the last updated date from applicable pages into this section as well
-Existing `show_last_updated` settings that were moved a level deeper into the `page_header` have been automatically mapped to the new setting location upon statup to help older installs to work better out-of-the-box
-Added new css rules to the styles.scss file to support the new page header/title options
-Added a number of new locale strings for page titles and descriptions, and moved a few locale strings around to different names internally that were already using the same naming scheme for different elements (such as api_title being moved to api_documentation for example)
-Started adding new locale strings with replacement text such as {1} and {2} that get automatically replaced with proper values when loaded to allow for locale strings that support dynamic text
-Fixed an issue with too much empty space in the page header (especially in mobile and tablet modes) when `show_panels` was set to false on any page
2021-04-10 22:22:46 -06:00
joeuhren f259742d47 Remove unused css class 'loading' 2021-04-07 12:59:42 -06:00
joeuhren ae303c8a1a Add new settings to hide/show panels on each page 2021-04-07 12:26:47 -06:00
joeuhren a3b3adb90f Add extended search settings
-Added a new `shared_pages.page_header.search.position` setting that determines where the search bar is located (valid options include the old 'below-header' and the new 'inside-header' options)
-`shared_pages.page_header.show_search` setting has been re-mapped to `shared_pages.page_header.search.enabled`
-Updated the search placeholder locale text
-Changed the Explorer menu item icon from a magnifying glass to a cubes/blocks icon
-Updated css rules to fix some small glitches and allow the new 'inside-header' search option to function
2021-04-05 12:24:48 -06:00
joeuhren ae39063252 Force header-panel height to min 25px
-This css fix helps prevent issues with top panels causing unnecessary vertical scrollbar and datatable glitches when using the non-sticky footer feature in some browsers
2021-03-30 20:24:17 -06:00
joeuhren 5262923fb0 Remove sass:compile and add prestart npm scripts
-I figure this should be changed now while it's fresh on my mind and may come in handy down the road to have the ability to auto-run 'npm update' when new packages are added and/or to more easily do any other future pre-run processing
2021-03-28 21:26:23 -06:00
joeuhren 40b6a641f5 Fix + format date/time values across entire site
-Added a new client-side library for date/time formatting: Luxon v1.26.0
-Added new date/time settings for display format, timezone (utc or local) and an option to enable alternate timezone tooltips
-All date/time values are now formatted via Luxon and displayed according to the new configurable settings
-All markets now return Trade History timestamp values as unix timestamp values formatted in seconds
2021-03-28 21:02:10 -06:00
joeuhren 9cdcfe659f Add TLS/SSL support
-Added new settings for Expresss webserver TLS/SSL options
-Added instructions to the README for running the explorer on port 80
-Added instructions to the README for setting up a secure TLS/SSL connection for the explorer
-Moved the 'CORS Support' section higher up in the README
2021-03-26 13:53:00 -06:00
joeuhren a7d1ae8d0c New settings for viewing special address pages
-Add new address_page.enable_hidden_address_view setting which controls whether the special hidden_address address page can be viewed
-Add new address_page.enable_unknown_address_view setting which controls whether the special unknown_address address page can be viewed
-route to special coinbase address is permanently disabled
2021-03-22 18:45:47 -06:00
joeuhren 1392280575 Better vout/vin unique checks 2021-03-21 19:10:30 -06:00
joeuhren 4bef1a17be Add full zksnarks tx support 2021-03-21 18:20:49 -06:00
joeuhren d2521a879f Fix broken syncLoop function 2021-03-20 17:49:05 -06:00
joeuhren 41f7500a04 Always omit special addresses from the richlist 2021-03-20 15:02:42 -06:00
joeuhren d3aeb8d3cd Improved restore backup script
-Greatly increases speed of database restore by removing the 'remove' cmds which are not only unnecessary but can be extremely time-consuming to run on large database collections while drop statements run very fast and free up everything required
2021-03-20 14:49:15 -06:00
joeuhren d7e827655e Improved delete database script
-Greatly increases speed of database deletion by removing the 'remove' cmds which are not only unnecessary but can be extremely time-consuming to run on large database collections while drop statements run very fast and free up everything required
2021-03-20 01:38:15 -06:00
joeuhren 66e3ca31e6 Add support for bitcoin P2PK scripts/txes
-Adds a tx_type field to the tx model which is typically null for "normal" transaction types, but can also display 'p2pk' for bitcoin txes which require addtional encoding to reveal the P2PKH address as well as 'zksnarks' for transactions with hidden sender or receiver data
-Additional fixes for how data is displayed when a valid wallet address cannot be found
-Includes some small updates to how zksnarks transactions display hidden sender/receiver data
2021-03-20 01:34:13 -06:00
joeuhren 20c0a382a3 Code cleanup
-Replace tabs with double-spaces
-Betting spacing and lining up of code functions
-Add missing semi-colons
-Remove extra characters and spaces where applicable
-Remove commented-out code fragments
-Add missing 2021 date to LICENSE
-Small touchups and other misc nitpickings
2021-03-17 17:54:09 -06:00
joeuhren 8304eb211d Add homepage screenshot to readme 2021-03-13 21:10:26 -07:00
joeuhren 3135d45c2e Stex market fix + update
-Fixed the 24h stats volume column which was displaying btc volume
-Added btc volume column to 24 stats
2021-03-07 18:14:38 -07:00
joeuhren 05e6710c41 Update altmarkets api to v2 2021-03-07 14:58:00 -07:00