Commit Graph

272 Commits

Author SHA1 Message Date
Jude Nelson
56eb31ea34 Include the revoke operation 2015-08-11 17:28:35 -04:00
Jude Nelson
b6b0b204c9 Parse NAME_REVOKE; print out debugging info when we find an unparseable
nameop.
2015-08-11 17:28:12 -04:00
Jude Nelson
28cbd5c42a Fix typos found during testing 2015-08-11 17:27:54 -04:00
Jude Nelson
4b7a9c76e2 Add NAME_REVOKE op length; correct NAMESPACE_DEFINE op length 2015-08-11 17:27:29 -04:00
Jude Nelson
47f2a86de2 Pass privatekey to namespace_define 2015-08-11 17:27:08 -04:00
Jude Nelson
ce5d574fec Remove dead code. blockstore/client.py and blockstore/blockstore_cli.py
have been rewritten in the blockstore-client project.
2015-08-11 15:06:22 -04:00
Jude Nelson
e0c1d7ab38 Update package URLs and license in setup script 2015-08-11 15:06:11 -04:00
Jude Nelson
f0d69e2089 Remove parsing 2015-08-11 15:06:03 -04:00
Jude Nelson
caf6211a45 Blockstore, not blockstack state engine 2015-08-11 15:05:49 -04:00
Jude Nelson
46847ede36 Switch to GPLv3; update copyright 2015-08-11 14:53:29 -04:00
Jude Nelson
46a168cdc2 Add [dht] section to the config file, to set the port and servers, or to
disable the DHT altogether (useful for testing)
2015-08-11 14:52:37 -04:00
Jude Nelson
8a5cb7cd1e Use the new namedb state engine and pybitcoin interface to chaincom. 2015-08-11 14:34:13 -04:00
Jude Nelson
f9d17287f2 Switch to GPLv3; remove reliance on fees.py; do not try to force the
generation of a compressed public key; better logging in the
virtualchain hooks module.
2015-08-11 14:32:50 -04:00
Jude Nelson
e9c8111ddd WIP: Namedb: fix bugs and logic errors in preorder, register, update,
and namespace_preorder.
2015-08-11 14:31:53 -04:00
Jude Nelson
3a83772b39 Merged to pybitcoin 2015-08-11 13:52:33 -04:00
Jude Nelson
47ecd65c37 In-progress refactoring: using virtualchain with a state engine.
* lib --> lib.old (depricating old name and storage operations)
* lib: new state-engine name operations logic, with virtualchain
* remove dead code
* add patch for coinkit
* remove dependencies on coinkit (in the new lib/)
Much more to do--will eventually remove lib.old, and will migrate
some of this code over to blockstore-client.
2015-08-04 02:25:39 -04:00
Jude Nelson
c0c480309f Properly handle HTTPS detection vis a vis command-line and config file
arguments
2015-07-28 16:52:17 -04:00
Jude Nelson
563af521ae Whitespace 2015-07-28 16:51:59 -04:00
Jude Nelson
ade27c05c0 Remove gratuitious debugging 2015-07-28 16:51:36 -04:00
Jude Nelson
6962e357c3 Add Passcard schema with optional hashes; autodetect RPC parallelization
and caching
2015-07-28 16:51:08 -04:00
Jude Nelson
80f8fc41b0 Merge branch 'jude' of https://github.com/namesystem/blockstore into jude 2015-07-28 12:03:02 -04:00
Jude Nelson
34a36ee01e Don't hexlify 2015-07-28 12:02:54 -04:00
Jude Nelson
e8828e82ea log.info --> log.debug 2015-07-28 12:02:36 -04:00
Jude Nelson
b14c51fc26 Document the namedb construction process 2015-07-28 12:01:56 -04:00
Ubuntu
c60488c4f4 Patch for coinkit that adds early support for compressed keys 2015-07-27 12:14:01 +00:00
Ubuntu
0ecf682bfc Bugfixes, bugfixes, bugfixes, prototype! 2015-07-27 12:12:53 +00:00
Jude Nelson
5830d31670 Add operations for namespacing and data read/write, as well as
preliminary schema verification.
2015-07-26 06:35:43 -04:00
Jude Nelson
31512f0bc6 Branch off Jude's work on adding storage and namespacing. 2015-07-26 06:34:20 -04:00
Jude Nelson
f731b49e74 Merge branch 'parallel-startup' of https://github.com/namesystem/blockstore into parallel-startup
Conflicts:
	blockstore/blockstored.py
