Commit Graph

725 Commits

Author SHA1 Message Date
Jude Nelson
040b2aa4e2 pass through new DB methods 2018-09-20 17:25:25 -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
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
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
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
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
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
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
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
c62794f1b9 use getter for genesis block 2018-07-05 18:47:27 -04:00
Jude Nelson
e28314eae6 add getters/setters for global genesis block 2018-07-05 18:47:17 -04:00
Jude Nelson
cd45b533ec pass in genesis block data to namedb initialization code 2018-07-05 18:47:00 -04:00
Jude Nelson
16a071a62b make the default maximum number of RPC connections 1000 (we have ~6 open at any given point in time, but this expands briefly when the server processes a new block) 2018-07-05 17:42:13 -04:00
Jude Nelson
875ce2dba4 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:32:55 -04:00
Jude Nelson
503e5137c7 docs: big-endian token representation 2018-07-05 17:32:04 -04:00
Jude Nelson
c321451c23 docs: big-endian token representation 2018-07-05 17:31:54 -04:00
Jude Nelson
5b0e170e7d docs: big-endian token representation 2018-07-05 17:31:44 -04:00
Jude Nelson
8a3621b0fb docs: big-endian token representation 2018-07-05 17:31:31 -04:00
Jude Nelson
4c19b29d90 take the global GENESIS_BLOCK 2018-07-05 17:31:21 -04:00
Jude Nelson
d5bccbec17 block_height is an int 2018-07-05 17:31:12 -04:00
Jude Nelson
fd2a2f4236 clarify query-string args 2018-07-05 17:30:59 -04:00