Commit Graph

173 Commits

Author SHA1 Message Date
Joe Uhren f5d4d4478d Smoother claim instruction behavior on open/close 2023-10-11 19:32:26 -06:00
Joe Uhren 74c85a4df3 Chart and graph improvements
-jqPlot has been completely removed and replaced with chart.js on all remaining charts and graphs (richlist pie chart and market candlestick chart)
-chart.js has been updated to v4.4.0
-chartjs-plugin-crosshair has been updated to v2.0.0
-Added 2 new small libraries to enable the chart.js candlestick chart: chartjs-chart-financial v0.1.1 and chartjs-adapter-luxon v1.3.1
2023-10-09 19:28:42 -06:00
Joe Uhren 3dca953980 Added ECMAScript Internationalization API support
-Most modern browsers already have ECMAScript Internationalization API support built-in, but many older browsers do not. For these unsupported browsers, Luxon would fail to load the formatted dates on many of the explorer pages which would cause a cascading effect of not loading other data leading to a broken experience. A polyfilled version of Intl.js is now being loaded into the site which will only be downloaded when using a browser that does not already have Internationalization API support
2023-09-29 21:46:45 -06:00
Joe Uhren 09cf474562 Moved claim address data into its own collection
-Created a new claimaddress collection to hold claim address data to make it easier to work with and preserve that data if necessary in the future without being cluttered into the address collection
-The database init function has been updated to move claim address data to the new collection and remove the data from the address collection. This process will update existing explorer databases automatically and is smart enough to only run this process one time to prevent from slowing down startup of the explorer on each run
-The claim name field has been changed from "name" to "claim_name" wherever possible to be easier to find in the future. Searching for the keyword "name" brings back way too many matches and makes it difficult to find all the correct code snippets for future changes
-Added a newer_claim_address field to the stats collection to determine if the claim address data needs to be moved to the new collection or not
-All previous claim address code has been updated to pull from the new table and/or join to the address table if/when necessary
2023-09-26 18:22:28 -06:00
Joe Uhren cf6732f70f Renamed 1st Protocol masternode column to Network
-The ip address type masternode column has been renamed from Protocol to Network to prevent confusion with the other Protocol column used for the wallet protocol version number
2023-09-23 17:55:26 -06:00
Joe Uhren 096364adc8 Auto-update last updated date on applicable pages
-The index and movement pages auto-refresh the list of transactions but the last updated dates were not updated until the page was reloaded. This has been changed so that the last updated date now also auto-refreshes along with the table data
2023-09-17 17:09:37 -06:00
Joe Uhren eec0efa25c Added support for top panel spacers
-3 panel spacer options have been added to the page header panel config to allow for different spacing configurations if desired
2023-08-19 16:24:03 -06:00
Joe Uhren f6ebb89f27 "Powered By" footer text is now configurable
-Added a new "powered_by_text" option to the page_footer settings which can be used to override the text in the middle of the footer without the need to modify the source code
-The word "Explorer" was removed from the powered by text for new installs
2023-05-10 19:22:16 -06:00
Joe Uhren 813fe72471 Better handling of null market data 2023-05-08 20:08:45 -06:00
Joe Uhren 7f6c58525c Better quote support for coin name and symbol
-Fixed some javascript errors with using quotes in the coin.name and coin.symbol settings which effectively broke certain functions in the explorer
2023-05-06 18:16:47 -06:00
Joe Uhren 09fa919686 Orphan block fix + other misc improvements
-The block sync will now remove orphaned block data from the txes collecton,  address balances/sent/received data as well as addresstx data and now stores limited info in a new orphans collection
-Added a new optional page for viewing orphaned block data
-The coinbase address now updates sent totals from POS rewards and other transactions that have vout but no vin addresses
-Block and transaction pages now display a warning when viewing an orphaned block or tx
-Added a couple new fields to the coinstats collection for tracking orphaned blocks
-Added new locale strings for the orphaned block feature
2023-05-06 12:36:35 -06:00
Joe Uhren ac10031bf8 Add options to round decimals for network charts
-New options to set max decimals for network (nethash and difficulty) charts
-Restored the number formatting with commas for numbers larger than 1000
2022-10-15 14:32:38 -06:00
Joe Uhren de25461494 Improve network chart precision
-Chart.js numbers are rounded to 3 decimals by default. This fix uses the raw value instead of the formatted number for display on the network hashrate and difficulty charts so that low numbers like 0.00028363 are displayed properly instead of being rounded to 0
2022-10-14 13:13:46 -06:00
Joe Uhren 03f62a22dc Remove jstransformer-markdown-it dependency
-jstransformer-markdown-it was barely being used and its use as a dependency just isn't justified, so it has been removed
-The network page was the only place where the markup plugin was used so the text was rewritten to no longer use the plugin
2022-09-22 19:50:52 -06:00
Joe Uhren 7bbd8d80b4 Hide protocols before filter ports on network page
-Moved the code around for filtering ports and protocols on the network page to prevent filtering too aggressively when there are multipl entries for an ip address in which the 1st record for a given ip happens to be on a protocol that will be filtered
2022-09-22 16:43:01 -06:00
Joe Uhren 408df1c9c9 port_filter option now allows hiding port
-The port_filter settings for all 3 network page tables now support a -1 value which will completely hide the port from the associated table. If there are/were multiple ip addresses in the peers list with connections from different ports, this new option will consolidate those multiple records into a single entry since the port is no longer visible
2022-09-22 16:27:39 -06:00
Joe Uhren a4363d1a98 Prevent scrolling on side menu close button click 2022-09-22 14:43:04 -06:00
Joe Uhren a38284f2ae Fix footer width calculations
-The footer was being resized at the wrong width breakpoints because of an issue with determining the current width of the screen. If you had previously fine-tuned your page_footer.footer_height_xxx and page_footer.social_link_percent_height_xxx options, they may need to be readjusted to account for the new proper width breakpoints after this fix is applied
2022-09-18 17:00:17 -06:00
Joe Uhren 261c2b6d1d Add side menu support + other core layout changes
-A new side menu option was added for displaying menu items vertically on the left-hand side of the page
-Added a new script called OverlayScrollbars v1.13.3 for displaying custom scrollbars on the mobile menu (both top and side menu) in the event that they extend beyond the visible screen
-Updated the market menu dropdown colors to better match the base menu colors (default, light and dark colors only)
-Updated the Exor theme to v3.0.1 with a few small fixes for displaying menu items in the side menu and updated market dropdown colors
-Updated how the richlist pie chart is sized to prevent it from creating unnecessary scrollbars because of the side menu
-Search field and button are now hidden in the top menu when the mobile menu is expanded to make it easier to scroll through menu items
-Added a tooltip title to the top menu search and menu toggler buttons
2022-09-17 22:02:00 -06:00
Joe Uhren e76461db7d Fix divide by zero when calculating market change 2022-07-24 19:19:31 -06:00
Joe Uhren 41a62c9a29 Block/Transaction text updates
-Locale string tx_hash was changed from "Hash" to "Tx Hash" to be clearer about which Hash it refers to
-TXid was renamed to "Tx Hash" throughout the site
-Removed the coin name from the tx hash label on the transaction page
-Removed the coin name from the block hash label on the block page and changed the text "block" to "Block Hash"
2022-07-09 16:23:57 -06:00
Joe Uhren e5d4c639d3 Add custom javascript file
-The custom.js file can be used to add custom javascript code without affecting the ability to do a git pull update
-Added a quick explanation of using the custom.js file in the "Configure Explorer Settings" section of the README
2022-07-06 21:50:00 -06:00
Joe Uhren 4681fa1e65 Network addnode table updates
-Added "copy to clipboard" buttons to addnode tables
-Addnode table data no longer wraps onto multiple lines when the data cannot fit on the screen
2022-07-06 21:10:01 -06:00
Joe Uhren 82abe8a675 Add missing error page title 2022-07-03 20:13:50 -06:00
Joe Uhren 8fa337f6f9 Network peer updates
-Added a new port_filter setting to the 3 network_page tables which allows showing only results from peers on the selected port
-Added a new hide_protocols setting to the 3 network_page tables which allows hiding results from peers on the selected protocols
-Added a Port column to the data table on the Network page Connections tab
-The data table on the Network page Connections tab is now sortable
-The peer sync now refreshes data for peers that existed since last sync
-Adding and updating peers now displays the port # in the log output
-The /ext/getnetworkpeers api is now sorted by ip4/ip6, address and port which also means all data on the Network page is sorted this way by default as well
-The /ext/getnetworkpeers api no longer requires the internal argument for calls originating from the Network page
-The Network page now only makes a single call to the /ext/getnetworkpeers api instead of 3 calls
-The find_peer and drop_peer functions now requiresa port to distinguish between multiple connections to the same peer on different ports
2022-07-01 21:11:57 -06:00
Joe Uhren 2584fbda2a Fix favicon path on pages with more than 1 slash 2022-06-26 21:02:29 -06:00
Joe Uhren c4c09905bf Add FreiExchange/FreiXLite exchange to markets
-This exchange has 2 separate sites using the same api, so new functionality was added to the explorer to handle alt markets like this
-market files now allow for new field names: "market_name_alt" was added for the alternate market name, "market_logo_alt" was added for displaying an alternate logo, a "market_url" function was added that will return a url string to replace the {url_prefix} code in the market_url_template and an "isAlt" function was added to determine if the alt name/logo should be used
-A new freiexchange entry was added to the markets_page.exchanges setting
-Updated the README with the updated market info
2022-06-26 20:48:13 -06:00
Joe Uhren 57b6dd72a9 Fix network difficulty chart for hybrid coins
-Difficulty chart would fail to populate if the shared_pages.difficulty setting was 'Hybrid' and is now handled properly. The chart now supports 2 datasets: POW and POS
-NetworkHistory.difficulty field was renamed to difficulty_pow and a new difficulty_pos field was added
-The shared_pages.page_header.network_charts.difficulty_chart.line_color setting was renamed to pow_line_color
-The shared_pages.page_header.network_charts.difficulty_chart.fill_color setting was renamed to pow_fill_color