2015-07-26 06:33:36 -04:00
Jude Nelson
4bf3b5e251 Remove now-redundant code that is now held in lib.blockdaemon 2015-06-23 11:30:30 -04:00
Jude Nelson
ee62bd1f92 Factor out common blockchain-based daemon logic to its own library.
Have blockstored base itself on this library, and eventually have
blockmirrord do likewise.
2015-06-23 11:29:39 -04:00
Ubuntu
553a301f7a Merge branch 'parallel-startup' of https://github.com/namesystem/blockstore into parallel-startup 2015-06-16 19:07:20 +00:00
Ubuntu
1f324d1d43 If we encounter a non-API-related exception when doing an RPC to bitcoind, try to reset the connection. This is usually because it's due to a bad status line (still under investigation). 2015-06-16 19:06:25 +00:00
Ubuntu
f2e6b0a1c1 Offer a way to reset the process-local bitcoind proxy. 2015-06-16 19:05:51 +00:00
Ubuntu
d6fd36c3de Correctly join with workpool once we re-index, and connect to bitcoind early. 2015-06-16 19:05:24 +00:00
Jude Nelson
058c02cea3 Early Dockerfile 2015-06-16 11:30:55 -04:00
Jude Nelson
a6c17c0d27 Remove old cache config directives 2015-06-09 18:20:20 -04:00
Jude Nelson
b822580862 Fetch only blocks from the cache, but cache data for every block so we
at least know which ones can be skipped if restarting.  Also, add early
instrumentation so we can monitor how quickly things are taking while
bootstrapping.
2015-06-09 18:19:41 -04:00
Jude Nelson
0b9a969824 Cache only blocks; otherwise, we run out of inodes really quickly. 2015-06-09 18:19:20 -04:00
Jude Nelson
8207c88766 Support wrapping an httplib connection with ssl, if ssl.SSLContext is
unavailable.
2015-06-02 15:14:53 -04:00
Jude Nelson
203b7354e5 Allow use of unverified SSL for older ssl packages. 2015-06-02 13:00:37 -04:00
Jude Nelson
7138d32887 Enable and add code to set up and run both the on-disk cache and the
indexer workpool.
2015-05-29 17:16:14 -04:00
Jude Nelson
f24c32a366 Add a method to assemble all nameops from a sequence of blocks and their
associated transactions.  This is to be used in conjunction with the new
parallel block indexing algorithm.
2015-05-29 17:15:11 -04:00
Jude Nelson
16758fd961 Add configuration directives to control the new cache module, as well as
directives to control the size of the index workpool.
2015-05-29 17:14:24 -04:00
Jude Nelson
ebdc49fb29 Extensively refactor the transaction-processing logic to make it
possible to download many transactions in parallel.  Instead of
synchronously dispatching RPCs to the bitcoind server, the peer will
have the option to "farm out" RPCs to a workpool of processes which will
dispatch them concurrently.  The new code will scatter requests to the
workpool, gather responses, and reassemble them in the same order as if
they had been dispatched synchronously.  The effect is that indexing the
blockchain for the first time is now considerably faster.
2015-05-29 17:10:40 -04:00
Jude Nelson
020c6dbf4b Add factory methods to help worker processes obtain per-process bitcoind
clients.
2015-05-29 17:09:51 -04:00
Jude Nelson
2206072b75 Add per-process on-disk cache, to help blockstored peers resume from
an interrupted bootstrapping quickly if there is no local bitcoind.
Each process queues up file writes asynchronously to a cache thread,
which writes them sequentially to disk asynchronously.
If the process sends too much data, the thread will block requests until the
queue has a free slot.  This is to prevent back-pressure from disk from causing a
process to accidentally consume all of its RAM.
2015-05-29 17:05:42 -04:00
Jude Nelson
c268ec6196 Explicitly disable SSL certificate and hostname verification, since we
are using a self-signed certificate.  Python 2.7.9 and greater perform
certificate and hostname verification by default; this should not be a
problem for Python 2.7.8 or earlier.
2015-05-04 16:10:45 -04:00
Jude Nelson
b74ba20931 Don't assume the absense of an argument to use https means that we don't
want https by default.
2015-05-04 15:38:13 -04:00
Jude Nelson
4bd60f3e31 Allow command-line options for connecting to bitcoind to override the
config file.
2015-05-04 15:32:07 -04:00