uaktags / explorer Goto Github PK
View Code? Open in Web Editor NEWThis project forked from iquidus/explorer
An open source block explorer
License: BSD 3-Clause "New" or "Revised" License
This project forked from iquidus/explorer
An open source block explorer
License: BSD 3-Clause "New" or "Revised" License
[2019-11-07T18:06:28.975] [INFO] default - Workers needed: 1. NumThreads: 8. BlocksToGet 2. Per Worker: 2000 1 -1
[2019-11-07T18:06:28.983] [INFO] default - There are 1 workers
(node:11313) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
[2019-11-07T18:06:29.777] [INFO] Workers.Master - Worker [0] 11313 is starting, start at index -1 and end at index 1
[2019-11-07T18:06:29.779] [INFO] default - Worker [11313] is starting, ensure it finishes
[2019-11-07T18:06:29.827] [ERROR] Workers.Master - ***************************** Exception Caught, Thu Nov 07 2019 18:06:29 GMT+0000 (UTC)
[2019-11-07T18:06:29.827] [ERROR] Workers.Master - Exception is: TypeError: Cannot read property 'blockindex' of null
at /home/explorer/lib/database.js:879:84
at /home/explorer/node_modules/mongoose/lib/model.js:4600:16
at /home/explorer/node_modules/mongoose/lib/utils.js:264:16
at _hooks.execPost (/home/explorer/node_modules/mongoose/lib/query.js:4326:11)
at /home/explorer/node_modules/kareem/index.js:135:16
at _combinedTickCallback (internal/process/next_tick.js:132:7)
at process._tickCallback (internal/process/next_tick.js:181:9)
I have tried with everything, and it gives the same respons every time i tried to start the update. All RPC connections etc are working fine with original iquodus.
This is not an issue but more of a question, i am using your explorer as you know, before all the cluster work. My question is i know you are looking at multicoin support but i am trying to run 2 explorers on one semi decent server and i am using ssl on both however
One explorer is using port 443 for the ssl, i am trying to launch a second explorer but cannot because 443 is being used even though i have use --port 445 when sending npm start, gives me the in use error.
Just wondering if you knew of a way to launch two on the same server two different url folders with all packages in each including force ssl and forever.
Any help you can provide will be much appreciated, i have also changed the default port for both 8082 and 8083 but still try's to access 443.
I think the problem i have could be force ssl trying to open the default port even though it's used. I could be totally wrong and i can't run two with ssl.
Update:
Got it working on two different ports, but i have to use the port number at the end url:441 as the other explorer has port 80 redirected to 443 and i can't redirect the same port to two different ports as far as i am aware.
Do you know of a better way to get them to work without appending the port to the url
Hi me again
just a quick one, i am running sync.js and get the following error
/usr/bin/nodejs scripts/sync.js index update
/var/www/vhosts/explorer/node_modules/bitcoin-core/dist/src/index.js:33
function source(...args) {
^^^
SyntaxError: Unexpected token ...
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/var/www/vhosts/explorer/lib/explorer.js:9:16)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/var/www/vhosts/explorer/lib/database.js:11:11)
at Module._compile (module.js:410:26)
seems to be bitcoin-core module related, just wondered if you could help
lib\explorer.js:384
module.exports.syncLoop(tx.vin.length, function (loop) {
^
TypeError: Cannot read property 'length' of undefined
Error occurs when I do a sync.js index reindex
, let that run for a few moments, and then Ctrl+C and run sync.js index update
.
Issue appears to be that stats.last is set to -1. So since the index failed out/crashed/ended prematurely, it didn't update db.stats. We need to update stats atleast partially during an update to make sure everything is on the up and up. Atleast it should gracefully crash/restart its operation.
So in investigating, I've setup logging with 57290e0 and because of that I am able to start focusing on where things are going wrong.
So our console is showing that we're actively getting results from worker PID:19280
But in our process tree, while we see 19280 is actively running and using memory above 64mb, (just to choose 1 worker) looking at 3588 shows no movement.
The log file for 3588 shows about the same thing too, it hasn't updated since 3:23PM, let's look at the file itself.
End of log file shows us the same thing, last thing has been 3588, and there's no update_tx_db finished. Updating stats.Last to set #####
, so we're still in database.js stuck somewhere
Looking at the syncLog we see the same thing, 3588 started but there's no indication that it finished.
One thing I did run into though:
C:\Users\tim\Documents\git\official-explorer\lib\explorer.js:368
iteration:function(){
^
RangeError: Maximum call stack size exceeded
There were also Timeouts when communicating with the coin daemon. Unfortunately log4js doesn't capture those traces (and I'm not redirecting console to file). My guess is there's a try/catch that's doing throws with no returns. So we're crashing.
So, to test this out, I simply just deleted all the collections, ran "npm start" to recreate the collections for a new install, and then ran the node scripts/sync.js index reindex, or update. Either one should work fine, but it appears that because of the way we get the "end" we break.
Lines 140 to 141 in 8ed38ea
db.update_db
is suppose to set the stats.count to what the current blockcount is. Then right after all that is done, it's db.get_stats which pulls that information (a redundant call), but for whatever reason we still get left with a 0.
/root/motion-explorer/node_modules/debug/src/node.js:132
let val = process.env[key];
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/root/motion-explorer/node_modules/debug/src/index.js:9:19)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
When searching for a TX you get a page isn't working error instead of a explorer can't find error.
The block i tried to search was a payment to self, it does require 20 confirmations so may not be in the explorer yet.
search url goes to example.com/block/dcb75512cd2b4bb24b0f4c5d5eaa0a27cdb8ae422de8ad67f8cee1270efe576b
which is a web error rather than a explorer error.
Seems to be if the transaction isn't in the DB yet, but i think it should go to an internal error rather than browser error, not sure if that is how it should work.
We already have access to a daemon so we can use it for the purpose of "Label"ing in terms of addresses on the Richlist. We could add buttons saying to "claim" an address, then generate a message that would need to be signed. While i haven't yet gone through and figured out the inner workings, it's a popular feature on some block explorers.
We should be able to change GMT timezone to local!
Just wondered if anyone could help with this error, Clean install and running with npm start and i get the below error, i also know this is WIP but i cannot solve this issue.
Starting cluster with pid: 9034 /var/www/vhosts/explorer/node_modules/i18next/dist/commonjs/i18next.js:234 this.options.preload.forEach(function (l) { ^ TypeError: this.options.preload.forEach is not a function at I18n.loadResources (/var/www/vhosts/explorer/node_modules/i18next/dist/commonjs/i18next.js:234:32) at setLng (/var/www/vhosts/explorer/node_modules/i18next/dist/commonjs/i18next.js:320:16) at I18n.changeLanguage (/var/www/vhosts/explorer/node_modules/i18next/dist/commonjs/i18next.js:326:9) at Timeout.load [as _onTimeout] (/var/www/vhosts/explorer/node_modules/i18next/dist/commonjs/i18next.js:178:16) at ontimeout (timers.js:482:11) at tryOnTimeout (timers.js:317:5) at Timer.listOnTimeout (timers.js:277:5) /var/www/vhosts/explorer/node_modules/i18next/dist/commonjs/i18next.js:234 this.options.preload.forEach(function (l) {
I have not changed any dependencies just edited settings and run, as per a previous install without i18next.
any help on narrowing down the issue is appreciated - I also seen the error mentioned on another issue but i have the language change already as it was a recent download.
I know you can't reproduce it looking at your comments on the other issue, did you replicate the error, as i can't find any information on this.
Server Linux 18.04
Mongodb - 3.6.12
Nodejs - 8.10.0
Hello, i'm testing your block explorer, but i have a error when i try to reindex de blockchaing:
node scripts/sync.js index reindex
script launched with pid: 29194
(node:29194) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
Update Stats Completed.
(node:29194) DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.
(node:29194) DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.
index cleared (reindex)
tx not found: af4517dedb668073063d28d8aafe22fe19f60ecd73ba378c3beb229d67c9739f
tx not found: faddb01584632c5f39807fad76727b3ebd1786f57f57724ce219a2d9648e21bf
tx not found: de12c8b2678aa5ffb7b728042cfb7b9479c9d9569097d1ba3849bf64874e4504
tx not found: 95fb58dba4aa7c03a58a200070b869be3cc5564a2c30db1c890303a4200616b0
tx not found: 9ae391289c3c7de6af4b86ced783ba45b92763242c6cd7ad9a4150cb3effea2a
npm = 6.4.1
node = 8.16.0
blackchain = ArepaCoin
Some example: http://explorer.gainercoin.com/
related issue: iquidus#134
it may be possible to add highcharts with some db collection.
Coin: Prux-coin
Explorer Base: WIP PR
Commit: f9120b3
Issue reported in: iquidus#257
Merratzz is reporting that on a fresh install, running the initial sync index is resulting in an error with block.tx.length. This error is typical when there's no "tx" found inside the block. Better error checking needs to be put in place.
Other possible issue:
[ ] Settings.json.template is not up to date with the new additions. Possible user doesn't have correct settings.json format.
[ ] User casted doubt on genesis and genesis tx, not quite sure if they ran a vanilla IE install to ensure correct setup.
Currently running a test with a fresh install locally. Will check if a new commit is needed.
Entries list does not match how many blocks there are on the index page see screenshot (limit screen view due to unreleased coin)
As you can see from the image it shows 218 more entries than actual blocks in the DB and i also have "last_txs": 1000 so that doesn't make sense either.
Really like this explorer and want to keep using it, so just trying to point out some bugs/issues
Also i don't suppose you know how to show more than 10 entries on the index page or a setting or maybe make a setting in the json for show no entries 25 or something
Also i have a few more do you want separate issues for them all
Update - Nearly 300 entries more than blocks, the gap is getting bigger
TypeError: Cannot read property 'proof-of-work' of undefined
at /home/user/explorer/routes/index.js:356:19
at Request._callback (/home/user/explorer/lib/explorer.js:80:14)
at self.callback (/home/user/explorer/node_modules/request/request.js:185:22)
at Request.emit (events.js:198:13)
at Request.onRequestError (/home/user/explorer/node_modules/request/request.js:881:8)
at ClientRequest.emit (events.js:198:13)
at Socket.socketErrorListener (_http_client.js:392:9)
at Socket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
api section works fine and is getting all the info such as get difficulty.
The coin has worked with the older explorers.
So an issue that I'm finding is that there's occasionally CONNREFUSED happening from the Daemon while the workers are doing their thing. After this error is thrown, the worker is stalled (#24). So we need a way for the workers to tell the master they're still working, and if they're not (but still alive) then the Master needs to kill them and start a new one in its place.
The problem is that cluster.workers[].process.env isn't a thing; You can't restart a worker (no cluster.workers[].restart, etc. You're basically just stuck with a dead process. This almost certainly has to do with the amount of communication we're throwing at the Daemon, but we really need a way to address this.
Just noticed on movement page, the result header is missing Tx-Id so the results are all shifted left
I removed
Lines 68 to 73 in 8f18b99
and added
.col-xs-12.col-md-12(style="margin-bottom: 5%")
.panel.panel-default
.panel-heading
strong= t('movement.latest')
table#alerts-table.table.table-bordered.table-striped
thead
tr
th.text-center= t('movement.timestamp')
th.hidden-xs.text-center= t('movement.txid')
th.text-center= t('movement.amount_coin',{coin : settings.symbol})
tbody.text-center
.footer-padding
Not sure if your code is intentional or not just thought i would mention it, spacing and tables match all other pages except network gonna look at that now.
When i enable lengthChange the dropdown shows but the header isn't like masternodes
First image does not have a header box like 2nd image, code could be wrong still working on it
Right now we've fallen behind on maintaining iquidus, I'm merging uaktags fork with iquidus master, make sure that holds and start accepting the PRs.
Uaktags had a few features:
-Logger for better logging
-i18n for internationalization
So one thing that I was thinking of, which has nothing to do with the code/project of the explorer, but I wonder how stability would be handled if there were multiple coin daemons that the workers could communicate with.
The thought process would be to either extend the settings.json to have multiple wallets, with an order of priority setup. Then the users can either set multiple guys and we'll just go in order as workers are being created (roundrobin) and use each daemon. Alternatively, test with having a loadbalancer in the mix to route traffic to a wallet. This would be perfect for those that are on public webhosts that offer such functionality (like ionos).
cd /home/ubuntu/explorer && /home/ubuntu/.nvm/src/node-v6.17.1/node scripts/sync.js index update
script launched with pid: 10289
Update Stats Completed.
/home/ubuntu/explorer/lib/database.js:797
lib.syncLoop(block.tx.length, function (subloop) {
^
TypeError: Cannot read property 'length' of undefined
at /home/ubuntu/explorer/lib/database.js:797:36
at Request._callback (/home/ubuntu/explorer/lib/explorer.js:122:14)
at Request.self.callback (/home/ubuntu/explorer/node_modules/request/request.js:185:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/home/ubuntu/explorer/node_modules/request/request.js:1161:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage. (/home/ubuntu/explorer/node_modules/request/request.js:1083:12)
at IncomingMessage.g (events.js:292:16)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:978:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
Currently Iquidus Explorer is a all-in-one package: The frontend nodeJS Web App that people can view to explore the BlockChain, and a backend Sync tool which does all the heavy lifting. With the enhancements of clustering (both via cpu and the possibility of using multiple systems) there's a need now to separate the two. The backend, with the introduction and soon deprecation of "use_rpc", we no longer need the explorer to be visible to the backends to do our syncing. So this opens up numerous possibilities like Multi-Coin functionality as well as building better, more diverse applications for the front end to function and grow.
A few benefits of removing the Sync from the Frontend:
/explorer# npm start
[email protected] start /home/explorer
node --stack-size=10000 ./bin/cluster
Starting cluster with pid: 25685
(node:25759) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(node:25753) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(node:25734) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(node:25709) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
events.js:174
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND 127.0.0.1:3001
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
Emitted 'error' event at:
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1458:12)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:17)
versions :
Mongod : db version v4.2.1
NodeJS v10.17.0
See d46c873
Masternodes and network do not show on the pages, the cron runs but no data parsed
I know this WIP just trying to iron out some issues before our coin launch, we really like the modifications you have done.
Also the icons are really close to the data in the blocks see above image were maternodes is null the icon is right next to null no space same as supply and diff ect in the blocks along the top.
622526: 16645814a60898b9f4717d18f57af8110d66a02f189ecd8ee4529ff6a1ee46ea
update_tx_db finished. Updating stats.Last to set 622526
worker 10602 died
There are still 0 workers
Updating Richlist - Recieved
Updating Richlist - Balance
Getting Stats
Updating CronJob_Run
root@explorer:~/explorerV3# elicoin-cli getblockcount
623700
root@explorer:~/explorerV3# /usr/bin/nodejs scripts/sync.js index check 2>&1 | tee sync-logV3_1.txt
script launched with pid: 12437
(node:12437) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
Please wait, generating a list of blocks.
Done, moving on to checking what blocks are in the DB.
There are 606966 known blocks
Update Stats Completed.
/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/utils.js:132
throw err;
^
TypeError: Cannot read property 'length' of undefined
at clusterStart (/root/explorerV3/scripts/sync.js:143:56)
at /root/explorerV3/scripts/sync.js:324:13
at /root/explorerV3/lib/database.js:771:20
at callback (/root/explorerV3/node_modules/mongoose/lib/query.js:4015:9)
at /root/explorerV3/node_modules/mongoose/lib/query.js:4249:12
at result (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/utils.js:410:17)
at session.endSession (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/utils.js:398:11)
at ClientSession.endSession (/root/explorerV3/node_modules/mongoose/node_modules/mongodb-core/lib/sessions.js:134:41)
at executeCallback (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/utils.js:395:17)
at updateCallback (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/operations/collection_ops.js:1413:3)
at updateDocuments (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/operations/collection_ops.js:1502:62)
at handleCallback (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/utils.js:128:55)
at coll.s.topology.update (/root/explorerV3/node_modules/mongoose/node_modules/mongodb/lib/operations/collection_ops.js:1467:5)
at /root/explorerV3/node_modules/mongoose/node_modules/mongodb-core/lib/connection/pool.js:397:18
at _combinedTickCallback (internal/process/next_tick.js:132:7)
at process._tickCallback (internal/process/next_tick.js:181:9)
root@explorer:~/explorerV3#
stats.Last is 622526
real last is 623700
checking is 606966 Update Stats Completed - but that's not true
Balance wallets, Coin Supply, (on the web) also have incorrect values
In the aspect of user privacy server should not log the txhash url when user browse them....
Hi,
I have a question regarding api/getpeerinfo and api/gethashinfo
I am trying to block external calls to these to api elements and only allow localhost and server and i don't have Nginx installed so i have been trying to block them via apache but with no luck.
Do you have any suggestions on how to do this i have used in apache2.conf and 000.default.conf
<Location /api/getpeerinfo>
Deny from all
Allow from 127.0.0.1
Allow from server ip
does not seem to work from what i can tell, using apache2 2.4
Just wondered if it was possible, i know you can do it with Nginx but i would need to reset a lot of things to get it to install correctly, just hoping not too as i use SSL.
at /home/ubuntu/.explorer/lib/database.js:831:78
at Request._callback (/home/ubuntu/.explorer/lib/explorer.js:223:16)
at Request.self.callback (/home/ubuntu/.explorer/node_modules/request/request.js:185:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request.<anonymous> (/home/ubuntu/.explorer/node_modules/request/request.js:1161:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage.<anonymous> (/home/ubuntu/.explorer/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
This happens while syncing
I have noticed if you press search with nothing in the box you get a page isn't working and the address bar showing
/block/[object%20Object]
Normally it would show an error text saying no results found i am assuming this from translation should kick in error": "Error! - {{error}}
Unmodified explorer is - "ex_search_error": "Search found no results for: ",
clean installation of Debian 9
node 8.16.0
npm 6.4.1
mongod 4.0.1
clean installation - git -b cluster-sync (last)
coin: Elicoin
After starting reindex
and after that update
started running but probably (for the first time) from 10000 blocks synchronization stopped with announcement There are still 0 workers
.
log selection how workers disappear:
script launched with pid: 23047
(node:23047) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
Update Stats Completed.
Workers needed: 60606. NumThreads: 4. BlocksToGet 606059. Per Worker: 10 624904 18845
There are 4 workers
...............
18883: 9319eb43ccc25654b63a14e8cfa9513d535c705935958037f0510bf80d3c4ff2
update_tx_db finished. Updating stats.Last to set 18883
worker 23079 died
There are still 3 workers
...............
22543: f6d5fc59a96f6ad0af888e225397821f60ab34b3b498b98229a5044756f2bce3
update_tx_db finished. Updating stats.Last to set 22551
worker 28504 died
There are still 2 workers
There are 60235 workers still needed
...............
scriptPubKey:
{ asm: 'OP_DUP OP_HASH160 08e6ccc23513: 3c1cce2bd5001e219253f27b7212aae2f2dec7f4d8197cef31c278ad1bfd70bc
worker 29937 died
There are still 1 workers
There are 60139 workers still needed
update_tx_db finished. Updating stats.Last to set 23513
worker 29965 died
There are still 1 workers
There are 60138 workers still needed
...............
27243: 1a21d8a3355d15fdb78ddca026eda816af4849c7b98f14d6ec82fcc97544b776
update_tx_db finished. Updating stats.Last to set 27246
worker 3326 died
There are still 0 workers
Updating Richlist - Recieved
Updating Richlist - Balance
Getting Stats
Updating CronJob_Run
I have a few different versions of the iquidus explorer working successfully but i cannot get this version to run. I really want to use this one since @uaktags keeps updating and it looks solid. Id love to know what node, npm, linux, and mongo versions you are running just so i can rule some stuff out.
Thanks!
No data available in table although it has 22 peers connected https://explorer.cpuchain.org/network
https://explorer.cpuchain.org/address/CPZ1y3vwjW8xcqL7H7w2xdSvRipUMatG11
Very strange π€
uaktags/iquidus-explorer-exchanges#3
So it was brought up/asked about making a market integration for these coin trackers. The hesitation I have comes from the fact that these aren't markets, so they're missing things that need to be shown in a market, and they provide an avg overview rather than the knowledge of what the price is currently.
However, I've already made the explorer allow multiple markets to show, we could in theory change the header widget to being a price ticket from the trackers, and still provide Market functionality with anywhere from 1 to multiple markets.
So the idea currently, discussion is welcomed, to have a setting just like markets, but to be for CMC/CG/CC, and a toggle of display the Enabled-Market or the Enabled-Tracker. The tracker would then provide a JS output of the price as a whole (CoinPage could also use some loving from this info too), and the markets will just keep their functionality.
Coininfo is missing from settings.json - i have added the setting true or false but i think i am missing something for it to show the page
/var/www/vhosts/explorer/views/coininfo.pug:31 29| h5.sub=t('coininfo.coin_supply') 30| .row.info-row > 31| if settings.coininfo.masternodes.enabled 32| .col-md-4 33| h4 #{totalMasternodes} 34| h5.sub=t('coininfo.total_nodes') Cannot read property 'enabled' of undefined
I don't think app.js looks for a toggle or index i will look at previous explorer i used to see if that is the case.
Sorry to keep adding issues, i am trying to fix these i was okay with jade but a lot of things changed and i haven't quite caught up.
So currently there's two main logic areas:
The Cluster or (app.js)
and
The Sync script.
The Cluster/app.js merely is just the explorer itself that controls the express webapp. However, this also is our linkage point to the backend coin which the Sync script relies on.
The Sync script, currently just a simple "start from Block 1 (or last sync'd block) and go up from there" sends all of its API calls to app.js and that communicates out to the wallet based on settings.json.
There's not much really stopping us from turning this into a multi-coin explorer if a few things are done first.
Number 3 is where things would probably get tricky, but my theory is this:
to be continued.
I started a new sync on the second server and here are the error logs I spoke about. After the last error, the sync stops. I waited for about 30 minutes.
http://coalmine.eu/log-node.txt
http://coalmine.eu/sync-log.txt
I found a very similar error here
janoside/btc-rpc-explorer#49
While looking at the idea of #13, I started wondering, if we have a separate sync.js application, would it be faster to communicate via cli vs TCP/RPC. Keep the sync and daemon local to eachother, only have 1 connection outbound to the mongodb.
To test, I'm going to try doing a timed reindex of Vulc for 10minutes say 3x each. So 3x with RPC to localhost daemon, 3x RPC to a remote server on a LAN, and 3x with local cli. The goal is to see if we'll get any performance improvement.
Currently every exchange needs to be hardcoded even though we just pass the same information to it. This should be refactored to automatically load the exchanges based on settings and just pass the info correctly.
Any manual available?
I have a goal of removing cluster module and replace it with PM2. I've found it to be much easier to work with, plus i hate the use of .pids. Just let a Process Manager deal with everything.
clean installation of Debian 9
node 8.16.0
npm 6.4.1
mongod 4.0.1
clean installation - git -b cluster-sync (last)
coin: Elicoin
I don't know if you tested the launch of a new database. When you first run npm , each worker creates records in db (created only once).
I could not always start the
index update
with the result
Update Stats Completed.
0
I am using master branch last commit july 2019 and latest nodjs and mongodb but for some reason when i try to sync the explorer with the wallet i get the following error.
tx not found: 7c8db41e3384232648be8d833f30603dd30aa208811e0b93a0f7d96af32ff626
and output from explorer is
GET /api/getrawtransaction?txid=7c8db41e3384232648be8d833f30603dd30aa208811e0b93a0f7d96af32ff626&decrypt=1 200 2.853 ms - 39
{
name: 'SyntaxError',
message: 'Duplicate key "hex"',
at: 2016,
text: '[{"result":{"hex":"0100000001fa686755504a0dbbe8cac35e3f033e47b3d64f293dee0e64899599e175ab546a020000004847304402207f7461039c2cb41aa93abaf6968e46debd0957755b5ff6ff787206c1883272760220296f953d16beee27d809c50ab7922e8ec19a8c816127631ea37416ca18714fef01ffffffff0400000000000000000040c2ad74610100002321024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28ac4034371d180100002321024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28ac008e7657490000001976a91402d4e232808e04af604d990c6be0693be673fddb88ac00000000","txid":"7cbc2a2e4cb204c227048e9ecfc742259b618ecc11edfd04b7b06b59c10b3e5a","version":1,"size":254,"locktime":0,"vin":[{"txid":"6a54ab75e1999589640eee3d294fd6b3473e033f5ec3cae8bb0d4a50556768fa","vout":2,"scriptSig":{"asm":"304402207f7461039c2cb41aa93abaf6968e46debd0957755b5ff6ff787206c1883272760220296f953d16beee27d809c50ab7922e8ec19a8c816127631ea37416ca18714fef01","hex":"47304402207f7461039c2cb41aa93abaf6968e46debd0957755b5ff6ff787206c1883272760220296f953d16beee27d809c50ab7922e8ec19a8c816127631ea37416ca18714fef01"},"sequence":4294967295}],"vout":[{"value":0.00,"n":0,"scriptPubKey":{"asm":"","hex":"","type":"nonstandard"}},{"value":15180.81,"n":1,"scriptPubKey":{"asm":"024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28 OP_CHECKSIG","hex":"21024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28ac","reqSigs":1,"type":"pubkey","addresses":["TSvM6H7tmdQnqL6bJMc1YAXskCtESeuWkn"]}},{"value":12030.81,"n":2,"scriptPubKey":{"asm":"024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28 OP_CHECKSIG","hex":"21024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28ac","reqSigs":1,"type":"pubkey","addresses":["TSvM6H7tmdQnqL6bJMc1YAXskCtESeuWkn"]}},{"value":3150.00,"n":3,"scriptPubKey":{"asm":"OP_DUP OP_HASH160 02d4e232808e04af604d990c6be0693be673fddb OP_EQUALVERIFY OP_CHECKSIG","hex":"76a91402d4e232808e04af604d990c6be0693be673fddb88ac","reqSigs":1,"type":"pubkeyhash","addresses":["TAEBNrSqcHzpBBzvhUxW6ENd9HW8zZ37gx"]}}],"hex":"0100000001fa686755504a0dbbe8cac35e3f033e47b3d64f293dee0e64899599e175ab546a020000004847304402207f7461039c2cb41aa93abaf6968e46debd0957755b5ff6ff787206c1883272760220296f953d16beee27d809c50ab7922e8ec19a8c816127631ea37416ca18714fef01ffffffff0400000000000000000040c2ad74610100002321024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28ac4034371d180100002321024741fb6295715085a4b0d93536f564cc922ad2a0663cf65c136d06dc4b2b2d28ac008e7657490000001976a91402d4e232808e04af604d990c6be0693be673fddb88ac00000000","blockhash":"68b85bb9eb276c542ab516c3a7ebec4a3fe65846b0b2668a3a96198c79c7234e","confirmations":51759,"time":1574971263,"blocktime":1574971263},"error":null,"id":"1579806226047-0"}]\n'
I know in a previous issue this was mentioned but unsure if it was fixed, i don't have the time issue as it's only in the source code once.
Any help with is is appreciated, i am using master as it has masternode page, seems other branches do not.
I have noticed that decrypt=1 on the api url generates an error check console not sure if that is the issue
Much to the same extent as iquidus#287, this is a pinned announcement of a collection of Exchanges. I don't want to be doing any more pull requests for exchanges as they seem to come and go all the time over the past 2-3years. Instead, I'll do PR's for them at this external repo and people can pick and choose what they want.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.