Commit Graph

415 Commits

Author SHA1 Message Date
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
Joe Uhren 44caca42b1 Geolocation update for peer sync
-freegeoip.app now requires an api key so the peer sync has been updated to use reallyfreegeoip.org instead
-Added extra error checking to the peer sync so that it will error out when the geolocation service does not return a proper object
2022-04-30 21:27:12 -06:00
Joe Uhren d7c18a48f5 Improved (sync/backup) scripts + misc updates
-Added locks to all sync processes (blocks, markets, peers, masternodes) as well as "create backup", "restore backup" and "delete database" functions. This helps prevent problems with syncing data while a backup is in progress for example
-The code to initialize certain database collections on startup was moved into database.js and is now called from restore_backup.js and delete_database.js. This effectively allows the database to be deleted or restored to a completely different backup while the explorer is still running
-Lock functions (create_lock, remove_lock, is_locked) were moved into explorer.js for better reusability and rewriten to be synchronous
-is_locked function now accepts an array of lock files to be able to check for multiple locks in a single call
-remove_sync_message() function was moved into database.js so that restore_backup.js and delete_database.js can also check for and remove the sync msg if it exists
-Useful Scripts section updated in the README to make it clear that the explorer no longer needs to be stopped for these scripts to be run
-Most if not all log messages now start with a capitlal letter
2022-04-30 20:53:10 -06:00
Joe Uhren 8e32e294b7 Cross-platform support (Win, MacOS, Linux)
-All shell scripts have been removed and replaced with javascript equivalents which allows for better platform independence
-All scripts have been improved over the older shell scripts to be more functional and dynamic
-Updated all applicable cmds in the package.json to target the new js scripts + added the backup, restore and delete database functions to the list
-Removed the json and strip-json-comments-cli packages as they are no longer needed
-Added a new package realine-sync
-Updated cluster code with better Windows support when shutting down the explorer
-Backup and Restore scripts now use mongo's own encryption instead of tar.gz by default. Older tar.gz backups can still be restored as long as the tar.gz suffix is explicitly added
-Backup and Restore scripts now support connecting to remote database based on the mongo details in settings.json
-Updated README to include a new line for the 'platform independence' feature, updated script cmds and notes about certain steps being Linux only
2022-04-23 11:28:32 -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 f4f569a5db Remove duplicate show_panels settings 2022-04-10 23:15:28 -06:00
Joe Uhren 61595a1ba6 Index/Update improvement
-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 19:38:21 -06:00
Joe Uhren 835a83283f Fix and move heavycoin update
-update_heavy has been moved into a proper callback function which is now only called for index and reindex syncs right near the end of the process instead of at the beginning
2022-03-19 19:27:17 -06:00
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