Skip to content
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

WIP: Update Iquidus Explorer, fix vulnerabilities, add new features #252 #257

Closed
wants to merge 116 commits into from

Conversation

uaktags
Copy link
Collaborator

@uaktags uaktags commented Jan 4, 2019

There's a ton of commits not shown from my remote git repo:

  • Added new themes from bootswatch and removed the obsolete ones
  • Updated deps to mitigate vulnerabilities found from npm audit.
  • Migrated from jade to pug due to deprecation
  • As my repo is a combination of Iquidus and Ciquidus, I removed chaincoin references to go back to a vanilla state (note should be made later of their use and inclusion before Pull Request is merged).
  • Worked on peers sync issue due to Network tab (Peers) not purging #253
  • Added server-side processing for the latest transactions for Dynamic loading DataTables full history of paginations on first page #256 (this still needs work as I think it's ugly showing the collection.count. Haven't spent enough time looking at DataTables to figure out how to avoid that.)
  • Removed the hardcoding of Crypto-API commands and instead went with a modular design. See coin_commands folder for more information.
  • Removed hardcoding of the social links and instead opted for creating an array that can be dynamically sized and not need recoding to happen.

Probably more. This also saw the creation of https://github.com/uaktags/Bitcoin-Node-Api due to vulnerabilities with express 3.x.

Shoutout to @suprnurd for his Ciquidus fork as that was the version I started tinkering with due to the Masternode inclusion.

Later I do want to tackle https://github.com/SigwoTechnologies/explorer for their expanded Masternode views and graphs. According to #134 this appears to be the best example of this but I've yet to test it and like me they didn't do a native fork on Github, so I can't see the exact changes and will need to nitpick.

@uaktags
Copy link
Collaborator Author

uaktags commented Jan 4, 2019

I found that /tx/:hash can get really bogged down since it's returning all records. However, due to #249 there wasn't really a way to do serverside processing in a clean manner like I was able to do with the get_last_txes. So I created a method to do this. It works, but doesn't mean it's great. I really need to make sure we come back to this and fix it later:
bc25fe0#diff-0364f57fbff2fabbe941ed20c328ef1aR102.

This is all done via an aggregate:

 Address.aggregate([{
        $lookup: {
          from: "txes",
          localField: "txs.addresses",
          foreignField: "txid",
          as: "txs"
        }
  
      },
      {
        $match: {
          "a_id": hash
        }
      },
      {
        $project: {
          totalTxes: {
            $size: "$txs"
          },
          txes: "$txs",
          type: "$type",
          timestamp: "$txs.timestamp"
        }
      }
    ], function (err, count) {
      if (err) {
        return cb(err);
      } else {
        return cb(count[0]);
      }
    });

yikes

@uaktags
Copy link
Collaborator Author

uaktags commented Jan 5, 2019

Started an import of DSTRACoin/diquidus fork since it too follows some ideas from me (updated to pug, used ciquidus as base, etc). Their fork also brought forth better language support which should be nice. Currently commit 23c7479 is partially coded with the i18 support. My main focus was going through all of the libraries and make sure that I didn't have any missing functions from that fork.

@uaktags uaktags mentioned this pull request Jan 10, 2019
9 tasks
@uaktags
Copy link
Collaborator Author

uaktags commented May 31, 2019

https://github.com/uaktags/explorer/tree/cluster-sync is where the current branch that's attacking the clustering portion is taking place. If anyone has good experience with clustering or can help where I'm failing, please by all means do.

The current issue I'm needing to solve is the fact that I'm hitting the daemon so hard that after some time it causes the daemon to produce ECONNREFUSED which then kills the workers. I've started monitoring the workers and can restart/refork new workers as needed after killing any that are stalled out, but I'm leaking memory and end up really slowing down the process until it all fails.

@iquidus
Copy link
Owner

iquidus commented Jun 6, 2019

@uaktags check your invites, added you to collaborators.

@uaktags
Copy link
Collaborator Author

uaktags commented Jun 6, 2019

Very cool, thank you!

@uaktags uaktags mentioned this pull request Jun 25, 2019
@RottenCoin
Copy link

RottenCoin commented Aug 5, 2019

Hi. I updated "font awesome" to get Discord logo, but I was too lazy to change all the links , so just modified existing ones to what I needed. http://explorer.omegablockchain.net/
Obviously all icon names are different. Had to update all of them.

layout-jade.txt

@TheHolyRoger
Copy link
Collaborator

TheHolyRoger commented Dec 16, 2019

Too much in one PR...

Edit: I've had a closer look - some interesting stuff in here but a lot of bad syntax, spacing etc.

If you can split it into a few different PRs/branches so we can all review it would be great! I can already see some stuff I'd like to use/cleanup

@uaktags uaktags closed this Jul 2, 2021
@uaktags uaktags deleted the branch iquidus:master July 2, 2021 14:57
@uaktags uaktags deleted the master branch July 2, 2021 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants