Commit Graph

2152 Commits

Author SHA1 Message Date
Jude Nelson
05058e4040 return standard-formatted RPC message for prior records 2016-10-24 19:03:13 -04:00
Jude Nelson
5b24430205 standardize the RPC interface further: return {'status': True, ...} on
successful RPCs, and return {'errror': ...} on failures
2016-10-24 17:10:47 -04:00
Jude Nelson
6b6c1f3aad queries for the number of names, number of names by namespace, and block
heights with name operations
2016-10-24 17:10:27 -04:00
Jude Nelson
a18028589e get number of names and number of names in a namespace; fix bugs found
in testing
2016-10-24 17:08:45 -04:00
Jude Nelson
e0449d6ed7 clean up symbols 2016-10-24 03:23:24 -04:00
Jude Nelson
e67b506619 remove superfluous method 2016-10-24 03:23:16 -04:00
Jude Nelson
d857be4762 move verify_zonefile to the client 2016-10-24 03:23:03 -04:00
Jude Nelson
707e6a9086 move SNV consensus restoration logic to the client 2016-10-24 03:22:47 -04:00
Jude Nelson
22a84cbb78 track 'last_create_op' in the db 2016-10-24 03:22:28 -04:00
Jude Nelson
527e46ad6d use the new 'last_creation_op' column instead of (expensively)
calculating it from the DB.
2016-10-24 03:21:47 -04:00
Jude Nelson
7929d100d9 calculate the SNV block operations hash at each block 2016-10-24 03:21:26 -04:00
Jude Nelson
9c61836944 update the calls that query historic name operations to allow the caller
to page through the history.  Also, pre-calculate the SNV block
operation hash, since it never changes and it's expensive to calculate
on-the-fly.
2016-10-24 03:20:36 -04:00
Jude Nelson
432d70d57b Refactor the db to make expensive queries pageable, so we don't
overwhelm the node with one bad RPC.  In particular, make
it so the caller can page through the list of operations that occurred
at a particular block (so the caller can fetch them in small batches),
and make it possible to query the history table directly.
2016-10-24 03:18:47 -04:00
Jude Nelson
002078c57e don't return virutalchain fields 2016-10-24 03:18:31 -04:00
Jude Nelson
eaed8bd49d DRY up op_get_opcode_name 2016-10-24 03:18:09 -04:00
Jude Nelson
a699af9af9 don't do server-side name history traversal from an RPC call. Instead,
have the client determine which names were affected at which block,
query the name's history rows, and do the re-assembly and traversal
client-side.  This takes a lot less time per RPC call (even though the
overall method will be slower), and stops us from running out of memory.
2016-10-24 03:16:37 -04:00
Jude Nelson
697a2de022 don't re-add dead peers; move all atlas RPC methods to the client where
they can be properly validated
2016-10-24 03:16:04 -04:00
Jude Nelson
d70f003ec2 remove unused code 2016-10-13 20:47:32 -04:00
Jude Nelson
e62739c1e4 take out gratuitous timestamps 2016-10-13 20:47:11 -04:00
Jude Nelson
42a9d9feb2 when looking for points in the blockchain where a name was updated, do
not forget to select on the name itself (lest we read the whole database
into RAM)
2016-10-13 20:20:31 -04:00
Jude Nelson
0774dcb072 update symbols 2016-10-11 08:16:27 -04:00
Jude Nelson
c5142344a8 remove all need to open the name database, so the atlas logic no longer
shares the db with the blockchain indexer
2016-10-11 08:15:57 -04:00
Jude Nelson
1e32f1e506 remove is_current_zonefile_hash, since it's not used 2016-10-11 08:15:48 -04:00
Jude Nelson
d4a9b365e9 expand role of method to fetch zonefile information from the name
database
2016-10-11 08:15:08 -04:00
Jude Nelson
0b7b20e572 pass name and txid to zonefile driver storage logic 2016-10-11 08:14:36 -04:00
Jude Nelson
d3c4d93f8e query zonefiles by txid to find the name to which they belong, and
forward both the name and txid along to the logic that stores zonefiles
(so it can take driver-specific actions regarding e.g. how much was
paid, who paid, etc.)
2016-10-11 08:13:49 -04:00
Jude Nelson
6add61698a add 'name' to the zonefile atlas db schema. Use as the fqu hint when
fetching a zonefile.
2016-10-10 20:04:29 -04:00
Jude Nelson
333fee0fe7 use a huge timeout for db connections 2016-10-10 12:51:18 -04:00
Jude Nelson
cebfa1c8ca reset last time refreshed 2016-10-10 12:29:01 -04:00
Jude Nelson
08b9739c5f better printing for get peers 2016-10-10 12:27:35 -04:00
Jude Nelson
25c5c62c13 do not give back virtualchain fields when restoring operations for
get_nameops_at
2016-10-10 12:03:12 -04:00
Jude Nelson
4a8de8c118 add namedb_get_last_nameops() and namedb_get_blocks_with_ops() 2016-10-10 12:02:57 -04:00
Jude Nelson
c5f1029a96 use namedb_get_blocks_with_ops() as a more efficient version of
namedb_get_history_range(), and add get_last_nameops()
2016-10-10 12:02:33 -04:00
Jude Nelson
5508e89ca5 pass along virtualchain implementation 2016-10-10 12:02:21 -04:00
Jude Nelson
4e8fd312d1 add get_all_namespaces(), add get_last_nameops(), fix #240 in a
backwards-compatible way (needs more testing)
2016-10-10 11:57:34 -04:00
Jude Nelson
de2df704c0 commas and spelling 2016-10-05 14:39:07 -04:00
Jude Nelson
d70028ca44 do not activate new features until F-day 2016-10-05 14:38:50 -04:00
Jude Nelson
6a2639bc49 do not allow a name to be registered to a p2sh script until the multisig
support activates (this is to keep 0.14 consistent with 0.13 until then)
2016-10-04 18:16:50 -04:00
Jude Nelson
488d1ad1d3 do not allow a transfer sender to be a p2sh script until the multisig
support activates
2016-10-04 18:16:18 -04:00
Jude Nelson
ea7a286e26 our public key extraction logic only works (by design) on p2pkh scripts 2016-10-04 18:16:03 -04:00
Jude Nelson
15a87a595f keep the list of features that will activate when a new epoch passes.
provide a query interface to these features, so the consensus logic
activates them at the appropriate times
2016-10-04 18:15:25 -04:00
Jude Nelson
591020f612 tweak integration test script to get and install blockstack core
packages
2016-10-03 19:54:04 -04:00
Jude Nelson
c39fb58ebc link to integration test framework 2016-10-03 19:22:46 -04:00
Jude Nelson
bee82aa2b0 update change-log 2016-10-03 18:38:48 -04:00
Jude Nelson
5f23f5be56 2-year multiplier kicks in at 436600 2016-10-03 18:34:39 -04:00
Jude Nelson
93ed8389ad when getting zonefiles and profiles, don't forget that they can be
non-standard and not necessariliy parseable
2016-10-03 18:34:19 -04:00
Jude Nelson
72a8ed55e8 don't re-store cached zonefiles, and don't loop forever searching for
them!
2016-10-03 18:33:55 -04:00
Jude Nelson
155d4858f7 don't re-request zonefiles that we already have 2016-10-03 11:39:36 -04:00
Jude Nelson
e3d849cb11 when synchronizing atlas zonefile state with the name db, update cached
values
2016-10-03 02:09:54 -04:00
Jude Nelson
dbad8e4b7f better logging of error cases when requesting zonefiles 2016-10-03 01:40:21 -04:00