38 Commits

Author SHA1 Message Date
Joe Uhren 80ecf19ac5 Update all outdated package.json dependencies
-Main update is to add support for express v5.x which required some code changes to a few of the public and wallet api routes
-Removed the body-parser dependency and replaced with express which now has the same functionaliuty built-in and is no longer necessary to have a dedicated dependency
-All dependencies in the package.json have been updated to reference the most up-to-date version numbers
2025-04-13 21:25:24 -06:00
Joe Uhren b8030855af Prevent updating express dependency to v5
-Will allow v5 later when there is more time to fix breaking changes
2025-04-06 22:49:18 -06:00
Joe Uhren b5f3e3c490 Version bump to v1.103.0 + other small updates
-Version bumped to v1.103.0 in package.json
-Updated the UPGRADE file with details of changes in v1.103.0
-Updated the year in the LICENSE and README files
2025-02-02 19:24:22 -07:00
Joe Uhren 454fb0a7d7 Fixed multi-threaded sync + related improvements
-The block_parallel_tasks feature has been improved and fixed so that it is now safe to cancel (Ctrl+C) or kill (kill cmd not kill -9) the task and resume the sync later without missing transactions. The new block_parallel_tasks default is 8 threads which seems to be the sweet spot for any type of cpu
-Numerous improvements to the benchamark script to utilize new benchmark settings, auto-add credentials to the benchmark database, reuse the same sync code as the regular block sync instead of using a copy of the code and more
-Added a new cmd to run the benchmark script `npm run benchmark`
-README updated to include the new benchmark script instrutions + include multi-threaded sync as a feature
2025-01-01 19:20:13 -07:00
Joe Uhren fff5a1a71d Update bad-words dependency to 4.0.0
-The newest major version of the bad-words filter had some breaking changes that have been applied to the project
2024-09-19 19:53:10 -06: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 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 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 dee62ade4f Version bump to v1.102.0 + other small updates
-Version bumped to v1.102.0 in package.json
-Updated the UPGRADE file with details of changes in v1.102.0
-Updated the year in the LICENSE and README files
2023-06-14 18:35:05 -06:00
Joe Uhren de0da04e7b Added better support for NODE_ENV
-The different methods of starting the explorer now set NODE_ENV to "development" or "production" depending on which options were chosen
-pm2 is now loaded from within the prestart script and will reload the config instead of starting if it was previously loaded which allows changing the NODE_ENV value if necessary

NOTE: if running via pm2 or forever when updating the explorer with this change, it is necessary to manually stop the explorer with `npm run stop-pm2` or `npm run stop-forever` and then start again after the code has been updated to allow NODE_ENV to be set to "production". Without doing this, the explorer will still be run in "development" mode until pm2 or forever is fully stopped and restarted.
2023-05-27 21:45:03 -06:00
Joe Uhren 1a0ef69749 Added support for newer mongoose versions
-Mongoose and mongodb dependencies have been updated to the most recent versions in package.json
-Updated the project for use with the newest mongoose major version which required fixing many breaking changes to a number of files in the explorer
-Removed the db.find_address_tx() function as it is unused

NOTE: This update requires mongoose 6.0.10 or higher. If you are getting errors running the explorer after upgrading, it is recommended to run an 'npm update' or manually update mongoose to a more modern version which should fix the problem
2023-05-07 20:55:29 -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 42a59abac2 Version bump to v1.101.0 + update UPGRADE file 2022-07-09 19:33:58 -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 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 e1a73362ef Version bump to v1.100.0 + update UPGRADE file 2022-05-29 15:49:52 -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 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 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 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
joeuhren f948e29085 Cluster updates + add new start/stop options
-More graceful shutdown of node cluster on 'npm stop' with better cleanup of resources on exit
-Added new stop_explorer.sh script which looks up the explorer port # via settings file and closes the application running on that port # instead of saving and killing the process by pid as it did before
-Added support for pm2 and forever using 'npm run start-pm2' and 'npm run start-forever' respectively
-pm2 is automatically installed when starting with 'npm run start-pm2' if it is not already installed
-forever is automatically installed when starting with 'npm run start-forever' if it is not already installed
-Updated existing npm commands in package.json by replacing hardcoded 'node' with '$(which node)'
-/path/to/nodejs changed to /path/to/node in the /settings.json.template, /lib/settings.js and /scripts/sync.js files
-README updates:
 -Added a new 'Start/Stop the Explorer' section
 -Added PM2 instructions to the 'Start/Stop the Explorer' section
 -Moved Start/Stop Explorer instructions to the 'Start/Stop the Explorer' section
 -Moved Forever instructions to the 'Start/Stop the Explorer' section
 -/path/to/nodejs changed to /path/to/node
 -Some additional small misc fixes
