Jude Nelson
|
5aaef0ca88
|
snapshot the subdomain db queue as well as the subdomain. This fixes a bug whereby a fast-sync'ed node can lose subdomain records because it doesn't know to process a recently-discovered zone file. This happens when a snapshot is taken from a node that just discovered a zone file, but has not yet processed it. This patch fixes this by also including the subdomain DB queue, which incluedes the list of recently-discovered but unprocessed zone files in the snapshot.
|
2018-10-17 09:27:10 -04:00 |
|
Jude Nelson
|
9f04404eb3
|
add subdomain DB query for getting subdomain ops processed in a given tx
|
2018-10-16 11:30:15 -04:00 |
|
Jude Nelson
|
b158bafd98
|
add definitions for rows in the subdomain table so we can return and validate historic subdomain operations
|
2018-10-16 11:29:51 -04:00 |
|
Jude Nelson
|
cb2ec5407b
|
add GET /v1/subdomains/{:txid} to get all subdomain operations processed in a given transaction
|
2018-10-16 11:29:33 -04:00 |
|
Jude Nelson
|
ad76a3d3da
|
add client method to get all subdomain records processed at a given txid
|
2018-10-16 11:29:13 -04:00 |
|
Jude Nelson
|
6fd1da39de
|
new fast-sync DNS name
|
2018-10-15 17:10:49 -04:00 |
|
Jude Nelson
|
ae78ad733f
|
fast-sync key rotation
|
2018-10-12 16:37:13 -04:00 |
|
Jude Nelson
|
f5e6bd15f7
|
don't even try to decode the zone file on GET /v1/names. It's not necessary.
|
2018-10-10 13:58:45 -04:00 |
|
Jude Nelson
|
bfb85516bc
|
handle non-standard zonefiles
|
2018-10-10 13:53:43 -04:00 |
|
Jude Nelson
|
9e29316970
|
pattern=
|
2018-10-10 13:46:54 -04:00 |
|
Jude Nelson
|
21a575e958
|
de-lint
|
2018-10-10 13:04:03 -04:00 |
|
Jude Nelson
|
930a73aa89
|
remove unneeded format()
|
2018-10-10 13:03:51 -04:00 |
|
Jude Nelson
|
4550ee3df7
|
fall back to 127.0.0.1 if getaddrinfo fails
|
2018-10-08 13:24:34 -04:00 |
|
Jude Nelson
|
520d3814ce
|
allow using getaddrinfo() to get the Atlas IP address. Pass "<stun>" to request a STUN-determined IP address; pass "<host>" for getaddrinfo(); pass a normal IP address or DNS name for a pre-configured address (affects "atlas_hostname" and "BLOCKSTACK_ATLAS_HOSTNAME")
|
2018-10-08 11:54:31 -04:00 |
|
Jude Nelson
|
8f944ddd33
|
merge /v1/prices and /v2/prices -- make the /v2 endpoint return the same information expected by the /v1 endpoint
|
2018-10-02 23:36:46 -04:00 |
|
Jude Nelson
|
c059c17469
|
set blockstack atlas hostname (BLOCKSTACK_ATLAS_HOSTNAME) as an environ
|
2018-10-02 23:35:52 -04:00 |
|
Jude Nelson
|
ccdd7fa0d6
|
reword comment
|
2018-09-27 17:52:28 -04:00 |
|
Jude Nelson
|
f03d23aa95
|
rename *_nameops_* to *_blockstack_ops_* for code clarity
|
2018-09-27 17:52:20 -04:00 |
|
Jude Nelson
|
132bb957ab
|
get subdomain history in reverse chronological order; add method to test if a zone file hash was created by a subdomain
|
2018-09-19 18:32:50 -04:00 |
|
Jude Nelson
|
7bd6b849b3
|
have GET /v1/names/:name/zonefile/:hash use the is_name_zonefile_hash() client method, which is considerably faster (both in absolute terms and asymptotic terms) than the status quo
|
2018-09-19 18:32:06 -04:00 |
|
Jude Nelson
|
559afc5471
|
fix bug in getting subdomain history; add method to check if a name created a zone file
|
2018-09-19 18:31:45 -04:00 |
|
Jude Nelson
|
c929e4fa4a
|
add method to check if a name created a zone file hash; remove dead code
|
2018-09-19 18:31:27 -04:00 |
|
Jude Nelson
|
1d4c05bcd7
|
pass through new DB methods
|
2018-09-19 18:30:58 -04:00 |
|
Jude Nelson
|
40d06dd447
|
restructure the epoch data so that we no longer need user-defined sqlite3 functions to select the right namespace lifetime and grace period data. instead, bake them directly into the queries. speeds up lots of queries significantly
|
2018-09-18 18:52:58 -04:00 |
|
Jude Nelson
|
1302140973
|
expose getinfo as a RESTful endpoint
|
2018-09-18 18:52:00 -04:00 |
|
Jude Nelson
|
94bcf41cf6
|
modify the BoundedThreadingMixIn so it will eagerly close client sockets when it has too many outstanding requests. Do some housekeeping so that we can use this in both the backplane RPC server and the API server, and update the relevant integration test to test for this behavior
|
2018-09-18 17:15:31 -04:00 |
|
Jude Nelson
|
993a8ff68c
|
push back f-day 2018
|
2018-09-17 18:26:03 -04:00 |
|
Jude Nelson
|
c7c8ea188f
|
use get_name_history_page for getting pages of a name's history. do not rely on start_block or end_block, since we have the power to paginate directly
|
2018-09-13 16:14:25 -04:00 |
|
Aaron Blankstein
|
ac6dc486f9
|
add environment variable for overriding atlas_seed_peers setting (BLOCKSTACK_ATLAS_SEEDS)
|
2018-09-13 07:51:20 -05:00 |
|
Jude Nelson
|
19a1d7f9b3
|
make API endpoint match master better, except where appropriate (e.g. return 400 instead of 401 and 502 instead of 500 in a few cases)
|
2018-08-23 15:59:15 -04:00 |
|
Jude Nelson
|
4bbae859fb
|
use the right public key that matches the owner address
|
2018-08-23 15:58:55 -04:00 |
|
Jude Nelson
|
16d4d131f2
|
store fast-sync snapshot to ~/.blockstack-server
|
2018-08-23 15:58:39 -04:00 |
|
Jude Nelson
|
097fc369bd
|
serialize all calls to enqueue zone files
|
2018-08-06 18:14:16 -04:00 |
|
Jude Nelson
|
66e8edc08f
|
dead comment
|
2018-08-06 18:14:03 -04:00 |
|
Jude Nelson
|
e808ea9ca3
|
when synchronizing the atlasdb with the namedb, call the storage callback for each zone file we already have. That way, if a zone file hash is re-announced, it will be processed by the storage callback again (as desired)
|
2018-08-06 18:12:51 -04:00 |
|
Jude Nelson
|
1b56e1bba2
|
api tweak: pass the server state to the virtualchain hooks (including the atlas state)
|
2018-08-06 18:12:29 -04:00 |
|
Jude Nelson
|
0499d3fa68
|
fix a race condition in the atlas database that can occasionally cause a zone file to not get forwarded to the subdomain system
|
2018-07-27 15:08:13 -04:00 |
|
Jude Nelson
|
0ed8c393d5
|
pass through fsync
|
2018-07-23 19:43:32 -04:00 |
|
Jude Nelson
|
3d577a7aa0
|
re-store zone files unconditionally (again), so we can recover from corrupt zone files
|
2018-07-20 00:29:56 -04:00 |
|
Jude Nelson
|
0641feebbe
|
cap the number of zone files we process per block for subdomains
|
2018-07-19 22:08:35 -04:00 |
|
Jude Nelson
|
ed988897a4
|
disable durability pragmas in the subdomain db, since if the node crashes we have to restore the subdomain db anyway (2x speed improvement). also, add a 'zonefile_offset' column to the subdomain db that fixes DID creation in the case where the same owner address created multiple subdomains in the same zone file
|
2018-07-18 18:57:12 -04:00 |
|
Jude Nelson
|
2288672b08
|
nearly 100x performance improvement if we don't fsync() each time we write a zone file (not strictly necessary for subdomain zone files, but definitely necessary for zone files arriving via Atlas)
|
2018-07-18 18:56:38 -04:00 |
|
Jude Nelson
|
b55d23f609
|
also export subdomain db and atlas db (meant mainly for testing)
|
2018-07-18 18:56:21 -04:00 |
|
Jude Nelson
|
b82d6428ed
|
de-lint
|
2018-07-06 14:23:36 -04:00 |
|
Jude Nelson
|
58604448fd
|
Merge branch 'master' into develop
|
2018-07-06 14:08:31 -04:00 |
|
Jude Nelson
|
efbcaccc5a
|
up to 1000 threads (only 1024 file descriptors are available anyway)
|
2018-07-06 14:06:58 -04:00 |
|
Jude Nelson
|
01ef6b022b
|
de-lint; version bump
|
2018-07-06 14:04:09 -04:00 |
|
Jude Nelson
|
a1709b3a2f
|
reduce the multiplier for the maximum rpc size to 150 (really can get away with more like 133, but let's play it safe--it's only 0.6 MB)
|
2018-07-05 23:41:39 -04:00 |
|
Jude Nelson
|
800f82911d
|
make the max RPC length equal to the expected amount of space 100 fully-loaded zone files take when encoded
|
2018-07-05 21:42:26 -04:00 |
|
Jude Nelson
|
8358c1d783
|
add a bounded threading mixin to the RPC server that allows it to have up to a maximum number of outstanding threads handling requests. serialize all RPC access so we don't introduce database contention or corruption. make the maximum number of RPC threads overridable in the environment.
|
2018-07-05 17:24:30 -04:00 |
|