Jude Nelson
785de7bccb
add utility methods from blockstack_client, like serializing an atlas zone file inventory message to a string and parsing host:port strings. This cuts dependency on blockstack_client
2018-01-12 18:36:55 -05:00
Jude Nelson
8aa485909b
copy RPC client code from blockstack_client to blockstackd so the atlas peers can talk to one another. This cuts the dependency on blockstack_client in the Atlas subsystem
2018-01-12 18:36:22 -05:00
Jude Nelson
2705d59e1e
remove all restore_delta() and snv_consensus_extras() code, and remove all dependence on blockstack_client from our operations. Also remove deprecated state_*() helpers that had been required for propagating ancilliary operation state to the database, i.e. in order to ensure that name operations' histories could be rewound. This is now handled automatically with a better database schema.
2018-01-12 18:33:04 -05:00
Jude Nelson
41c8693bae
now that restore_delta() and snv_consensus_extras() and BACKUP_FIELDS are no longer required, remove all ancilliary ops_*() methods that are used to query and manipulate them.
2018-01-12 18:32:35 -05:00
Jude Nelson
54444e455e
the new database schema no longer requires us to fetch and store prior name histories in our check() decorators. Remove the ancilliary code that they had been using to do this.
2018-01-12 18:31:45 -05:00
Jude Nelson
d8fd4d5284
rework the RPC client: remove the storage and profile load/store APIs (now handled by gaiahub), simplify the SNV API so that we can simply paginate through historic name snapshots (which is now efficient, thanks to the new database schema), remove the asynchronous storage queue (now that we don't load/store data via blockstack_client), remove old CLI options (rebuilddb, importdb), rely on functionality provided by virtualchain wherever possible (like for verifydb)
2018-01-12 18:30:15 -05:00
Jude Nelson
ed54c905de
update virtualchain_hooks (the virtualchain implementation) to adhere to the new StateEngine standards in virtualchain 0.18. In particular:
...
* add method for which blockchain we're on
* add method for determining how long a consensus hash is valid
* add method for getting all opcodes
* add method for getting all operations' serialization fields
* accept transactions in the virtualchain-standardized format, not the bitcoind RPC format
* stronger and more explicit adherence to acquiring read/only versus read/write BlockstackDB handles
2018-01-12 18:28:06 -05:00
Jude Nelson
68c0828a6d
rework the BlockstackDB class to rely on virtualchain-provided database functionality (such as getting a block's ops hash), and rework the methods to use the new queries. In particular, history replaying is no longer necessary since we store all snapshots of all name records now.
2018-01-12 18:27:02 -05:00
Jude Nelson
26c6fec052
do not store name operation history deltas any longer. Instead, when an operation is committed, store the new name state in the history table. This *greatly* simplifies the code for getting historic states of a name, and obviates the need for the per-operation restore_delta() and snv_consensus_extras() methods. It also simplifies a lot of queries.
2018-01-12 18:25:12 -05:00
Jude Nelson
e50005da2f
this file is now dead. all functionality it provides is now handled by virtualchain
2018-01-12 18:24:47 -05:00
Jude Nelson
86b57aaf48
add config file parsing code from blockstack_client, so we no longer depend on it. Similar for semver parsing and environment variable munging
2018-01-12 18:24:22 -05:00
Jude Nelson
0d1b9a29b8
refactor fast_sync functionality to use new chainstate routines in virtualchain
2018-01-12 18:24:01 -05:00
Jude Nelson
9798186a18
add zonefile hashing methods, removing dependency on blockstack_client
2018-01-12 18:23:20 -05:00
Jude Nelson
063c02d7d8
remove code for loading/storing data and profiles, and loading/storing zonefiles to 3rd party storage. This is the gaiahub's responsibility.
2018-01-12 18:22:49 -05:00
Jude Nelson
b8e6425f47
all methods: expect either an atlas database connection or an atlas database path. All atlas components: require a virtualchain working dir and a path to the atlas db
2018-01-12 18:22:06 -05:00
Jude Nelson
1dfdb5ade6
refactor tx public key extraction to use the virtualchain-standardized transaction data structure, instead of the emulated bitcoind RPC structure
2018-01-12 18:21:22 -05:00
Jude Nelson
0135c81683
version bump
2017-12-06 12:11:59 -05:00
Jude Nelson
58fbd0bbb8
include namespace keychains in the state we snapshot
2017-12-06 12:11:24 -05:00
Jude Nelson
8be20e18ce
version bump
2017-12-01 13:59:43 -05:00
Jude Nelson
c8a7166921
bump version
2017-11-11 15:57:42 -05:00
Jude Nelson
4d9987e23f
add get_historic_name_at() for expired names
2017-11-10 13:12:53 -05:00
Jude Nelson
8aeda60924
add API wrappers around the DB calls to get unexpired and cumulative names and counts
2017-11-08 11:28:32 -05:00
Jude Nelson
b8f23bd8d7
add DB queries for getting the unexpired and cumulative name counts
2017-11-08 11:28:16 -05:00
Jude Nelson
76bf68bff8
add API endpoints in the indexer to get the *unexpired* name count and the *cumulative* name count
2017-11-08 11:27:56 -05:00
Jude Nelson
3cdc697911
Merge branch 'hotfix/registrar-check-storage' into hotfix/did-support
2017-10-31 16:52:40 -04:00
Jude Nelson
941560cc15
version bump
2017-10-31 16:45:59 -04:00
Jude Nelson
8c3f10e822
check offset/count
2017-10-31 14:33:23 -04:00
Jude Nelson
172676580f
don't restore unless we have to; always use snapshots if available
2017-10-31 12:34:00 -04:00
Jude Nelson
a4be04ffd1
Merge branch 'hotfix/nameop-library-support' into hotfix/did-support
2017-10-30 16:39:36 -04:00
Jude Nelson
7504818e7a
auto-restore on restart from improper shutdown
2017-10-30 11:57:56 -04:00
Jude Nelson
6807734dea
typo
2017-10-29 22:38:18 -04:00
Jude Nelson
dfa26846b0
add API methods to find out the list of names ever created by an address
2017-10-27 19:25:06 -04:00
Jude Nelson
37bd9cfa42
add RPC methods to find out the list of names ever created by an address
2017-10-27 19:24:48 -04:00
Jude Nelson
01bad1dcb2
remember the address that creates (i.e. imports-for-the-first-time or registers) a name
2017-10-27 19:24:24 -04:00
Aaron Blankstein
4a5826347c
version bump
2017-10-27 15:07:31 -04:00
Jude Nelson
6fca324a6d
version bump
2017-10-27 11:38:25 -04:00
Jude Nelson
e7818de6f9
version bump
2017-10-23 23:49:27 -04:00
Jude Nelson
299c750f2b
Merge branch 'hotfix/namespace-safety'
2017-10-18 16:55:58 -04:00
Aaron Blankstein
6e834dd62c
version bump to v0.17.0.9
2017-10-18 15:55:09 -04:00
Jack Zampolin
d0893197dd
Kick CI
2017-10-17 15:33:54 -07:00
Aaron Blankstein
77c2bb26cf
version bump
2017-10-16 10:41:40 -04:00
Jude Nelson
ef6bbdff17
properly use rpc_port
2017-10-12 17:12:13 -04:00
Jude Nelson
278d656bf1
version bump; omit unneeded safety check on namespace_reveal (thanks @mark!)
2017-10-12 11:12:36 -04:00
Jude Nelson
63e822e405
bump version
2017-10-11 23:28:44 -04:00
Jude Nelson
19685fb5ee
deny gzipped data
2017-10-11 19:07:10 -04:00
Jude Nelson
8cd29bb2d1
only check rc value, not exit bits
2017-10-11 17:26:25 -04:00
Jude Nelson
29b4e5d94b
minimim allowed block can be 1 when testing
2017-10-11 17:26:13 -04:00
Jude Nelson
4888f5bd87
whitespace
2017-10-11 15:30:28 -04:00
Jude Nelson
5aca5c3a1b
harden the RPC interface: deny messages over a certain size and type-check all parameters
2017-10-11 14:38:16 -04:00
Aaron Blankstein
5c64459b29
version bump
2017-10-10 19:20:06 -04:00