2021-04-17 13:26:05 -06:00
joeuhren 5262923fb0 Remove sass:compile and add prestart npm scripts
-I figure this should be changed now while it's fresh on my mind and may come in handy down the road to have the ability to auto-run 'npm update' when new packages are added and/or to more easily do any other future pre-run processing
2021-03-28 21:26:23 -06:00
joeuhren fd7be8042e Version bump to v1.99.0 + update UPGRADE file 2021-02-05 18:32:01 -07:00
joeuhren 2d734b9f00 Filter bad words from claim address display name
-Also fix claim address success msg when 'Display Name' contains script tags
2020-12-22 18:06:40 -07:00
joeuhren 6749cafa53 Restore jasmine test functionality
-Rename spec directory to test
-Move old data.js file into the new test directory and rename to testData.js
-Remove unused support/jasmine.json file
-Populate testData.js with sample data from Exor blockchain
-Re-configure explorerSpec.js tests to match new testData.js data
2020-12-20 20:33:07 -07:00
joeuhren 9912c92695 Script updates + directory structure cleanup
-Updated JQuery to v3.5.1
-Updated Bootstrap to v4.5.3
-Updated DataTables to v1.10.22
-Updated FontAwesome to v5.15.1
-Updated Chart.js to v2.9.4
-Updated flag-icon-css to v3.5.0
-All scripts now load minified
-Removed unused/unnecessary scripts (moment.js and some jqPlot plugins)
-Scripts that are not used on every page are now only loaded on pages where they are needed (jqPlot, Chart.js and flag-icon-css)
-Default website language to English
-Enable unicode support
-Removed unused images
-public directory cleanup (images directory renamed to img, javascript directory renamed to js, stylesheets directory renamed to css, themes directory moved from /public/themes to /public/css/themes, removed vendor directory and moved the important contents to the new img, css and js directories)
-Reward.pug rewritten to support Chart.js v2.9.4
-Updated README Features section
2020-12-17 20:01:50 -07:00
joeuhren 03bff8c72f Sass support + layout/css cleanup
-Add sass support (Replace style.css with style.scss; add new sass_theme_reader.sh script; add sass:compile to package.json; add new dependencies for sass; compiled style.css is now minified)
-Claim address improvements (Better instructions; better error msgs)
-Fix for disappearing Network > Connections table
-Tons of layout and css fixes and tweaks (Improved mobile support)
-Remove old Exor theme
2020-12-12 20:21:49 -07:00
joeuhren fed83b6670 Fix deprecated mongoose version 2020-12-05 12:53:45 -07:00
joeuhren 7982491ab8 Dependency updates (pug + mongodb + mongoose + jasmine + postman) 2020-11-27 22:36:24 -07:00
joeuhren 91dc602cfc Index blocks in parallel - dramatic speed-up 2020-11-22 15:00:47 -07:00
joeuhren 0407be6d36 Convert remaining jade files to pug 2020-11-20 20:27:02 -07:00
joeuhren 42e1964ab3 Database indexing: Full Address history, fix balances, add db file locks 2020-11-20 16:28:28 -07:00
joeuhren fc3646b806 Replace deprecated 'request' dependency with 'postman-request' 2020-03-22 14:17:56 -06:00
joeuhren 781e18c5ea dependency updates (request + mongodb + mongoose) 2020-03-22 13:36:21 -06:00
joeuhren 3e94c6c89d dependency updates (mongodb + mongoose + jasmine) 2019-10-29 11:55:36 -06:00
joeuhren 661a29c0fe dependency updates (mongoose + pug) 2019-08-08 11:42:02 -06:00
joeuhren a175e03bfa v1.0.1 2019-06-07 20:05:28 -06:00
Joe Uhren 60fb8e29b4 Initial release 2019-05-27 10:33:22 -07:00