Commit Graph

136 Commits

Author SHA1 Message Date
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 2336fcda95 Add api page setting to hide/show logo 2021-04-11 16:36:56 -06:00
joeuhren f0700b65f9 Add page header/title options to all pages
-All pages (including the reward and error pages) were updated to include options for displaying a configurable page header with title, image, description and in some cases a last updated date
-The error page was restructured slightly to display a different description based on the type of error (page not found error vs problem loading page error)
-Added new setting options to the `shared_pages` setting for `page_title_image` which allows changing the page title image displayed on applicable pages and also determines whether it uses a flip/spin animation or not
-Added a collection of new `page_header` settings to all pages that control displaying the new page title + image + description and also moved the last updated date from applicable pages into this section as well
-Existing `show_last_updated` settings that were moved a level deeper into the `page_header` have been automatically mapped to the new setting location upon statup to help older installs to work better out-of-the-box
-Added new css rules to the styles.scss file to support the new page header/title options
-Added a number of new locale strings for page titles and descriptions, and moved a few locale strings around to different names internally that were already using the same naming scheme for different elements (such as api_title being moved to api_documentation for example)
-Started adding new locale strings with replacement text such as {1} and {2} that get automatically replaced with proper values when loaded to allow for locale strings that support dynamic text
-Fixed an issue with too much empty space in the page header (especially in mobile and tablet modes) when `show_panels` was set to false on any page
2021-04-10 22:22:46 -06:00
joeuhren ae303c8a1a Add new settings to hide/show panels on each page 2021-04-07 12:26:47 -06:00
joeuhren a3b3adb90f Add extended search settings
-Added a new `shared_pages.page_header.search.position` setting that determines where the search bar is located (valid options include the old 'below-header' and the new 'inside-header' options)
-`shared_pages.page_header.show_search` setting has been re-mapped to `shared_pages.page_header.search.enabled`
-Updated the search placeholder locale text
-Changed the Explorer menu item icon from a magnifying glass to a cubes/blocks icon
-Updated css rules to fix some small glitches and allow the new 'inside-header' search option to function
2021-04-05 12:24:48 -06:00
joeuhren 40b6a641f5 Fix + format date/time values across entire site
-Added a new client-side library for date/time formatting: Luxon v1.26.0
-Added new date/time settings for display format, timezone (utc or local) and an option to enable alternate timezone tooltips
-All date/time values are now formatted via Luxon and displayed according to the new configurable settings
-All markets now return Trade History timestamp values as unix timestamp values formatted in seconds
2021-03-28 21:02:10 -06:00
joeuhren 9cdcfe659f Add TLS/SSL support
-Added new settings for Expresss webserver TLS/SSL options
-Added instructions to the README for running the explorer on port 80
-Added instructions to the README for setting up a secure TLS/SSL connection for the explorer
-Moved the 'CORS Support' section higher up in the README
2021-03-26 13:53:00 -06:00
joeuhren a7d1ae8d0c New settings for viewing special address pages
-Add new address_page.enable_hidden_address_view setting which controls whether the special hidden_address address page can be viewed
-Add new address_page.enable_unknown_address_view setting which controls whether the special unknown_address address page can be viewed
-route to special coinbase address is permanently disabled
2021-03-22 18:45:47 -06:00
joeuhren 1392280575 Better vout/vin unique checks 2021-03-21 19:10:30 -06:00
joeuhren 4bef1a17be Add full zksnarks tx support 2021-03-21 18:20:49 -06:00
joeuhren d2521a879f Fix broken syncLoop function 2021-03-20 17:49:05 -06:00
joeuhren 41f7500a04 Always omit special addresses from the richlist 2021-03-20 15:02:42 -06:00
joeuhren 66e3ca31e6 Add support for bitcoin P2PK scripts/txes
-Adds a tx_type field to the tx model which is typically null for "normal" transaction types, but can also display 'p2pk' for bitcoin txes which require addtional encoding to reveal the P2PKH address as well as 'zksnarks' for transactions with hidden sender or receiver data
-Additional fixes for how data is displayed when a valid wallet address cannot be found
-Includes some small updates to how zksnarks transactions display hidden sender/receiver data
2021-03-20 01:34:13 -06:00
joeuhren 20c0a382a3 Code cleanup
-Replace tabs with double-spaces
-Betting spacing and lining up of code functions
-Add missing semi-colons
-Remove extra characters and spaces where applicable
-Remove commented-out code fragments
-Add missing 2021 date to LICENSE
-Small touchups and other misc nitpickings
2021-03-17 17:54:09 -06:00
joeuhren 3135d45c2e Stex market fix + update
-Fixed the 24h stats volume column which was displaying btc volume
-Added btc volume column to 24 stats
2021-03-07 18:14:38 -07:00
joeuhren 05e6710c41 Update altmarkets api to v2 2021-03-07 14:58:00 -07:00
joeuhren ab6c341bf4 Fix negative stat value issue after attempted sync
-Better error handling of update_db()
-Fixes an issue that can cause some stats values to get set to a negative number when running an index sync and the wallet daemon has not finished loading the blockchain yet (If this happens to you, stop the explorer, apply this fix with `git pull` to make sure it doesn't happen again, then run a reindex-txcount and reindex-last to restore the proper values)
2021-02-03 20:54:15 -07:00
joeuhren 182ad875e9 Fix last market price
-The last market price was not properly checking against trading pairs and was updating based on all pairs for the default exchange which could potentially cause non-BTC markets to show a much higher last price value than normal
2021-01-24 15:56:45 -07:00
joeuhren f9eae81e15 Add best effort mapping of old settings to new settings 2021-01-24 14:33:43 -07:00
joeuhren a538be2dbb Better loading of nested settings
-Improved loading of settings including warning of missing and/or invalid settings and the ability to load the explorer using defaults without a settings.json file
2021-01-23 16:51:46 -07:00
joeuhren 4790764e2c Massive overhaul and cleanup of settings
-Restructured the settings.json.template and settings.js files with better groupings
-Added better comments for improved explanations of all settings
-Better handling of page length options on all datatables; Page length options are now configurable and also only display options based on limits set by certain items_per_page and max_items_per_query settings
-Markets have been extended to support unlimited trading pairs for each exchange
-Added coin_symbol and pair_symbol to the markets schema to support multiple trading pairs
-Added a burned field to the richlist schema for tracking burned coin addresses
-Added a locale string for the new richlist wealth distribution "Top 1-100 Total" table row
-Updated a couple locale strings that were incomplete or needed fixing (api_getblockhash and api_getnextrewardwhenstr)
-Added a new css class to remove some redundant inline styles for the richlist wealth distribution color boxes
-Richlist page now allows better separation of the top list(s) and the wealth distribution table and chart (you can now hide or show sections as desired)
-Richlist page now allows for better burned coin support (Hide burned coin addresses from lists and totals even when the burned coin amounts are still included in the total coin supply value)
-Block page now only displays the raw block link if the api_page.public_apis.rpc.getblock.enabled settings is set to true
-Transaction page now only displays the raw tx link if the api_page.public_apis.rpc.getrawtransaction.enabled setting is set to true
-Rate limiting class has been made global and is now used to limit market requests
-getnetworkhashps rpc call now returns a '-' if shared_pages.show_hashrate is not set to true
-Searching for unsycned blocks/txs no longer saves the data locally but instead still shows the data on screen. This helps prevent syncing data out-of-order (This eliminates the need for db_index.pid which has been removed)
-Coin supply is now always taken from the stats collection database instead of from the wallet via rpc command in all cases except when syncing
-Lots of misc fixes and code cleanup changes
-List of changed settings:
  -title -> shared_pages.page_title
  -coin -> coin.name
  -symbol -> coin.symbol
  -logo -> shared_pages.logo
  -headerlogo -> shared_pages.page_header.home_link_logo
  -favicon -> shared_pages.favicon
  -homelink -> shared_pages.page_header.home_link
  -logoheight -> shared_pages.page_header.home_link_logo_height
  -sticky_header -> shared_pages.page_header.sticky_header
  -sticky_footer -> shared_pages.page_footer.sticky_footer
  -footer_height_desktop -> shared_pages.page_footer.footer_height_desktop
  -footer_height_tablet -> shared_pages.page_footer.footer_height_tablet
  -footer_height_mobile -> shared_pages.page_footer.footer_height_mobile
  -social_link_percent_height_desktop -> shared_pages.page_footer.social_link_percent_height_desktop
  -social_link_percent_height_tablet -> shared_pages.page_footer.social_link_percent_height_tablet
  -social_link_percent_height_mobile -> shared_pages.page_footer.social_link_percent_height_mobile
  -theme -> shared_pages.theme
  -port -> webserver.port
  -update_timeout -> sync.update_timeout
  -check_timeout -> sync.check_timeout
  -block_parallel_tasks -> sync.block_parallel_tasks
  -use_rpc -> api_cmds.use_rpc
  -confirmations -> shared_pages.confirmations
  -display.api -> api_page.enabled
  -display.markets -> markets_page.enabled
  -display.richlist -> richlist_page.enabled
  -display.search -> shared_pages.page_header.show_search
  -display.movement -> movement_page.enabled
  -display.network -> network_page.enabled
  -display.masternodes -> masternodes_page.enabled
  -display.claim_address -> claim_address_page.enabled
  -display.claim_address_header_menu -> claim_address_page.show_header_menu
  -display.page_header_bgcolor -> shared_pages.page_header.bgcolor
  -display.page_footer_bgcolor -> shared_pages.page_footer.bgcolor
  -display.table_header_bgcolor -> shared_pages.table_header_bgcolor
  -display.networkpnl -> shared_pages.page_header.panels.network_panel.display_order
  -display.difficultypnl -> shared_pages.page_header.panels.difficulty_panel.display_order
  -display.masternodespnl -> shared_pages.page_header.panels.masternodes_panel.display_order
  -display.coinsupplypnl -> shared_pages.page_header.panels.coin_supply_panel.display_order
  -display.pricepnl -> shared_pages.page_header.panels.price_panel.display_order
  -display.marketcappnl -> shared_pages.page_header.panels.market_cap_panel.display_order
  -display.logopnl -> shared_pages.page_header.panels.logo_panel.display_order
  -index.show_last_updated -> index_page.show_last_updated
  -index.show_hashrate -> shared_pages.show_hashrate
  -index.difficulty -> shared_pages.difficulty
  -index.last_txs -> api_page.public_apis.ext.getlasttxs.max_items_per_query
  -index.txs_per_page -> index_page.transaction_table.items_per_page (for index page) AND movement_page.movement_table.items_per_page (for movement page)
  -reward_page.show_last_updated -> blockchain_specific.heavycoin.reward_page.show_last_updated
  -api.blockindex -> api_page.sample_data.blockindex
  -api.blockhash -> api_page.sample_data.blockhash
  -api.txhash -> api_page.sample_data.txhash
  -api.address -> api_page.sample_data.address
  -markets.exchange -> markets_page.default_exchange.trading_pair
  -markets.default -> markets_page.default_exchange.exchange_name
  -markets.market_dropdown_menu -> markets_page.show_market_dropdown_menu
  -markets.market_select_visible -> markets_page.show_market_select
  -richlist.distribution -> richlist_page.wealth_distribution.show_distribution_chart
  -richlist.received -> richlist_page.show_received_coins
  -richlist.balance -> richlist_page.show_current_balance
  -movement.min_amount -> movement_page.movement_table.min_amount
  -movement.low_flag -> movement_page.movement_table.low_warning_flag
  -movement.high_flag -> movement_page.movement_table.high_warning_flag
  -social_links -> shared_pages.page_footer.social_links
  -social_links[x].image_url -> shared_pages.page_footer.social_links[x].image_path
  -genesis_tx -> transaction_page.genesis_tx
  -genesis_block -> block_page.genesis_block
  -heavy -> blockchain_specific.heavycoin.enabled
  -save_stats_after_sync_blocks -> sync.save_stats_after_sync_blocks
  -txcount -> api_page.public_apis.ext.getaddresstxs.max_items_per_query
  -txcount_per_page -> address_page.history_table.items_per_page
  -show_sent_received -> address_page.show_sent_received
  -supply -> sync.supply
  -nethash -> shared_pages.page_header.panels.network_panel.nethash
  -nethash_units -> shared_pages.page_header.panels.network_panel.nethash_units
  -usecors -> webserver.cors.enabled
  -corsorigin -> webserver.cors.corsorigin
  -burned_coins -> richlist_page.burned_coins.addresses
  -public_api.rpc.getdifficulty -> api_page.public_apis.rpc.getdifficulty.enabled
  -public_api.rpc.getconnectioncount -> api_page.public_apis.rpc.getconnectioncount.enabled
  -public_api.rpc.getblockcount -> api_page.public_apis.rpc.getblockcount.enabled
  -public_api.rpc.getblockhash -> api_page.public_apis.rpc.getblockhash.enabled
  -public_api.rpc.getblock -> api_page.public_apis.rpc.getblock.enabled
  -public_api.rpc.getrawtransaction -> api_page.public_apis.rpc.getrawtransaction.enabled
  -public_api.rpc.getnetworkhashps -> api_page.public_apis.rpc.getnetworkhashps.enabled
  -public_api.rpc.getvotelist -> api_page.public_apis.rpc.getvotelist.enabled
  -public_api.rpc.getmasternodecount -> api_page.public_apis.rpc.getmasternodecount.enabled
  -public_api.rpc.getmaxmoney -> blockchain_specific.heavycoin.public_apis.getmaxmoney.enabled
  -public_api.rpc.getmaxvote -> blockchain_specific.heavycoin.public_apis.getmaxvote.enabled
  -public_api.rpc.getvote -> blockchain_specific.heavycoin.public_apis.getvote.enabled
  -public_api.rpc.getphase -> blockchain_specific.heavycoin.public_apis.getphase.enabled
  -public_api.rpc.getreward -> blockchain_specific.heavycoin.public_apis.getreward.enabled
  -public_api.rpc.getsupply -> blockchain_specific.heavycoin.public_apis.getsupply.enabled
  -public_api.rpc.getnextrewardestimate -> blockchain_specific.heavycoin.public_apis.getnextrewardestimate.enabled
  -public_api.rpc.getnextrewardwhenstr -> blockchain_specific.heavycoin.public_apis.getnextrewardwhenstr.enabled
  -public_api.ext.getmoneysupply -> api_page.public_apis.ext.getmoneysupply.enabled
  -public_api.ext.getdistribution -> api_page.public_apis.ext.getdistribution.enabled
  -public_api.ext.getaddress -> api_page.public_apis.ext.getaddress.enabled
  -public_api.ext.getaddresstxs -> api_page.public_apis.ext.getaddresstxs.enabled
  -public_api.ext.gettx -> api_page.public_apis.ext.gettx.enabled
  -public_api.ext.getbalance -> api_page.public_apis.ext.getbalance.enabled
  -public_api.ext.getlasttxs -> api_page.public_apis.ext.getlasttxs.enabled
  -public_api.ext.getcurrentprice -> api_page.public_apis.ext.getcurrentprice.enabled
  -public_api.ext.getbasicstats -> api_page.public_apis.ext.getbasicstats.enabled
  -public_api.ext.getsummary -> api_page.public_apis.ext.getsummary.enabled
  -public_api.ext.getnetworkpeers -> api_page.public_apis.ext.getnetworkpeers.enabled
  -public_api.ext.getmasternodelist -> api_page.public_apis.ext.getmasternodelist.enabled
  -public_api.ext.getmasternoderewards -> api_page.public_apis.ext.getmasternoderewards.enabled
  -public_api.ext.getmasternoderewardstotal -> api_page.public_apis.ext.getmasternoderewardstotal.enabled
  -api_cmds.heavies.getmaxmoney -> blockchain_specific.heavycoin.api_cmds.getmaxmoney
  -api_cmds.heavies.getmaxvote -> blockchain_specific.heavycoin.api_cmds.getmaxvote
  -api_cmds.heavies.getvote -> blockchain_specific.heavycoin.api_cmds.getvote
  -api_cmds.heavies.getphase -> blockchain_specific.heavycoin.api_cmds.getphase
  -api_cmds.heavies.getreward -> blockchain_specific.heavycoin.api_cmds.getreward
  -api_cmds.heavies.getnextrewardestimate -> blockchain_specific.heavycoin.api_cmds.getnextrewardestimate
  -api_cmds.heavies.getnextrewardwhenstr -> blockchain_specific.heavycoin.api_cmds.getnextrewardwhenstr
  -api_cmds.heavies.getsupply -> blockchain_specific.heavycoin.api_cmds.getsupply
-List of new settings:
  -shared_pages.page_header.panels.network_panel.enabled: allow enabling/disabling of the network panel
  -shared_pages.page_header.panels.difficulty_panel.enabled: allow enabling/disabling of the difficulty panel
  -shared_pages.page_header.panels.masternodes_panel.enabled: allow enabling/disabling of the masternodes panel
  -shared_pages.page_header.panels.coin_supply_panel.enabled: allow enabling/disabling of the coin supply panel
  -shared_pages.page_header.panels.price_panel.enabled: allow enabling/disabling of the price panel
  -shared_pages.page_header.panels.market_cap_panel.enabled: allow enabling/disabling of the market cap panel
  -shared_pages.page_header.panels.logo_panel.enabled: allow enabling/disabling of the logo panel
  -index_page.transaction_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -index_page.transaction_table.reload_table_seconds: the time in seconds to automatically reload the table data from the server
  -address_page.history_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -masternodes_page.masternode_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -masternodes_page.masternode_table.items_per_page: the default amount of items/records to display in the table at any given time
  -movement_page.movement_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -movement_page.movement_table.reload_table_seconds: the time in seconds to automatically reload the table data from the server
  -network_page.connections_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -network_page.connections_table.items_per_page: the default amount of items/records to display in the table at any given time
  -network_page.addnodes_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -network_page.addnodes_table.items_per_page: the default amount of items/records to display in the table at any given time
  -network_page.onetry_table.page_length_options: specify the page length options that determine how many items/records to display in the table at any given time
  -network_page.onetry_table.items_per_page: the default amount of items/records to display in the table at any given time
  -richlist_page.wealth_distribution.show_distribution_table: show/hide the wealth distribution summary table
  -richlist_page.wealth_distribution.colors: a list of html color codes to represent the top 100 groupings in the wealth distribution table and pie chart
  -richlist_page.burned_coins.include_burned_coins_in_distribution: determine whether to include burned coins in the wealth distribution section or not
  -markets_page.exchanges.altmarkets.enabled: enable/disable the altmarkets exchange
  -markets_page.exchanges.altmarkets.trading_pairs: a list of market trading pair symbols
  -markets_page.exchanges.bittrex.enabled: enable/disable the bittrex exchange
  -markets_page.exchanges.bittrex.trading_pairs: a list of market trading pair symbols
  -markets_page.exchanges.bleutrade.enabled: enable/disable the bleutrade exchange
  -markets_page.exchanges.bleutrade.trading_pairs: a list of market trading pair symbols
  -markets_page.exchanges.crex.enabled: enable/disable the crex exchange
  -markets_page.exchanges.crex.trading_pairs: a list of market trading pair symbols
  -markets_page.exchanges.poloniex.enabled: enable/disable the poloniex exchange
  -markets_page.exchanges.poloniex.trading_pairs: a list of market trading pair symbols
  -markets_page.exchanges.stex.enabled: enable/disable the stex exchange
  -markets_page.exchanges.stex.trading_pairs: a list of market trading pair symbols
  -markets_page.exchanges.yobit.enabled: enable/disable the yobit exchange
  -markets_page.exchanges.yobit.trading_pairs: a list of market trading pair symbols
  -claim_address_page.enable_bad_word_filter: enable/disable the "bad word" filter for claimed addresses, so that trying to claim an address with a bad word will fail
  -sync.show_sync_msg_when_syncing_more_than_blocks: show the sync msg at the top of all pages during index syncronization if there are more than this many blocks to process
  -labels[x].enabled: allow enabling/disabling of specific wallet address labels
  -blockchain_specific.heavycoin.reward_page.enabled: enable/disable the reward page
  -blockchain_specific.zksnarks.enabled: enable/disable Zcash zk-SNARKs private transaction support (WIP - 90% complete)
-List of deleted settings
  -address: unnecessary setting has been replaced by dynamic values via http request
  -markets.coin: replaced by a richer set of settings that allow choosing the coin for each market
  -markets.enabled -> replaced by a richer set of settings that allow enabling/disabling each market specifically
  -lock_during_index: no longer possible to save unsynced blocks/txs via search so this settings is now obsolete/unused
2021-01-22 15:04:32 -07:00
joeuhren 6ce288b892 Add settings for dynamic social icons
-Added new social_links setting to allow adding as many custom links as desired including the ability to display as image or fontawesome icon
-Removed old hardcoded settings for twitter, facebook, google+, bitcointalk, github, slack, discord, telegram, reddit, youtube and custom website link
-Added sample external and coingecko images to demonstrate social icons with images
2021-01-02 15:41:42 -07:00
joeuhren d01ebdd115 Restore missing/deleted /ext/getnetworkpeers api
-Added new public api setting for enabling disabling public use of /ext/getnetworkpeers api
-Added new entry to the /info api page for the /ext/getnetworkpeers api
-Integrated /ext/getnetworkpeers api into the network page + network includes and removed the deleted /ext/connections api references
2021-01-02 01:30:47 -07:00
joeuhren 55449956ea Remove defunct exchange fides-ex 2021-01-01 22:20:42 -07:00
joeuhren ca52b10f59 Extended api updates
-Moved /ext/summary from routes/index.js to app.js with the rest of the extended apis and renamed to /etc/getsummary
-Added a new setting to enable/disable public use of /ext/getsummary + added it to list of public apis on the /info page
-Added a new setting to enable/disable public use of /ext/getaddresstxs + added it to list of public apis on the /info page + updated the return data so that it returns a named object array for public api for better readability and still returns the same array list for internal datatable use
-Updated /ext/getlasttxs so that it returns a named object array for public api for better readability and still returns the same array list for internal datatable use
-/ext/getsummary now only returns the online and offline masternode counts if the getmasternodecount api is available and enabled
2021-01-01 18:24:39 -07:00
joeuhren f70952f66b Disable api page + public apis when settings.display.api = false 2020-12-31 15:45:31 -07:00
joeuhren 2fd39d76ce Add new "last updated date" settings
-Added new configurable settings to allow displaying a "last updated date" timestamp for: index, reward, masternode, movement, network, richlist and market pages
-Affected pages are now configured to be completely hidden and disabled when their display settings are set to false
2020-12-31 15:19:48 -07:00
joeuhren 9488e7e588 Add two new masternode rewards apis
-Added /ext/getmasternoderewards which returns a list of masternode reward transactions for a single address since a particular block height
-Added /ext/getmasternoderewardstotal which returns the total masternode rewards earned for a single address since a particular block height
2020-12-30 20:27:42 -07:00
joeuhren be1205d90a Add masternodes page/feature
-Added a new "Masternodes" page which displays the current list of masternodes on the network
-/api/getmasternodelist is no longer publicly accessible and has been replaced by /ext/getmasternodelist which returns the masternode list from local collection instead of directly from wallet
-Added new masternode sync options to sync.js and sync.sh
-Added new masternodes_last_updated field to the Stats collection
-Updated delete_database.sh and restore_backup.sh to include support for the new masternodes collection
-Network header menu icon changed to allow the new Masternodes menu item to use the old network icon
2020-12-30 18:22:02 -07:00
joeuhren 0817529329 Fix broken altmarkets change % value 2020-12-28 19:07:16 -07:00
joeuhren 374ab2d7aa Add new settings to disable individual public apis
-All coind + extended public api calls can now be enabled/disabled individually via settings.json; Disabled apis still work internally when disabled; The only noteworthy exception is the extended /ext/getlasttxs endpoint which is the only extended api consumed by the explorer itself, although it works to prevent outside access by default, it is controlled by http headers which can be manipulated and it's extremely likely that a savvy user could enable usage of /ext/getlasttxs for their own needs even if the site has specifically disabled that public api. More thought may be needed to properly resolve that problem, but it may also not be a big deal since it's data that is available to the explorer and in no way hidden or secret
-Disabled apis do not show up on the /info page and will return a "This method is disabled" msg if the endpoint is called
-Applied some code formatting to the /lib/nodeapi.js file
2020-12-28 15:12:56 -07:00
joeuhren ac237ad8e9 Add new "headerlogo" setting
-When "homelink" setting is set to 'logo', it now first checks the "headerlogo" value and uses that value if set correctly otherwise it will failover to using the normal "logo"
-Added a sample Exor header logo
2020-12-27 18:36:02 -07:00
joeuhren 5ecbcb8601 Add new logo panel setting "logopnl" 2020-12-27 17:58:09 -07:00
joeuhren 102bc3f75d Reworked the "Market Cap" top panel feature
-Added a new setting for "marketcappnl" which shows a "Market Cap" top panel box
-Removed "show_market_cap" and "show_market_cap_over_price" settings
2020-12-27 17:26:01 -07:00
joeuhren 5fa4c977fc More claim address feature updates
-Lots of changes to the claim address page: now supports the ability to enter a wallet address instead of always being read-only; no longer displays address information summary; updated alert text and display with better icons; initial info alert denotes current claim status when viewing an existing address; you can now show/hide claim instructions which are defaulted to hidden; Submit button changed to Claim button; Updated page text and verbiage
-Added new setting, "claim_address_header_menu" which shows/hides a new "Claim Address" header menu item
-Claim url changed from /address/{hash}/claim to /claim and /claim/{hash}
-Added additional error handling for successfully verifying a wallet address that is now known to the explorer
-Added a new locale string for the "Claim Address" header menu
2020-12-26 22:01:36 -07:00
joeuhren 711d1fcd83 Add 16x16 base64 logo images to markets
-Logos are displayed in market dropdown, market select box and at the top-left of each box on the markets page
-Markets are now sorted by market name
2020-12-25 21:08:25 -07:00
joeuhren 3842457c1a Remove unnecessary period from mkt_no_chart string 2020-12-25 19:48:22 -07:00
joeuhren 2650e91274 Add new market settings for accessing multiple markets
-Add new market_dropdown_menu setting for displaying the Markets header menu item as a dropdown
-Add new market_select_visible setting for displaying a clickable list of enabled markets near the top of all market pages
-Market select box header text changed to 'Market Select' and added to locale strings
2020-12-23 20:34:01 -07:00
joeuhren 40b5787493 Claim address updates
-Claimed addresses now replace actual wallet addresses across all pages of the site
-Add new claim_address setting to enable/disable claiming of addresses
-Add ability to un-claim an address by signing a blank message
2020-12-23 18:40:10 -07:00
joeuhren 82efa96954 Fix + add better tooltips where applicable
-Moved code to enable tooltips into a global function and the call is now made closer to page load being complete
-Added error checking for browsers with no tooltip support
-Added a few new locale strings for tooltip titles
2020-12-22 15:57:19 -07:00
joeuhren c9fdb2013e Dynamically enable wallet api cmds based on settings
-Added a 'heavies' object to the api_cmds setting and moved all heavy api calls inside to allow for better separation of api calls
2020-12-21 19:28:55 -07:00
joeuhren dfbd2d9046 verifymessage added to api cmd settings 2020-12-21 18:12:40 -07:00
joeuhren 4a084cdfe1 Split out peer cmds into new functions
-Add new setting for getpeerinfo cmd
-getpeerinfo api call moved to explorer.js
-Peer geo location api call moved to explorer.js
2020-12-21 16:19:14 -07:00
joeuhren 8219039f42 Remove unused commands.js file 2020-12-20 20:50:36 -07:00
joeuhren 27f96fa4fc Add new table_header_bgcolor setting 2020-12-20 18:13:24 -07:00
joeuhren 52a5487071 Change settings to allow more control over navbar colors
-Remove navbar_dark and navbar_light settings
-Add page_header_bgcolor setting for changing page header background color via bootstrap css classes
-Add page_footer_bgcolor setting for changing page footer background color via bootstrap css classes
2020-12-18 22:18:59 -07:00
joeuhren becdeab02d getlasttxs api no longer allows query string parameters 2020-12-18 14:55:30 -07:00
joeuhren 7a1f4a23d5 Filter unnecessary data from ajax-enabled datatables 2020-12-17 23:55:57 -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 50aeb9d321 Fix getlasttxs api
-Completely removed the /ext/getlasttxsajax api and replaced with /ext/getlasttxs
-Fixed record count for movement page
2020-12-10 17:51:46 -07:00