NOTE: If you have existing NetworkHistory data from before this update, it will be automatically assumed to be POW. If it was actualy POS, you will need to either manually fix the data in mongo or simply wait a couple hours while syncing to eventually push the old data out of the chart
2022-06-24 19:43:02 -06:00
Joe Uhren 9df2bf4024 Favicon updated to use 4 different sizes
-Instead of using a single file for the favicon, there are now 4 size options for a more modern favicon experience as inspired by this article: https://www.emergeinteractive.com/insights/detail/The-Essentials-of-FavIcons/
-Old default favicon file has been replaced with 4 different sized pngs
-Not all sizes need to be set. If any of the new settings are left blank or the filename does not exist, that favicon size will be skipped
2022-06-18 14:19:52 -06:00
Joe Uhren 2d976eaf59 Add custom stylesheet
-The custom.scss file can be used to add custom css changes without affecting the ability to do a git pull update
-Added a quick explanation of using the custom.scss file in the "Configure Explorer Settings" section of the README
2022-05-15 21:28:11 -06:00
Joe Uhren 5eeb6ed0c0 Add link to exchange on markets page
-Added new setting 'show_exchange_url' which hides/shows the exchange link
-Updated all exchanges with a trade url template which can be used to automatically determine the correct url for each trading pair
2022-04-12 13:34:18 -06:00
Joe Uhren 6d3bceb4df Add git commit id to end of explorer version 2022-04-11 14:43:02 -06:00
Joe Uhren e9cf83517f Fix ipv6 addnodes on network page 2022-04-11 13:18:48 -06:00
Joe Uhren aa1765d8d9 Add 2 network charts to page header
-Hashrate chart is populated from get_hashrate
-Difficulty chart is populated from get_difficulty
-Added a networkhistories collection to hold the new network data
-Index sync and resync functions now check for and update network history data at the end of the sync process
-restore_backup.sh and delete_database.sh scripts now drop the new networkhistories collection
-Added a new javascript library chartjs-plugin-crosshair which adds crosshair functionality to the new chart.js line charts
-Added new settings to settings.json for controlling things like collecting network_history data, independently enabling/disabling the network charts and changing colors of various aspects of the charts
-Updated README to introduce the network charts and added a line for the chartjs-plugin-crosshair library
2022-04-11 01:37:27 -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 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 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
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 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 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