Commit Graph

198 Commits

Author SHA1 Message Date
davide f4c47a72ac Fix hashrate chart: auto-scale tooltip units, remove green block lines
- layout.pug: formatNetworkChartValue now calls scaleFromGH() for
  Hashrate labels instead of appending the fixed (GH/s) unit, so
  tooltip values match the Y-axis auto-scaled unit (MH/s…PH/s)
- custom.js: promote HASH_UNITS and scaleFromGH to global scope so
  layout.pug inline scripts can reuse them; fix unused 'mutations' param
- settings.json.tmpl: disable block_line on both charts (was green
  rgba(0,128,0)); color updated to purple rgba(120,60,220,0.25)
2026-04-29 22:21:07 +02:00
Joe Uhren c239f129cf Add an "Extracted By" field for block and tx data
-An optional "Extracted By" column can now be added to the homepage tx data, the block page, tx page and/or in the /ext/getlasttxs api
-Added 4 new settings to allow displaying the "Extracted By" data on the homepage, block page, transaction page and/or in the /ext/getlasttxs api
-Fixed an issue with the get_txs function where it wasn't properly searching by txid
-The rl_labels.pug file has been updated to consolidate similar code without being duplicated
-Updated the README with new verbiage for the extracted by data
2025-03-02 16:37:52 -07:00
Joe Uhren 1909def4aa Fix missing document ready check on resize 2024-12-28 19:28:46 -07:00
Joe Uhren 45a929b254 Tons of network chart improvements and changes
-Chart.js has been updated to v4.4.7
-The chartjs-plugin-crosshair chart plugin has been updated to v2.0.5 via a forked version that has a working sync feature which is now available as a new setting option for use with the network charts
-Added a new max_hours setting to display chart data for a certain number of hours instead of a fixed set of records which can help reveal holes in the sync process for the explorer and/or blockchain
-Added a new timestamp field to the network history collection for use with the max_hours setting chart data
-Added a number of new network chart settings to control display of the chart title, legend, a new vertical block line option, chart height, an option to force 2 charts to appear on their own row or beside each other, and an option to force a chart to take up all available space in the chart box without extra padding
-Added a new dependency chartjs-plugin-annotation v3.1.0 to display block lines in new hourly charts
2024-12-28 19:22:38 -07:00
Joe Uhren d15b4f8b51 Merge pull request #46 from Rudra644/patch-1
Improved logo panel spacing on small screens
2024-09-19 20:57:03 -06:00
Joe Uhren 7177742f54 Improved logo panel spacing on small screens 2024-09-19 20:54:25 -06:00
Joe Uhren 6ca583cb2a Update defunct polyfill script to v4.8.0 2024-07-22 21:32:15 -06:00
Joe Uhren e884895291 Add version # to the header of all pages 2024-07-22 21:21:34 -06:00
Nakul Kaul f1b29df009 Improve layout consistency and logo alignment (layout.pug)
* Adjusted top and bottom margins for consistent card spacing:
    - Removed unnecessary top margin (-15px) on cards.
    - Added 10px bottom margin to Logo Card for alignment with other cards.

* Optimized Logo size for better block card alignment:
    - Reduced Logo height from 128px to 96px for proper vertical positioning.

These changes ensure a more uniform and visually appealing layout across all card components.
2024-06-26 14:33:04 +05:30
Joe Uhren 788454051c Add preliminary plugin support
-Plugins can now be enabled via settings.json after dropping the plugin files into the new plugins directory
-Enabling plugins will allow extending the normal functionality of the explorer with new database collections, menus, pages and apis + open up a new url for data to be sent from the plugin to the explorer
-A new plugins section was added to the settings with a definition for the generic-snapshots plugin
-Locale strings are now loaded and shared out via the settings so there is generally no more need to explicitly include the locale.js file
-The locale object has been updated to localization within the explorer
-A number of new locale strings have been added and their values replaced with the locale string within the explorer
-Added plugin support verbiage and a link to the generic-snapshots crowdfunding task to the README
2024-06-16 18:58:12 -06:00
Joe Uhren 7ebdb5e868 Fix summary cache issue on pages with top panels
-Sometimes the summary info would get cached and display the wrong data. It was especially noticable on pages with top panels when using the browser back button to return to a page and the data would not load correctly
2024-05-10 15:10:47 -06:00
Joe Uhren cfe60be3cf Reset hCaptcha after submit claim address form 2024-03-20 19:44:05 -06:00
Joe Uhren 9c57b4b37a Claim address page security improvements
-Removed the ability to claim an address that has 0 transactions
-The "Claim" button is now disabled after submitting to help prevent double submissions
2024-03-20 19:36:16 -06:00
Joe Uhren cf9dce3449 Add multiple captcha options for form submission
-Supported captchas include Google reCaptcha v3 (score-based), Google reCaptcha v2 (checkbox and invisible) and hCaptcha ("Always Challenge" mode)
-Captcha options are global to the explorer even though the only form submission page is the "Claim Address" feature which takes full advantage of the new captcha options
2024-03-20 18:20:03 -06:00
Joe Uhren e0b01e97ac Fix js error when resize screen before page loads 2024-02-06 20:25:12 -07:00
Joe Uhren d86beee960 Add new settings to save+display multi-algo data
-New settings allow reading of the hash algorithm used to mine a particular block for coins that support this feature and have the algorithm data stored in the raw block data
-An "Algorithm" column has been added to the block page and main transaction homepage when multi-algo data is enabled
-The /ext/getlasttxs api will now return the hash algorithm if reading of the multi-algo data is enabled
2024-02-06 19:44:11 -07:00
Joe Uhren 4e032c0e49 Fix masternode page columns after table is loaded 2024-02-02 15:35:04 -07:00
Joe Uhren dace981d6a Masternode improvements
-Added support for a couple masternode list and count formats that do not have a separate fieldname for each value
-Masternode grid columns are now shown or hidden based on whether there is any data
2024-02-02 15:21:45 -07:00
Joe Uhren f57db7c033 Better sidebar placement on page load 2024-01-09 18:41:41 -07:00
Joe Uhren 65c48ea829 Added market sync options: average and coingecko
-The previous market price calculation setting was hardcoded to only display market and USD prices for a single exchange and trading pair which was not very accurate for coins listed on multiple exchanges or with multiple trading pairs. The new default is to average the market prices for all supported exchanges and trading pairs
-The coingecko market price option was added to allow fetching the market price directly from the coingecko api instead of calculating it via supported exchanges known to the explorer
-Added a new root setting option for default_coingecko_ids which allows presetting symbols to their associated internal coingecko id to help prevent matching to the wrong currency with same symbol via coingecko api calls
-Fixed an issue where the explorer would fail to start with an enabled exchange that had no defined trading pairs
2024-01-05 00:47:22 -07:00
Joe Uhren accf9a981d Added an optional USD market cap panel
-New settings for the USD market cap panel were added to the config options
2023-12-27 13:29:33 -07:00
Joe Uhren 8276f28841 Added an optional USD price panel
-New settings for the USD price panel were added to the config options
-Added USD price to the getsummary API
2023-12-27 13:28:17 -07:00
Joe Uhren 7ce3b5477e Optimized global client-side javascript code
-Javascript in the layout.pug has been moved around in an attempt to only load code into the client based on certain settings such as the type of menu (side or top) in order to slim down the loading of pages by not including unnecessary code
-Fixed a bug on the richlist page where the last updated date and logo spinning animation would fail to load if the distribution chart was disabled in the settings
-The .ext/getsummary api has been modified to only return the connection and block counts when necessary
-The getmasternodecount rpc api will no longer fetch data unless it is enabled in settings
2023-11-03 18:42:34 -06:00
Joe Uhren 5ca9602c74 Side menu improvements
-The side menu toggle button is now an anchor tag instead of a div and no longer moves the search box when opening/closing the menu
-Added a fix for opening/closing the side menu when the browser window is zoomed in or out which didn't always work properly in all browsers earlier
2023-10-28 15:46:15 -06:00
Joe Uhren 58576b22d6 Core script and library updates
-jQuery has been updated to v3.7.1
-Luxon has been updated to v3.4.3. Also updated the link to the documentation showing how to format dates in the settings.json.template and settings.js
-Datatables has been updated to v1.13.6
-Font Awesome has been updated to v6.4.2 and all icons in the project have been updated to use the newest v6.x codes
-OverlayScrollbars has been updated to v2.3.2
-flag-icons (previously called flag-icon-css) has been updated to v6.11.1
-Updated the main style.scss file with better color support for the new datatable loading animation color
-Exor theme has been updated to v3.0.2 with a small fix to support the new datatable loading animation color
2023-10-19 20:26:27 -06:00
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