-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhancements for future updates #252
Comments
Some side project ideas to kind of support/compliment Iquidus:
|
So I attempted to set the cluster based on Blocks. My initial thought process was to divide the workload (# of blocks or 'stats.count') by the 4 (small test to check how well it scales). This required changes to sync.js. It was promising in the beginning as the coin I tested had 10k blocks that only had a single tx, so in a matter of 7minutes we had all but 1 worker finished working. This meant that the remaining blocks, some of which had 1k txes each) were still left to a single process. We completed our test at only shaving 1-2 minutes which isn't anything. So I then I started to think that perhaps we could do it on a basis of splitting the txes per block to each worker. So foreach blocks (stats.count) -> foreach transaction (block[i].tx.length) assign tx to a worker up to 4 workers. However, with this method, I've yet to figure out the logic and code needed to create/run this test. So yea....roadblock on clusterizing the sync. |
Themes added/removed: Removed:
Added:
|
I've started working on Security Vulnerabilities as presented by npm audit. Now is the tedious task of fixing anything that was removed/changed between Jade and Pug2 migration in the jade files. |
I implemented #256 as it definitely does feel faster. Only downside is the console is filled with urlencode junk from the table refresh. |
Started incorporating @suprnurd 's ciquidus bitcoin-node-api functions. However, since the crypto-world is opensourced, there's no definitive schema for commands. Vulcano, which I test on, has masternode functions that differ from chaincoins. As long as there's different coins, and different coins can have different apis, then we need to be able to dynamically load them without changing dependencies. My solutions was to create a folder to store json files.
Then, based off of my settings.json file, I decide which commands are needed:
Then during the app.js load, it now does the following logic:
Now we can modularly support any coin without changing the code. Just specify what coin commands you need. This could use some more thought/work, but it works for a proof of concept. |
Okay, started working on getting social settings a bit more streamlined. Currently, if you need to add/remove a link (website, google+, etc) you'll add it to settings.js, settings.json, and then add it to the template. I've instead decided to add a "social" object which then gets parsed and templated dynamically. settings.json
app.js
layout.jade
Now if I wanted to, I could completely delete out twitter,slack, etc all the things I don't want. I can then add in discord
No longer does anything need to be recoded, it's a setting, just add/remove your settings. |
This is the work I've been doing for issue iquidus#252. A number of cosmetic changes have been made as well as fixing a few security vulnerabilities found during npm audits.
With #257 and commit bc25fe0 I started work on the api for verifymessage. This isn't built into the BitcoinNodeAPI so I had to start doing that as well. Basically added verifymessage as a SpecialAPICase, urlDecoded the signature, and I was good to go. VerifyMessage only returns True/False and then the help/man output for Verifymessage, so some work is needed for parsing that. Later I'll add labels to the database (or maybe just add a new field to addresses). Basic premise is to have a form on /address/:hash/claim. ":hash" is a disabled input, and the user is presented with a field for a "display name" and "signature". These correspond to "message" and "signature" respectively. They validate they can sign a message, they own that address, they can set the name. Pretty simple concept. |
So if you're following everything in uaktags/explorer or in my PR, then you'll know that I've gone ahead and cluster-ized the sync process. However, once you do, things get a bit unstable. I'll be pushing it as a settings option for others to try it as they wish. |
Wonderful work on this !!! I'll try to remember to setup donation addresses for you in every coin i help out and use your fork. |
So since the #33 was closed I figured I'd start working on doing my own set of updates and was curious on what could be some things to bring in. I'm more likely not going to tackle the Plugin Support, but I have been looking at adding more customization options and APIs.
Some things I was thinking of doing:
Some new APIs I'm looking for
Some pull requests that I found to be of interest
Any other suggestions?
The text was updated successfully, but these errors were encountered: