Commit Graph

411 Commits

Author SHA1 Message Date
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 5d960ceea7 Fix market sync crash for invalid default pair
-The market sync could crash when calculating the USD price if the base pair of the markets_page.default_exchange.trading_pair value was not found in coingecko's vs_currencies list from https://api.coingecko.com/api/v3/simple/supported_vs_currencies (for example, using USDT as the default base pair). A different calculation is now used in this case which does not require any additional api credits to be used.
2024-03-03 20:04:58 -07:00
Joe Uhren 328076cbbe Fix yobit url in README 2024-02-26 19:45:45 -07:00
Joe Uhren cbb9155f3f Remove defunct exchange SouthXchange 2024-02-26 19:44:32 -07:00
Joe Uhren 81e6bebe6f Add OHLCV chart support for xeggex market 2024-02-26 19:33:29 -07:00
Joe Uhren 8a40dc2663 Merge pull request #42 from gdiscord/master
Added support for Nonkyc exchange
2024-02-26 19:00:39 -07:00
Joe Uhren 3d141dab92 Nonkyc market improvements
-Added OHLCV chart support
-Lined up some of the config code better
-Updated count of supported exchanges in the README
2024-02-26 18:58:19 -07:00
gdiscord f92cdfc4ca Added support for Nonkyc exchange
Nonkyc is practically same as Xeggex.
2024-02-09 16:57:01 +00: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 860209a5f9 Fix an issue with invalid masternode count
-This fix prevents an error from being thrown that crashes the explorer when trying to use a masternode count that is a sinlge number. A single number masternode count is not valid or usable since it cannot differentiate the number of good and bad nodes, but the explorer will no longer crash when given this data
2024-02-03 08:56:40 -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 ba518b4104 Remove defunct exchange bittrex 2024-01-06 13:53:54 -07:00
Joe Uhren d34be922be README updates
-Changed sample crontab from 2 to 5 minute intervals for the market sync since the coingecko api will soon force free users to the keyed api which only allows making 1 api call every 5 minutes without running out of credits for the month
-Updated all links to the Exor crowfunding / task list page with newer urls
2024-01-05 16:25:05 -07:00
Joe Uhren 9851e2ce9d Added a coingecko api key option
-As of Feb 2024 the free "keyless" coingecko api will be deprecated and will likely stop working. There is a free demo api key that can be used which can now be plugged into the explorer settings to allow the coingecko api to continue working. Read more here: https://support.coingecko.com/hc/en-us/articles/21880397454233
2024-01-05 14:55:34 -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 ed8d7a5964 Update mongoose dependency to 8.x
-A couple small fixes were applied to the database.js to change the alias of findOneAndRemove to findOneAndDelete to fix breaking changes
2023-12-27 17:08:24 -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 c03178ef86 README updates
-Added a crowdfunding section
-Split off the contact info into its own "Developer Contact" section and added a link to the "Premium Support" section
-Updated recommended versions for Node.js and MongoDB
-Updated the MongoDB install instructions for ubunutu 22.04 for the newest 7.x series of MongoDB
-Added some new options to the "Donations / Support Us" section
2023-11-04 17:50:05 -06: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 9392187eed More market fixes
-Fixed a bug with the freiexchange pair volume value when paired with LTC
-Added a default value of zero for many of the fields for each market in the event that the data returned for a particular field is not numeric
2023-10-27 19:29:01 -06:00
Joe Uhren 74ca66d44e Market improvements
-All external market apis have been normalized with a similar coding format, improved error handling with new wait times in between api calls to prevent abuse issues with sending too many requests too quickly
-All general market code has been reviewed and improved where necessary to help prevent sync issues
-Inactive markets are now removed from the markets collection on startup of the explorer to help prevent bloating the database
-The yobit api url has been changed to the new url
-The poloniex market has been updated to use the newest api
-The southxchange exchange trading link has been changed to the new url
-Miscellaneous locale string changes and reorganization
2023-10-27 18:33:52 -06:00
Joe Uhren 83d7f4b182 Fix for sketchy theme markets page
-Before this fix, using the sketchy theme with the dark background table color would cause the Market > Buy/Sell order table data to have a black background which was pretty much unreadable
2023-10-19 20:30:49 -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 b3eda54981 Market/Exchange cleanup
-The following defunct exchanges have been removed: bleutrade, crex24, txbit and unnamed
2023-10-11 18:56:11 -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 7349560bfa Reindex and delete-database script improvements
-The delete-database script now checks the claimaddresses collection for data and if at least 1 record exists, it will ask an additional question to see if you want to preserve that data or delete everything
-The delete-database script now issues the prompt for the reindex with a slightly different msg than the delete without reindex
-The prompt for deleting now happens after the locks have been properly checked
2023-10-01 19:10:52 -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 e436b9bee4 Prevent highlighting of footer icon images 2023-09-29 17:34:53 -06:00
Joe Uhren ef1f520c82 Refactored the routes index.js code
-The index.js code has been reduced from 895 to 701 lines of code which also cuts down the file size from 39KB to 26KB in size while still retaining the same functionality as before
2023-09-29 15:57:51 -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 119cf3e2c6 Reindex improvements
-Reindex now calls the delete-databse.js script which is much faster and more complete than the previous manual delete code the resync used to use
-The delete-database.js script now accepts a parameter that suppresses the delete prompt when being called from the resync process
-Reindex and normal block sync now reuse the same block sync code
-Reworked the sync script to no longer require the readline-sync dependency
-The readline-sync dependency has been completely removed from package.json since it is no longer used
2023-09-23 17:39:50 -06:00
Joe Uhren f30e34adbb Merge pull request #34 from sudormdir/master
Add Xeggex exchange to markets
2023-09-19 20:59:50 -06:00
Joe Uhren 69046e4261 Xeggex market improvements 2023-09-19 20:53:30 -06:00
sudormdir 46e590d845 Update settings.js 2023-09-19 02:18:11 -05:00
sudormdir 6554e7ddda Update settings.json.template 2023-09-19 02:16:43 -05:00
sudormdir 1c1fde39d9 Add Xeggex support 2023-09-19 02:11:12 -05:00
Joe Uhren 2df86b73f3 Update mongodb dependency to 6.x
-Although the explorer still seems to work fine with older node.js versions, the mongodb 6.x docs indicate that the minimum supported version is v16.20.1 and therefore the explorer has been updated to also enforce this as the min version to help prevent future problems
-A small fix was applied to the prestart script that was previously not stopping execution of the explorer when an older version of node.js was found. This was bug only affected running the explorer with `npm start`
2023-09-17 17:40:22 -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 d85390e4c2 Initialize db during update
-The initialize_data_startup() function is now being called in the update_explorer script to ensure that new changes to the database structure are automaticaly run after the explorer code is updated
2023-09-17 16:07:04 -06:00
Joe Uhren fd4ccb6c8f Fix pm2 + forever detection for npm 9.7.2+
-npm 9.7.2 added better color support detection which effectively broke the explorer's detection of whether pm2 or forever modules are installed due to extra color codes in the `npm list` output. This has been corrected so that pm2 and forever are now detected properly on newer and older npm versions
2023-08-20 21:01:06 -06:00
Joe Uhren 8bcb995728 Cluster + instance improvements
-Moved the database initialize call out of the instance code into the prestart script so that it is now only called once when you start the explorer even if you are running multiple cpus/threads
-The database connection function now uses the default connection string in the event a connection string is not supplied
-Removed unused reference to lib/explorer.js code from the cluster file
2023-08-20 20:41:41 -06:00