Please note that this proposal has been accepted by @bakon and his improvements/submissions will be prioritized for payment provided that they’re of acceptable quality.
ETC has an opensource block explorer, currently hosted at etherhub.io. However the code has several bugs that require active monitoring and restarting of the website. This has led to regular downtime and made etherhub generally hard to use.
Additionally, Ethereum-based networks do not currently have a reliable opensource block explorer.
Improve the block explorer by fixing bugs in both the block grabber and the webserver.
The project sourcecode is located here: https://github.com/ethereumproject/explorer
For each of the items below the code will be reviewed, changes/improvements suggested as necessary, and finally deployed on etherhub.io. Tasks will be considered complete once the software runs for a week on etherhub.io without issue.
Each of the below items has a corresponding GitHub issue. Please use those when either asking questions or submitting patches. One patch per bounty item below.
All patches will need to be made to your own fork of the upstream branch and submitted via pull request on GitHub.
Your patches must also build without issue in Travis-CI; though if your build is working this should work just fine as well.
The following needs to be fixed.
Personnel - Remove unused/dead links. Hide stats until they’re patched/working again. - $100 - Bounty - GitHub Issue #88
Personnel - Fix
app.js crashing issues, currently crashes periodically when retrieving hashrate data from minergate. - $750 - Bounty - GitHub Issue #89
This is a two-part issue:
- Remove the charts that compare ETH/ETC on hashrate and price.
- Stop querying minergate.com for hashrate (how to calculate), calculate it directly from the node. This may be best done by having
grabber.jscalculate and store the data in MongoDB whenever it retrieves new blocks. But implementation details are up to you.
Personnel - Fix
grabber.js crashing issues. Sometimes
grabber.js will up and crash at certain blocks (requiring a restart of the service). Other times it will stop getting new blocks (without crashing). There may also be some issues with it communicating with newer versions of Geth. This may best be done as a full rewrite. - $1,150 - Bounty - GitHub Issue #90
- Runs without crashing or halting (stopping syncing but process continues to run)
- Reliably fetches new blocks
- Reliably fetches old blocks (there may be an issue where grabber is crashing on very early blocks)
- Works with both mainline geth and parity (either with or without
--gethcompatibility mode; without is preferred)