Commit Graph

347 Commits

Author SHA1 Message Date
Joe Uhren ace3f52543 Fix Deprecation Warning msg for applicable themes
-The Flatly, Litera and Solar themes have been updated by removing some duplicate text that caused a number of deprecation msgs to appear when starting the explorer
2023-05-06 19:03: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 208187c293 Fix confirmations value in gettx api 2023-03-03 15:20:33 -07:00
Joe Uhren 4047587990 Fix strictQuery warning from new mongoose versions
-Suppress the "DeprecationWarning: Mongoose: the `strictQuery` option will be switched back to `false` by default in Mongoose 7" warning msg when starting the explorer and using any of the scripts that connect to mongo
2022-12-16 19:17:37 -07: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 6078cd8733 Add sorting by protocol to get_peers function
-Small change to help sort the peers list a bit better when filtering ports so that lower protocols drop off the list if there are multiple connections from the same ip with different protocols
2022-09-22 16:54:56 -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 ed96eb78a1 Fix peer sync for addresses without country data
-Removed the check for country and country_code since not all ip addresses have country information and can cause a peer drop loop as a result
-Updated the error msg text when port data is not found for existing peers
2022-08-10 19:09:28 -06:00
Joe Uhren dbe0238587 Add Unnamed exchange to markets 2022-08-07 17:19:51 -06:00
Joe Uhren e76461db7d Fix divide by zero when calculating market change 2022-07-24 19:19:31 -06:00
Joe Uhren 07968c52eb Add Txbit exchange to markets
-Also updated the comments for some of the other markets in the settings.js and settings.json.template files
2022-07-24 19:06:26 -06:00
Joe Uhren 1178038710 Better handling of stop/kill sync processes
-The SIGINT and SIGTERM signals are now being caught and handled in the sync.js file so that most options for syncing blocks, markets, peers, masternodes, etc. are now being gracefully shut down instead of killed in the middle of the process. This should help prevent data anomalies when you need to stop or kill a sync process
-The update_tx_db function was moved from the database.js file into the sync.js file so that block syncs can now be gracefully stopped. The update_tx_db function was also copied to the benchmark.js
-The save_tx function was moved into the module.exports for the database.js file so that it can now be called from outside the database.js file
2022-07-17 16:49:02 -06:00
Joe Uhren bfbc50beda Add support for vin/vout hashes inside an array
-Some blockchains store certain vin or vout addresses within an array instead of as a simple string which would cause them to be read improperly by the explorer and result in transactions that were not attributed to the proper address. It also caused multiple inputs/outputs from the same address in a single transaction to not be grouped together like other transactions in the explorer
2022-07-17 14:28:58 -06:00
Joe Uhren 58bd8ffec8 Update website screenshot for readme 2022-07-09 20:25:10 -06:00
Joe Uhren 42a59abac2 Version bump to v1.101.0 + update UPGRADE file 2022-07-09 19:33:58 -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 e7fcc64e12 Rename header_logo.png to header-logo.png 2022-07-09 14:23:34 -06:00
Joe Uhren 27c29efb81 Add new arguments to the update script
-Use the cmd `npm run update-explorer "explorer-only"` to update the explorer code only, without checking for out-of-date dependencies
-Use the cmd `npm run update-explorer "dependencies-only"` to update outdated dependencies only, without checking for explorer code updates
-Updated the README with the 2 new script arguments
2022-07-09 13:53:33 -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 5843b5d442 Fix for installs with spaces in the absolute path
-If the explorer is installed to a directory that has a space character somewhere in the absolute path, the locking mechanism will not work correctly on non-windows computers and will cause undesired behavior without this fix
2022-07-03 20:00:07 -06:00
Joe Uhren bae4d50087 Various core improvements and easier updating
-The update_explorer.js script has been improved with better spacing and the ability to restart the explorer automatically to ensure new changes take effect immidiately (works with npm start, pm2 and forever)
-The code to compile scss to css has been moved from the prestart script into its own compile_css.js script which is now called from the update-explorer.js script to apply css changes after update
-The cluster code now handles a custom restart msg which is used to restart the explorer from the update explorer process
-Pm2 and Forever are now referenced by the name 'explorer' instead of ./bin/instance or ./bin/cluster [SEE IMPORTANT NOTE BELOW]
-Added reload/restart scripts to the package.json for pm2 and forever
-Pm2 and forever now write a pid file to the tmp directory when started. NOTE: Forever is now started from the prestart script due to a bug in forever that prevents the pid from being written to a different directory without the absolute path
-Fixed a bug which caused the prestart script to be run twice when starting the explorer with `npm start`
-The cluster code now accepts a numeric argument to force a specific number of instances to be loaded
-The `npm run start-instance` cmd now loads using the cluster code with a single instance
-The is_locked function now accepts an optional 'silent' argument to prevent displaying msgs while checking for pid/lock files
-Added some process.exit statements to the stop_explorer.js file
-Updated the README with cmd changes from package.json and updated description of the "Update Explorer Script"

