Fellow Bitcoiners,
I've open sourced the code that runs blockexplorer.com:
https://github.com/lirazsiri/blockexplorerSince the original code was written by Theymos in a messy sprint of inspiration I volunteered for janitorial duty and have started a rewrite. What I've done so far:
- separated model/view/content
- eliminated most code repetition
- improved readability across the board
- added a templating system (smarty)
- created improved abstraction layers for caching, database and bitcoind RPC API
- moved various hardwired configurations that were interwoven in various spots in the code into a single configuration file
- eliminated use of gotos and globals
- fixed the most glaring performance issues
Unfortunately I ran out of time before I could finish the rewrite and release the new code with all the major issues ironed out. I plan on getting back to this as soon as possible but in the meantime it'll probably be better to have the code out there where it might do some good rather than keep it hidden away on my hard disk.
Why the delay? When I started the project I didn't take into account the state of the complexity of the old code and that before I could jump into the code I'd have to spend time migrating the site to a new server that could handle the load and wasn't about to run out of SSD disk space. Without the new server blockexplorer would have stopped working around March.
Also getting the code into shape was more work then I had anticipated. I nearly finished the rewrite but was then forced to put blockexplorer.com development on the back burner around May and get back to my main "job" developing TurnKey Linux. We had another release coming out and I had already given blockexplorer more time than I had originally planned.
As many of you know Michael Marquardt AKA Theymos originally wrote Bitcoin Block Explorer, the first web based blockchain exploration tool. Unfortunately, with everything else he's got going on, including being an admin for Bitcointalk, he didn't have time to continue maintaining and developing the site so when I offered to take the site off his hands and turn it into an open source project he passed the torch to me:
https://bitcointalksearch.org/topic/m.1539613Unfortunately I don't have that much free time either - since I usually have my hands full developing TurnKey Linux. But I figured I had at least enough time to liberate the site code and bootstrap it into an open source project, by the Bitcoin community, for the Bitcoin community. blockchain.info has done a great job but it isn't open source and I think it would be contrary to the spirit of Bitcoin to give any one site a monopoly in this area.