samrushing / caesure Goto Github PK
View Code? Open in Web Editor NEWPython Bitcoin Node
License: Other
Python Bitcoin Node
License: Other
Just wonder if this is a full node or you still rely on a bitcoind node running in order to get to use this.
Whats the difference between this project and pycoind?
On startup I get plenty of blocks, but this peters out after a few minutes. I'm still getting INV and ADDR messages, however.
I'm seeing multi-second latency warnings in feed_block... at first I thought it was disk I/O, but now I think there's a serious problem with the txmap::outpoints class... need to experiment with replacing that vector with a set. The reason I say this is that I can see a series of 20-30 blocks fly by, each taking a fraction of a second. Then a block comes in that takes several seconds to process.
Thanks. EOM
syadasti@caesure:/usr/local/caesure$ time python ~/caesure/scripts/convert_bootstrap.py bootstrap.dat
Traceback (most recent call last):
File "/home/syadasti/caesure/scripts/convert_bootstrap.py", line 23, in <module>
assert (magic == '\xf9\xbe\xb4\xd9')
AssertionError
real 0m0.011s
user 0m0.000s
sys 0m0.011s
syadasti@caesure:/usr/local/caesure$
I installed cython using sudo apt-get install cython
. Any suggestions?
$ uname -a Linux ip-172-31-25-90 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux $ cython --version Cython version 0.20.1post0 $ sudo python setup.py install ... ... cythoning caesure/txfaa.pyx to caesure/txfaa.cpp Error compiling Cython file: ------------------------------------------------------------ ... for n, d in walk_depth (self.root, 0): fout.write ('%s%4d %r:%r\n' % (' ' * d, n.level, n.key.encode('hex'), n.amt, n.script)) def new_entry (self, bytes txname, object vals): for index, amt, script in vals: self.root = tree_insert (self.root, make_key (txname, index), amt, script) ^ ------------------------------------------------------------ caesure/txfaa.pyx:308:57: Obtaining 'char *' from temporary Python value Error compiling Cython file: ------------------------------------------------------------ ... cdef extern from *: ctypedef uint64_t X 'uint64_t' ^ ------------------------------------------------------------ pair.from_py:152:13: 'uint64_t' is not a type identifier building 'caesure.txfaa' extension x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c caesure/txfaa.cpp -o build/temp.linux-x86_64-2.7/caesure/txfaa.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] caesure/txfaa.cpp:1:2: error: #error Do not use this file, it is the result of a failed Cython compilation. #error Do not use this file, it is the result of a failed Cython compilation. ^ error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
"setup.py install" ends up getting the shared libraries generated by cython and the contents of caesure/ installed into sys.path nicely, but a workaround is needed to run bitcoin.py from the tree:
syadasti@uberlemur:~/caesure$ python setup.py build
(all is well)
syadasti@uberlemur:~/caesure$ sudo python setup.py install
(all is well)
syadasti@uberlemur:~/caesure$ python bitcoin.py
Traceback (most recent call last):
File "bitcoin.py", line 32, in <module>
import caesure.proto
File "/home/syadasti/caesure/caesure/__init__.py", line 2, in <module>
import script
File "/home/syadasti/caesure/caesure/script.py", line 529, in <module>
from caesure._script import parse_script, unparse_script
ImportError: No module named _script
syadasti@uberlemur:~/caesure$ ls -l caesure
total 104
-rw-rw-r-- 1 syadasti syadasti 37 Sep 19 21:57 __init__.py
-rw-rw-r-- 1 syadasti syadasti 157 Sep 19 21:59 __init__.pyc
-rw-rw-r-- 1 syadasti syadasti 2481 Sep 19 21:57 opcodes.h
-rw-rw-r-- 1 syadasti syadasti 11840 Sep 19 21:57 proto.pyx
-rw-rw-r-- 1 syadasti syadasti 22618 Sep 19 21:57 script.py
-rw-rw-r-- 1 syadasti syadasti 35355 Sep 19 21:59 script.pyc
-rw-rw-r-- 1 syadasti syadasti 8020 Sep 19 21:57 _script.pyx
-rw-rw-r-- 1 syadasti syadasti 9204 Sep 19 21:57 wallet.py
syadasti@uberlemur:~/caesure$ ls -l /usr/local/lib/python2.7/dist-packages/caesure
total 740
-rw-rw-r-- 1 root staff 37 Sep 19 20:31 __init__.py
-rw-r--r-- 1 root staff 173 Sep 19 20:32 __init__.pyc
-rwxrwxr-x 1 root staff 434469 Sep 19 20:32 proto.so
-rw-rw-r-- 1 root staff 22618 Sep 19 20:31 script.py
-rw-r--r-- 1 root staff 37403 Sep 19 20:32 script.pyc
-rwxrwxr-x 1 root staff 221244 Sep 19 20:32 _script.so
-rw-rw-r-- 1 root staff 9204 Sep 19 20:31 wallet.py
-rw-r--r-- 1 root staff 7404 Sep 19 20:32 wallet.pyc
syadasti@uberlemur:~/caesure$ mv caesure/ ca
syadasti@uberlemur:~/caesure$ python bitcoin.py
(all is well)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.