Commit Graph

442 Commits

Author SHA1 Message Date
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
Ryan Shea
d1901f3cdf Merge pull request #91 from namesystem/badges
move status badges over to shields.io
2015-05-26 18:41:46 -04:00
Ryan Shea
493fb175b0 move status badges over to shields.io 2015-05-26 18:41:31 -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
Jude Nelson
61314d204d cosmetic: wrap long lines 2015-05-04 13:26:08 -04:00
Jude Nelson
22d0c6d8cb Meaningful error messages:
* in DEBUG logging priority, print module and line number
* if blockstored attempts to connect to a bitcoind peer that has not
processed our first block, then report a meaningful error that says so,
as well as an example of how to verify that this is the case.
2015-05-04 13:11:10 -04:00
Ryan Shea
09966a7d60 actually fix links in README.md 2015-03-31 15:22:48 -04:00
Ryan Shea
eab388f4e3 fix links in readme.md 2015-03-31 15:17:56 -04:00
Ryan Shea
2bd3812c58 Merge pull request #72 from openname/docs
move from folder of docs to wiki format
2015-03-31 14:56:50 -04:00
Ryan Shea
a6a46f6db0 add version #, downloads, and license to readme 2015-03-16 11:28:23 -04:00
Ryan Shea
421ce94557 move from folder of docs to wiki format 2015-03-16 11:02:32 -04:00
Muneeb Ali
d50e1f60c7 Merge pull request #71 from openname/docker
Docker
2015-03-11 15:48:58 -04:00
Muneeb Ali
52f0aa7c9a re-organizing Docker files
remove

Revert "remove"

This reverts commit 0faad61f54b2f0a1cb87281667ab242daaa26126.

Revert "re-organizing Docker files"

This reverts commit 201ee194479ae94a63b02988862b3740c6dd7dcb.

reorganized Docker files
2015-03-11 15:46:21 -04:00
Muneeb Ali
120ccfed31 # This is a combination of 3 commits.
# The first commit's message is:
re-organizing Docker files

# This is the 2nd commit message:

remove

# This is the 3rd commit message:

Revert "remove"

This reverts commit 0faad61f54b2f0a1cb87281667ab242daaa26126.
2015-03-11 15:45:56 -04:00
Muneeb Ali
ccff247940 Merge branch 'arbedout-master' into docker 2015-03-11 15:39:27 -04:00
arbedout
6e6d55bdb3 Silenced apt installation 2015-03-01 13:19:19 -05:00
arbedout
f3087e3ac3 Initial Dockerfile creation 2015-03-01 13:04:13 -05:00
Ryan Shea
f211ce94d5 Merge pull request #63 from gidgreen/patch-1
Update protocol.md
2015-02-19 09:29:41 -05:00
Gideon Greenspan
768987b938 Update protocol.md
There are no such things as OP_RETURN inputs (and no input can spend an OP_RETURN output)
2015-02-19 09:47:29 +02:00
Muneeb Ali
b2228cfaf1 Merge pull request #61 from kef/doc-typos
Fixed a few typos in the documentation.
2015-02-18 15:19:32 -05:00
Muneeb Ali
66dc65260d Merge pull request #60 from openname/docs
docs
2015-02-18 10:09:23 -05:00
Paul O'Keeffe
7a977413f1 Fixed a few typos in the documentation. 2015-02-18 21:33:11 +10:00
Ryan Shea
edb879cbda add contributors table 2015-02-17 16:06:49 -05:00
Muneeb Ali
67b7a8e14f Update contributors.md 2015-02-17 12:22:46 -05:00
Muneeb Ali
bdd76e41b3 Merge branch 'master' of github.com:onenameio/blockstore 2015-02-17 07:26:45 -05:00
Muneeb Ali
3a6295f21c setting FIRST_BLOCK before first release 2015-02-17 07:26:30 -05:00
Muneeb Ali
8e7a37aa1c Incrementing version for PyPi 2015-02-17 07:25:45 -05:00
Ryan Shea
260522efc3 Merge pull request #58 from openname/docs
docs
2015-02-17 01:16:34 -05:00
Ryan Shea
a6e323aa31 update contributors 2015-02-17 01:13:12 -05:00
Ryan Shea
a6ce784653 update design.md 2015-02-17 01:07:29 -05:00
Muneeb Ali
1985b14508 Merge pull request #57 from openname/docs
Docs
2015-02-17 00:59:06 -05:00
Muneeb Ali
09af3af2c4 Update design.md 2015-02-17 00:57:50 -05:00
Muneeb Ali
d3cefdc965 Update README.md 2015-02-17 00:46:14 -05:00
Ryan Shea
512fc80ffe Merge pull request #56 from openname/docs
Docs
2015-02-17 00:41:10 -05:00