374ab2d7aa
-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
371 lines
15 KiB
Plaintext
371 lines
15 KiB
Plaintext
/*
|
|
This file must be valid JSON. But comments are allowed
|
|
|
|
Please edit settings.json, not settings.json.template
|
|
*/
|
|
{
|
|
// name your instance!
|
|
"title": "eIquidus",
|
|
|
|
"address": "127.0.0.1:3001",
|
|
|
|
// coin name
|
|
"coin": "Exor",
|
|
|
|
// coin symbol
|
|
"symbol": "EXOR",
|
|
|
|
// logo
|
|
"logo": "/img/logo.png",
|
|
// header logo. only displayed if the "homelink" setting is set to "logo"
|
|
"headerlogo": "/img/header_logo.png",
|
|
|
|
// favicon
|
|
"favicon": "public/favicon.ico",
|
|
|
|
// home link determines what is displayed in the top-left corner of the header menu (valid options are: title, coin, logo)
|
|
// title: display "title" text setting
|
|
// coin: display "coin" text setting
|
|
// logo: display the "headerlogo" image if it's set to a valid image, otherwise display the "logo" image
|
|
"homelink": "coin",
|
|
|
|
// home link logo height (value in px, only valid if using homelink = 'logo')
|
|
"logoheight": 50,
|
|
|
|
// set whether page header "sticks" to top of page or not
|
|
"sticky_header": true,
|
|
// set whether page footer "sticks" to bottom of page or not
|
|
"sticky_footer": false,
|
|
|
|
// Customize the height of the footer for the following screen sizes:
|
|
// Mobile (0-575px)
|
|
// Tablet (576-991px)
|
|
// Desktop (>= 992px)
|
|
// Supports any valid height value in pixels ("50px") or percent ("10%")
|
|
"footer_height_desktop": "50px",
|
|
"footer_height_tablet": "60px",
|
|
"footer_height_mobile": "70px",
|
|
|
|
// Customize the height of the social media links in the footer for the following screen sizes:
|
|
// Mobile (0-575px)
|
|
// Tablet (576-991px)
|
|
// Desktop (>= 992px)
|
|
// This is a percentage value and must be a positive number between 1-100
|
|
"social_link_percent_height_desktop": 70,
|
|
"social_link_percent_height_tablet": 55,
|
|
"social_link_percent_height_mobile": 40,
|
|
|
|
// Uses bootswatch themes (http://bootswatch.com/)
|
|
// Valid options:
|
|
// Cerulean, Cosmo, Cyborg, Darkly, Flatly, Journal, Litera, Lumen,
|
|
// Lux, Materia, Minty, Pulse, Sandstone, Simplex, Sketchy, Slate,
|
|
// Solar, Spacelab, Superhero, United, Yeti
|
|
// theme (see /public/css/themes for available themes)
|
|
"theme": "Lux",
|
|
|
|
// port to listen for requests on.
|
|
"port" : 3001,
|
|
|
|
// database settings (MongoDB)
|
|
"dbsettings": {
|
|
"user": "eiquidus",
|
|
"password": "Nd^p2d77ceBX!L",
|
|
"database": "explorerdb",
|
|
"address": "localhost",
|
|
"port": 27017
|
|
},
|
|
|
|
//update script settings
|
|
"update_timeout": 10,
|
|
"check_timeout": 250,
|
|
"block_parallel_tasks": 1,
|
|
|
|
// wallet settings
|
|
"use_rpc": true,
|
|
|
|
"wallet": {
|
|
"host": "localhost",
|
|
"port": 51573,
|
|
"username": "exorrpc",
|
|
"password": "sSTLyCkrD94Y8&9mr^m6W^Mk367Vr!!K"
|
|
},
|
|
|
|
// confirmations
|
|
"confirmations": 40,
|
|
|
|
// language settings
|
|
"locale": "locale/en.json",
|
|
|
|
// menu and panel settings
|
|
"display": {
|
|
"api": true,
|
|
"markets": true,
|
|
"richlist": true,
|
|
"twitter": false,
|
|
"facebook": false,
|
|
"googleplus": false,
|
|
"bitcointalk": false,
|
|
"website": false,
|
|
"slack": false,
|
|
"github": false,
|
|
"discord": false,
|
|
"telegram": false,
|
|
"reddit": false,
|
|
"youtube": false,
|
|
"search": true,
|
|
"movement": true,
|
|
"network": true,
|
|
// Enable/disable the ability for users to claim a wallet address. NOTE: Disabling this feature after addresses have already been claimed will effectively hide the claimed values and restore the original wallet addresses again
|
|
"claim_address": true,
|
|
// Show/hide the "Claim Address" header menu item. NOTE: "claim_address" setting must also be enabled or else the header item will automatically be hidden as well
|
|
"claim_address_header_menu": true,
|
|
// page_header_bgcolor: change the background color of the page header
|
|
// page_footer_bgcolor: change the background color of the page footer
|
|
// valid options: light, dark, primary, secondary, success, info, warning, danger or leave blank ( "" ) for default colors
|
|
"page_header_bgcolor": "",
|
|
"page_footer_bgcolor": "",
|
|
// table_header_bgcolor: change the background color of all table headers
|
|
// valid options: light, dark or leave blank ( "" ) for default colors
|
|
"table_header_bgcolor": "",
|
|
// A maximum of 5 top panels can be shown across the top of the page
|
|
// Determine which panels are shown and in what order by giving panels a number from 1-5
|
|
// Lowest # = far left panel, Highest # = far right panel
|
|
// Set disabled panels to a value of 0 to prevent them from being shown
|
|
"networkpnl": 1,
|
|
"difficultypnl": 2,
|
|
"masternodespnl": 3,
|
|
"coinsupplypnl": 4,
|
|
"pricepnl": 5,
|
|
"marketcappnl": 0,
|
|
"logopnl": 0
|
|
},
|
|
|
|
// index page (valid options for difficulty are POW, POS or Hybrid)
|
|
"index": {
|
|
"show_hashrate": true,
|
|
"difficulty": "POS",
|
|
"last_txs": 100,
|
|
"txs_per_page": 10
|
|
},
|
|
|
|
// ensure links on API page are valid
|
|
"api": {
|
|
"blockindex": 6415,
|
|
"blockhash": "dd17105f9e3d79c553b3670001e0243dd21378f4f90a340d87c0e5eb0b44dfd4",
|
|
"txhash": "2af5cc842d18814b45db44b62411c8a47987fc3c56294af38572989de5c1f7d5",
|
|
"address": "EaqHssmmgEPCxaeczbZnoqM6vutv9xmhrZ"
|
|
},
|
|
|
|
// market settings
|
|
//included markets: altmarkets, bittrex, bleutrade, crex, fides, poloniex, stex, yobit
|
|
//default market is loaded by default and determines last price in header
|
|
"markets": {
|
|
"coin": "EXOR",
|
|
"exchange": "BTC",
|
|
"enabled": [],
|
|
"default": "",
|
|
// market_dropdown_menu: true/false
|
|
// true = Markets header menu will function as a dropdown that allows selecting from all available markets
|
|
// false = Markets header menu will function as a single-click menu item that opens the default market only
|
|
// NOTE: Dropdown will only work when 2 or more markets are enabled, otherwise it will default to a normal menu item automatically
|
|
"market_dropdown_menu": true,
|
|
// market_select_visible: true/false
|
|
// true = All market pages will display a clickable list of enabled markets near the top of the page for quick selection
|
|
// false = No market select box will be shown on market pages
|
|
// NOTE: Market select box will only be visible when 2 or more markets are enabled, otherwise it will be hidden automatically
|
|
"market_select_visible": true
|
|
},
|
|
|
|
// richlist/top100 settings
|
|
"richlist": {
|
|
"distribution": true,
|
|
"received": true,
|
|
"balance": true
|
|
},
|
|
// movement page settings
|
|
// min amount: show transactions greater than this value
|
|
// low flag: greater than this value flagged yellow
|
|
// high flag: greater than this value flagged red
|
|
"movement": {
|
|
"min_amount": 100,
|
|
"low_flag": 1000,
|
|
"high_flag": 5000
|
|
},
|
|
|
|
// twitter, facebook, googleplus, bitcointalk, github, slack, discord, telegram, reddit, youtube, website
|
|
"twitter": "your-twitter-username",
|
|
"facebook": "your-facebook-username",
|
|
"googleplus": "your-google-plus-username",
|
|
"bitcointalk": "your-bitcointalk-topic-value",
|
|
"github": "your-github-username/your-github-repo",
|
|
"slack": "your-full-slack-invite-url",
|
|
"discord": "your-full-discord-invite-url",
|
|
"telegram": "your-telegram-group-or-channel-name",
|
|
"reddit": "your-subreddit-name",
|
|
"youtube": "your-full-youtube-url",
|
|
"website": "your-full-website-url",
|
|
|
|
//genesis
|
|
"genesis_tx": "dd1d332ad2d8d8f49195056d482ae3c96fd2d16e9d166413b27ca7f19775644c",
|
|
"genesis_block": "0000860fcf946b44df0e7d85d6757d45f8de6f4c9aacc5c7b6abc13db1f68819",
|
|
|
|
//heavy (enable/disable additional heavy features)
|
|
"heavy": false,
|
|
|
|
//during index syncronization, stats are saved updated after processing this many blocks to save time
|
|
"save_stats_after_sync_blocks": 100,
|
|
|
|
//disable saving blocks & TXs via API during indexing.
|
|
"lock_during_index": false,
|
|
|
|
//amount of txs to index per address (stores latest n txs)
|
|
"txcount": 100,
|
|
"txcount_per_page": 50,
|
|
|
|
//show total sent & received on address page (set false if PoS)
|
|
"show_sent_received": true,
|
|
|
|
// how to calculate current coin supply
|
|
// COINBASE : total sent from coinbase (PoW)
|
|
// GETINFO : retreive from getinfo api call (PoS)
|
|
// HEAVY: retreive from heavys getsupply api call
|
|
// BALANCES : total of all address balances
|
|
// TXOUTSET : retreive from gettxoutsetinfo api call
|
|
"supply": "TXOUTSET",
|
|
|
|
// how to acquire network hashrate
|
|
// getnetworkhashps: uses getnetworkhashps api call, returns in GH/s
|
|
// netmhashps: uses getmininginfo.netmhashpsm returns in MH/s
|
|
"nethash": "getnetworkhashps",
|
|
|
|
// nethash_units: sets nethash API return units
|
|
// valid options: "P" (PH/s), "T" (TH/s), "G" (GH/s), "M" (MH/s), "K" (KH/s), "H" (H/s)
|
|
"nethash_units": "G",
|
|
|
|
// simple Cross-Origin Resource Sharing (CORS) support
|
|
// enabling this feature will add a new output header to all requests like this: Access-Control-Allow-Origin: <corsorigin>
|
|
// corsorigin "*" will allow any origin to access the requested resource while specifying any other value for corsorigin will allow cross-origin requests only when the request is made from a source that matches the corsorigin filter
|
|
"usecors": false,
|
|
"corsorigin": "*",
|
|
|
|
// Address labels
|
|
// example : "CGTta3M4t3yXu8uRgkKvaWd2d8DQvDPnpL": {"label": "This is a burn address", "type":"danger", "url":"http://example.com"}
|
|
// label (required) = test to display
|
|
// type (optional) = class of label, valid types: default, primary, warning, danger, success
|
|
// url (optional) = url to link to for more information
|
|
"labels": {
|
|
// "CLkWg5YSLod772uLzsFRxHgHiWVGAJSezm": {"label": "Donation Address", "type":"primary", "url":"http://example.com"},
|
|
// "CaxX1HVWzbQ516w61XbtHR63vNmp2mvLMZ": {"label": "Max Lee War Chest"}
|
|
},
|
|
|
|
// Burned coin addresses
|
|
// Use this setting to prevent specific wallet addresses from being displayed or calculated in the rich list and wealth distribution chart sections.
|
|
// These wallet addresses will still be accessible via the explorer under all other conditions except from the rich list.
|
|
// Add as many wallet addresses as necessary in the following format:
|
|
//"burned_coins": [
|
|
// {
|
|
// "address": "EPUzEEGa45Rsn88WAos6SqkZZ9GrsfpvtZ"
|
|
// },
|
|
// {
|
|
// "address": "EUzgbt1r5AFzoZXK6WgTzM8kBBPJU1SX8E"
|
|
// }
|
|
//]
|
|
"burned_coins": [],
|
|
|
|
// Enable/disable the use of specific public apis
|
|
// Setting any of these apis to false will remove the api definition from the /info page and will return a "This method is disabled" msg if the api endpoint is called
|
|
"public_api": {
|
|
"rpc": {
|
|
"getdifficulty": true,
|
|
"getconnectioncount": true,
|
|
"getblockcount": true,
|
|
"getblockhash": true,
|
|
"getblock": true,
|
|
"getrawtransaction": true,
|
|
"getnetworkhashps": true,
|
|
"getvotelist": true,
|
|
"getmasternodecount": true,
|
|
"getmasternodelist": true,
|
|
"getmaxmoney": true,
|
|
"getmaxvote": true,
|
|
"getvote": true,
|
|
"getphase": true,
|
|
"getreward": true,
|
|
"getsupply": true,
|
|
"getnextrewardestimate": true,
|
|
"getnextrewardwhenstr": true
|
|
},
|
|
"ext": {
|
|
"getmoneysupply": true,
|
|
"getdistribution": true,
|
|
"getaddress": true,
|
|
"gettx": true,
|
|
"getbalance": true,
|
|
"getlasttxs": true,
|
|
"getcurrentprice": true,
|
|
"getbasicstats": true
|
|
}
|
|
},
|
|
|
|
// Customized API commands
|
|
// Not all blockchains utilize the same rpc cmds for accessing the internal daemon api.
|
|
// Leaving a cmd value blank ( "" ) will completely disable use of that cmd.
|
|
// NOTICE: Some apis such as getblockhash for example, are integral to the functionality of the explorer and will result in a fairly unusable experience if disabled.
|
|
// The following cmd-line calls to the daemon can be overridden:
|
|
//
|
|
// getnetworkhashps: Returns the estimated network hashes per second. This should be a positive whole number.
|
|
// getmininginfo: Returns a json object containing mining-related information.
|
|
// getdifficulty: Returns the proof-of-work difficulty as a multiple of the minimum difficulty. This should be a positive whole or decimal number.
|
|
// getconnectioncount: Returns the number of connections to other nodes. This should be a positive whole number.
|
|
// getblockcount: Returns the number of blocks in the longest blockchain. This should be a positive whole number.
|
|
// getblockhash: Returns hash of block in best-block-chain at height provided. This should be a string value.
|
|
// getblock: Returns an object with information about the block.
|
|
// getrawtransaction: Returns raw transaction data. Can return a hex-encoded string that is serialized or an object with txid information depending on the decrypt value (0(false) or 1(true))
|
|
// getinfo: Returns an object containing various state info.
|
|
// getpeerinfo: Returns data about each connected network node as a json array of objects.
|
|
// gettxoutsetinfo: Returns an object with statistics about the unspent transaction output set.
|
|
// getvotelist: Returns an object with details regarding the current vote list.
|
|
// getmasternodecount: Returns a json object containing the total number of masternodes on the network.
|
|
// getmasternodelist: Returns a json array containing status information for all masternodes on the network.
|
|
// verifymessage: Verify a signed message. Must accept the following arguments:
|
|
// address: The wallet address to use for the signature.
|
|
// signature: The signature provided by the signer in base 64 encoding.
|
|
// message: The message that was signed.
|
|
//
|
|
// heavies: A collection of commands that are enabled when the "heavy" setting is set to "true"
|
|
// getmaxmoney: Returns the number of coins that will be produced in total. This should be a positive whole or decimal number.
|
|
// getmaxvote: Returns the maximum allowed vote for the current phase of voting. This should be a positive whole number.
|
|
// getvote: Returns the current block reward vote setting. This should be a positive whole number.
|
|
// getphase: Returns the current voting phase name. This should be a string value.
|
|
// getreward: Returns the current block reward. This should be a positive whole or decimal number.
|
|
// getnextrewardestimate: Returns an estimate for the next block reward based on the current state of decentralized voting. This should be a positive whole or decimal number.
|
|
// getnextrewardwhenstr: Returns a string describing how long until the votes are tallied and the next block reward is computed.
|
|
// getsupply: Returns the current money supply. This should be a positive whole or decimal number.
|
|
"api_cmds": {
|
|
"getnetworkhashps": "getnetworkhashps",
|
|
"getmininginfo": "getmininginfo",
|
|
"getdifficulty": "getdifficulty",
|
|
"getconnectioncount": "getconnectioncount",
|
|
"getblockcount": "getblockcount",
|
|
"getblockhash": "getblockhash",
|
|
"getblock": "getblock",
|
|
"getrawtransaction": "getrawtransaction",
|
|
"getinfo": "getinfo",
|
|
"getpeerinfo": "getpeerinfo",
|
|
"gettxoutsetinfo": "gettxoutsetinfo",
|
|
"getvotelist": "masternodelist votes",
|
|
"getmasternodecount": "getmasternodecount",
|
|
"getmasternodelist": "listmasternodes",
|
|
"verifymessage": "verifymessage",
|
|
"heavies": {
|
|
"getmaxmoney": "getmaxmoney",
|
|
"getmaxvote": "getmaxvote",
|
|
"getvote": "getvote",
|
|
"getphase": "getphase",
|
|
"getreward": "getreward",
|
|
"getnextrewardestimate": "getnextrewardestimate",
|
|
"getnextrewardwhenstr": "getnextrewardwhenstr",
|
|
"getsupply": "getsupply"
|
|
}
|
|
}
|
|
} |