Commit Graph

1022 Commits

Author SHA1 Message Date
Jude Nelson
bc89efb797 get subdomain history in reverse chronological order; add method to test if a zone file hash was created by a subdomain 2018-09-20 17:27:06 -04:00
Jude Nelson
6a6e9cc1f8 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-20 17:27:00 -04:00
Jude Nelson
a00a1fbe36 fix bug in getting subdomain history; add method to check if a name created a zone file 2018-09-20 17:26:52 -04:00
Jude Nelson
c3b7ac84ea add method to check if a name created a zone file hash; remove dead code 2018-09-20 17:26:29 -04:00
Jude Nelson
040b2aa4e2 pass through new DB methods 2018-09-20 17:25:25 -04:00
Jude Nelson
7015e486dc fix bugs in getting the history for subdomains; add a method to check if a zone file was created by a name (to speed up the GET /v1/names/:name/zonefile/:hash endpoint) 2018-09-20 17:24:45 -04:00
Jude Nelson
7744b46329 an account address can be c32. add methods to convert to c32 2018-09-20 17:04:53 -04:00
Jude Nelson
91b0615e76 querying an account's history with no page will cause page to be set to 0 2018-09-20 17:04:38 -04:00
Jude Nelson
ab58ef2bbe account API can take a b58 or a c32 address (c32 addresses will be converted to b58) 2018-09-20 17:04:17 -04:00
Jude Nelson
7a437261dc return sorted token types 2018-09-20 17:04:03 -04:00
Jude Nelson
3d2a2fa1b1 implement c32check in Python 2018-09-20 17:03:21 -04:00
Jude Nelson
f0d589ab29 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:48:19 -04:00
Jude Nelson
917af62716 get_index_range() should return a tuple; return HTTP status code from RPC 2018-09-17 18:35:03 -04:00
Jude Nelson
ac4ad9dba1 push back f-day 2018 2018-09-17 18:34:24 -04:00
Jude Nelson
a3b3f92f39 expand check for addresses to include not-distributed address placeholders 2018-09-14 13:37:50 -04:00
Jude Nelson
f59369f4c3 an account address pattern can be a "special" address, and the genesis block as it will be loaded will contain b58 addresses, not c32 addresses 2018-09-14 13:37:23 -04:00
Jude Nelson
015179372b expand expected address length to accomodate "special addresses" like those that are unallocated or not distributed 2018-09-14 13:35:22 -04:00
Jude Nelson
c0859d7bb1 propagating api change -- query account history by page, not block range 2018-09-13 16:20:27 -04:00
Jude Nelson
591a42c787 do not require a block range when getting an account's history; also, update the genesis block ingestion code to allow an arbitrary string to be an address *so long as it cannot receive tokens*. This is used to add "owned-by-contract" token allocations 2018-09-13 16:19:30 -04:00
Jude Nelson
51fcc92f4f 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:19:10 -04:00
Jude Nelson
0a6376a5ff use check_account_address() for account addresses; stop coercing mainnet addresses for on-chain name records 2018-09-13 16:18:51 -04:00
Jude Nelson
442e26a4be take only a page number for querying account history 2018-09-13 16:18:26 -04:00
Jude Nelson
2f025ef303 fix a race condition that would cause the node to deadlock if it could not bind on a particular port when starting up; also, simplify the name history query interface so it only requires a page 2018-09-13 16:18:08 -04:00
Jude Nelson
9becfef5b9 use check_account_address() for account addresses; change API for getting account histories so we can query only by page (not the block range) 2018-09-13 16:16:14 -04:00
Jude Nelson
9960098beb an "account address" is a b58 address, or "treasury", or "unallocated" 2018-09-13 16:15:47 -04:00
Aaron Blankstein
65d294ef5a add environment variable for overriding atlas_seed_peers setting (BLOCKSTACK_ATLAS_SEEDS) 2018-09-13 11:09:29 -04:00
Jude Nelson
1fe1bba224 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 16:14:28 -04:00
Jude Nelson
3d8378de75 use the right public key that matches the owner address 2018-08-23 16:14:27 -04:00
Jude Nelson
057d83b9ea store fast-sync snapshot to ~/.blockstack-server 2018-08-23 16:14:26 -04:00
Jude Nelson
b8caeb2044 serialize all calls to enqueue zone files 2018-08-13 16:02:10 -04:00
Jude Nelson
f1bf6ee5ea dead comment 2018-08-13 16:02:04 -04:00
Jude Nelson
25491164ed 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-13 16:01:57 -04:00
Jude Nelson
c99e7947f6 api tweak: pass the server state to the virtualchain hooks (including the atlas state) 2018-08-13 16:01:51 -04:00
Jude Nelson
d1bb179f4c check virtualchain for unclean shutdown and handle accordingly 2018-08-13 16:01:36 -04:00
Jude Nelson
0ebb91a82b pass through fsync 2018-08-13 16:01:09 -04:00
Jude Nelson
c1bd6d2bf5 fix a race condition in the atlas database that can occasionally cause a zone file to not get forwarded to the subdomain system 2018-08-13 16:00:47 -04:00
Jude Nelson
961b17cb16 Merge branch 'master' into feature/token-v1 2018-08-07 14:39:29 -04:00
Jude Nelson
875a505766 /v2 CORS 2018-08-07 14:21:05 -04:00
Jude Nelson
2f2508bc2a need jsonschema 2018-08-07 14:20:52 -04:00
Jude Nelson
a7b92da6d1 cap the number of zone files we process per block for subdomains 2018-07-19 22:09:07 -04:00
Jude Nelson
cea93eaaed 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 21:10:39 -04:00
Jude Nelson
40e4faa2e7 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 21:10:33 -04:00
Jude Nelson
1d4940f5f7 also export subdomain db and atlas db (meant mainly for testing) 2018-07-18 21:10:24 -04:00
Jude Nelson
d0e7570b7e if we don't get a DID back, then the name doesn't exist 2018-07-18 21:10:12 -04:00
Jude Nelson
399f94d1ce check environ for genesis block on startup 2018-07-18 21:10:04 -04:00
Jude Nelson
01ef6b022b de-lint; version bump 2018-07-06 14:04:09 -04:00
Jude Nelson
733e3ce9ef delinting! 2018-07-06 13:48:24 -04:00
Jude Nelson
803f2cd9ef delinting; also, be sure to remove a zone file if it is corrupt (check it ourselves to be sure) 2018-07-06 13:47:57 -04:00
Jude Nelson
5af4311c63 remove old and new zonefile paths when removing a zonefile 2018-07-06 13:47:41 -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