Commit Graph

407 Commits

Author SHA1 Message Date
Jude Nelson
08fac559d6 synchronize atlasdb state on each block, and check for shutdown requests
using the new db_continue() interface
2016-10-27 00:03:52 -04:00
Jude Nelson
66360657c5 remove dead code 2016-10-27 00:03:43 -04:00
Jude Nelson
363cc3c7cf expected_snapshots is keyed by integer, not string 2016-10-27 00:03:31 -04:00
Jude Nelson
11821fe87a take ownership of global config state getters/setters; also, enable disk
and dht for zonefile storage drivers by default
2016-10-27 00:03:09 -04:00
Jude Nelson
d40e7fabec move some logic over to config so virtualchain_hooks.py can get to it;
also, make it so `--debug` and `--working-dir` can be CLI arguments (in
which case, we'll set them as envars and re-exec so they take effect).
In addition, pass expected_snapshots to verifydb
2016-10-27 00:02:24 -04:00
Jude Nelson
a69f3ea342 when waiting, check every second for thread shutdown request 2016-10-27 00:01:39 -04:00
Jude Nelson
1ac3432f02 update atlas symbols 2016-10-27 00:01:29 -04:00
Jude Nelson
ddecb983f2 move atlas.py to lib/ 2016-10-26 14:48:38 -04:00
Jude Nelson
fe841ed064 move atlas.py to lib 2016-10-26 14:48:06 -04:00
Jude Nelson
71b082832a remove commented-out code 2016-10-24 22:43:49 -04:00
Jude Nelson
ec02bc89a6 comment on what offset/count mean when selecting modifier operations
from a block.
2016-10-24 22:43:25 -04:00
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