Commit Graph

341 Commits

Author SHA1 Message Date
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
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
Jude Nelson
c899216818 request the *batch*, not the whole list 2016-10-03 01:40:10 -04:00
Jude Nelson
07e7ab8e9e use correct interval 2016-10-03 01:39:31 -04:00
Jude Nelson
753fcc76af do not attempt to pull zonefiles from storage drivers in the RPC loop.
The zonefile crawler logic in the Atlas system does this.
2016-10-03 01:27:16 -04:00
Jude Nelson
a1fff2793a correct zonefile request interval (groups of 100); do not attempt to
parse zonefiles we receive from atlas peers (since we don't care)
2016-10-03 01:26:50 -04:00
Jude Nelson
8312db7f41 check the validity of cached zonefile data only after we load it. also,
debug cache hits/misses for now
2016-10-03 01:15:27 -04:00
Jude Nelson
2c7a00f003 fetch zonefiles in batches of 100 or less 2016-10-03 01:15:13 -04:00
Jude Nelson
e7b7ad8fa0 justify why we check lastblock when we open the db 2016-10-03 00:47:35 -04:00
Jude Nelson
24bbe6ccc8 find all instances where we log the zonefile inventory vector, and make
sure we don't accidentally print out a huge amount of text
2016-10-03 00:47:11 -04:00