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.