IMPORTANT NOTE: It is strongly recommended to stop the explorer before performing this update. If the explorer is running while you perform this update, you will need to stop and restart the explorer for this update to fully take effect. Because of the changes in this commit, stopping the explorer using the built-in pm2 and/or forever stop cmds will not work and you will need to type out the full stop cmd this one time only, and going forward from now on you should no longer need to even stop the explorer for any update as it is now built into the update cmd.

If running using pm2 and you cannot stop the explorer, you can use stop using the following full cmd syntax:

Windows:
pm2 stop ./bin/instance

Linux and other OS's:
node node_modules/pm2/bin/pm2 stop ./bin/instance

If running using forever and you cannot stop the explorer, you can use stop using the following full cmd syntax:

All OS's:
node node_modules/forever/bin/forever stop ./bin/cluster
2022-07-03 19: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 fb5ce795fa Add Dex-Trade exchange to markets 2022-06-27 18:55:12 -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 c64cc24e04 Add support for getblockchaininfo rpc cmd
-sync.supply setting now allows getting moneysupply from getblockchaininfo cmd
-README updated with info abour getblockchaininfo cmd
2022-06-24 21:12:35 -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 40d367510d Better special char support for mongo user/pass
-URL encoding the mongo username and password helps prevent connection issues when using certain special characters such as % or @ for example
2022-06-13 19:37:48 -06:00
Joe Uhren d838970d66 Add "bind EACCES" error msg to known issues 2022-06-13 19:20:28 -06:00
Joe Uhren d973979b62 Use newer production flag for initial install 2022-06-12 19:55:37 -06:00
Joe Uhren 0ad940c8e4 Package.json updates
-Added pm2 and forever to the dev dependencies list to help prevent package.json from being automatically updated/changed in production which could make `git pull` fail due to the changes
-Both dependencies and dev dependencies sections have been sorted alphabetically to also help prevent auto package.json changes
-All dependency version numbers have been updated to the latest versions as of today

NOTE: You can run the following cmd if you are having troubles running `npm run update-explorer` or `git pull` due to uncommitted changes to package.json:
git restore package.json
2022-06-12 19:36:17 -06:00
Joe Uhren d062fba973 Remove custom request user-agent strings 2022-06-04 16:27:18 -06:00
Joe Uhren 2841f67b94 Fix crex24 market chart
-Chart data was pulling the last 100 trades within 15m intervals but was often returning data well beyond the 24h time period and could lead to some unreadable/unusable charts
2022-06-04 16:07:45 -06:00
Joe Uhren bf1781af29 Rename homepage screenshot to prevent caching 2022-06-03 19:48:01 -06:00
Joe Uhren 22e3003bb3 Update website screenshot for readme 2022-06-03 19:42:56 -06:00
Joe Uhren e1a73362ef Version bump to v1.100.0 + update UPGRADE file 2022-05-29 15:49: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 bdae838d62 More README changes
-Added a few badges to the top of the README (version, release date, last commit, platform and license)
-Added a new svg image as a README badge for platform support
-Moved the "Special Thanks" section closer to the bottom of the README and added a link to it in the TOC
-Removed the "Open Bounty Program" section
-Added a "Premium Support" section
-Updated the pre-install instructions
-Replaced the broken "Iquidus Block Explorer Setup Guide" link with another guide called "Beginners Guide for Iquidus Explorer Setup" and re-added "The Ultimate Iquidus Explorer Installation Guide" from WayBackMachine
-"How You Can Support Us" section renamed to "Donations / Support Us"
-Rewrote some of the text for the "Donations / Support Us" section
2022-05-02 20:24:29 -06:00
Joe Uhren 53db9185f8 Small README change to "Delete Database" section 2022-05-01 15:04:11 -06:00
Joe Uhren f113fde981 Add update-explorer script
-Added new script to A) grab the latest code form github, B) update all dependencies, and C) run the database initialize function to ensure new changes take effect immidiately
-Updated README to explain the new explorer update function
2022-05-01 15:00:34 -06:00