I released the source code for PyBtcEngine the other day in
this thread. It is a highly-efficient, standalone, computational engine for Bitcoin development in Python, using C++/SWIG in the background. Since then, I have created a powerful block-explorer to demonstrate what the library can do (compare to
the same info on blockexplorer.com):
Full size img available
hereThis GUI is by no means complete, but it is usable and demonstrates the completeness of functionality available in Python with PBE. You can search by block number, or any hash in any endianness - and there are no temporary/helper files to do this -- everything is loaded from blk0001.dat in less than 20 seconds!
Recent Updates:- Tested on Ubuntu 11.04 64-bit, and 10.04 32-bit with both Python 2.6 and 2.7. Some strange display issues with it in 10.04 in VirtualBox, let me know if you it works for you.
- GUI auto-updates when your client receives new block data.
- Still haven't figured out running it on Windows, but I've done most of the hard work -- included MSVS 2010 project with the swig command as a pre-build event and compiles the wrapper. Will be adding MSVS 2005 project soon.
There's a billion things I'm working on adding, such as address views/searching (implemented in the library, but not part of the GUI, yet), multiple search results, and more detailed information on double-click. Suggestions are welcome, but I have plenty of low-hanging fruit to grab.
Compiling and using this library in Ubuntu is very easy if you have Python 2.6 or 2.7:- sudo apt-get install build-essential libcrypto++-dev swig libqtcore4 libqt4-dev python-qt4 python-dev
- git clone git://github.com/etotheipi/PyBtcEngine.git
- cd PyBtcEngine/cppForSwig
- make swig
- cd ../pyqt
- python blockexplore.pyw
If the library didn't autodetect your blockfile, you can supply it as the first/only argument to the blockexplore script, usually ~/.bitcoin/blk0001.dat. Keep in mind, this is still the full-RAM implementation, so it's going to store
everything in RAM while you use it: about 1GB.
I will be making it more lightweight in the future, but at the moment I'm focusing on implementing new features, and improving access to the existing ones.
PLEASE HELP me figure out how to get this running in Windows. I have everything compiling and automated in MSVS. However, I cannot seem to import the module/dll
or PyQt4, so the GUI won't load. I hope someone with more experience can help me figure this out.
To learn more about the library, read "Using_PyBtcEngine.README" in the root project directory, and see my
intro thread on PyBtcEngine for more information.