Jude Nelson
db360d3601
list users from mutable data; use check_storage pragma
2017-01-30 01:42:33 -05:00
Jude Nelson
a0d0ecaf40
proper (re)encoding for data IDs (which now have a device ID component)
2017-01-30 01:42:10 -05:00
Jude Nelson
d574cbca55
clean up profile APIs a bit by removing unneeded arguments
2017-01-30 01:41:53 -05:00
Jude Nelson
bc4384525d
add check_storage pragma; fix multiple pragmas per command
2017-01-30 01:41:32 -05:00
Jude Nelson
1eaf94bbf1
revamp data key deduction: we can use the owner key as a data key, but only if it's a single-sig owner key (otherwise, we have no way of extracting a public key from a multisig address)
2017-01-30 01:41:00 -05:00
Jude Nelson
04a6ccf86b
revamp mutable data API for multiple devices:
...
* get_mutable will search for the latest version of a datum across a set of known devices
* put_mutable will include the device ID in the data it replicates
* delete_mutable will delete from all devices
* datastore inodes will rely on their headers to identify the globally-latest version of the inode data
* user lists and private key indexes will track cross-device versioning so that an update from one device will always be processed by the others.
2017-01-30 01:39:26 -05:00
Jude Nelson
f58101fd86
separate out version numbers into separate variables
2017-01-30 01:39:07 -05:00
Jude Nelson
6a38fed4f7
load device IDs
2017-01-30 01:38:53 -05:00
Jude Nelson
c40611d201
revamped storage_setup and associated methods to fix bugs found in testing
2017-01-30 01:38:22 -05:00
Jude Nelson
fa328a482b
if a CLI command has check_storage pragma set, then verify that advanced storage has been enabled
2017-01-30 01:37:58 -05:00
Jude Nelson
9d7212039b
don't try zonefiles over and over again once replicated
2017-01-30 01:37:36 -05:00
Jude Nelson
5e5b020e22
fix error path when we don't have all row keys
2017-01-30 01:37:09 -05:00
Jude Nelson
515bf29393
make global variables in the disk driver configurable in the config file
2017-01-30 01:36:52 -05:00
Jude Nelson
f41a304330
upgrade blockstack_server driver to deal with mutable data (as opposed to only profiles)
2017-01-30 01:36:33 -05:00
Jude Nelson
94d09c0610
use explicitly-generated fully-qualified data names for apps, since they are not tied to a user's device
2017-01-30 01:36:10 -05:00
Jude Nelson
8ef6dea71b
check for storage setup for advanced storage methods; add upgrade_storage command; fix bugs found in testing
2017-01-30 01:35:46 -05:00
Jude Nelson
997ee6373e
symbol update
2017-01-23 19:10:23 -05:00
Jude Nelson
ba6e1ac2e5
do not tolerate legacy zone files by default (but leave the option of doing so)
2017-01-23 19:10:00 -05:00
Jude Nelson
c4a13bdbbf
require the user to migrate the wallet to its latest supported format before allowing it to be unlocked. move wallet-specific one-time setup to the wallet module
2017-01-23 19:09:24 -05:00
Jude Nelson
ff2c4a6d97
config_path, not config_dir, in load_wallet
2017-01-23 19:08:51 -05:00
Jude Nelson
51509d5c00
better public-key searching in the zone file; only return lists of immutable data hashes
2017-01-23 19:08:34 -05:00
Jude Nelson
1dfbc7142e
add ECDSA routines to work on files
2017-01-23 19:08:18 -05:00
Jude Nelson
6e8ecfc263
allow reading with the owner key, but not writing
2017-01-23 19:08:05 -05:00
Jude Nelson
ba8c304388
no longer accept the owner private key's signature on new data
2017-01-23 19:07:48 -05:00
Jude Nelson
e44235cd62
get_mutable: try each data store until we get fresh data; data_setup: refactor and clean up; stop trying to auto-migrate name profiles (since we don't need the profile any longer)
2017-01-23 19:07:00 -05:00
Jude Nelson
7fd0a0c16a
backup config file call
2017-01-23 19:05:50 -05:00
Jude Nelson
b999323b0e
WIP: one-time system setup to set up your data stores and check that you have a data key set in your zone file
2017-01-23 19:05:27 -05:00
Jude Nelson
49f49cc6a8
detect -p/--password and -y/--yes options
2017-01-23 19:05:09 -05:00
Jude Nelson
33eee60c22
registration now requires a data key
2017-01-23 19:04:56 -05:00
Jude Nelson
37579ccdb6
migrate over to the timestamp-based profile replication protocol
2017-01-23 19:04:36 -05:00
Jude Nelson
07324a20a9
get default password from environment; get default-yes setting from environment; WIP on prompting the user to migrate their wallet and create a data key
2017-01-23 19:04:06 -05:00
Jude Nelson
65b2c83a89
use private key index from shared storage; make some functionality public so we can load user data from the data.py module.
2017-01-18 18:49:41 -05:00
Jude Nelson
0d6f575c19
consolidate ensure_wallet_exists() checks; run data_setup() when we initialize the wallet for the first time; fetch user data from shared storage by default; have data-writing methods return a blockstack:// URL that can be used to read them; add get_data command that resolves a blockstack:// URL to data (regardless of how it is stored).
2017-01-18 18:49:16 -05:00
Jude Nelson
9ec4dfa6bc
get user public key from shared storage
2017-01-18 18:47:58 -05:00
Jude Nelson
269aad21a9
bugfixes to blockstack:// URLs. URLs to datastore-hosted data take the form blockstack://$datastore_id@$user_id/$path (where $user_id is the name for a public key, shared on the blockchain or not)
2017-01-18 18:47:18 -05:00
Jude Nelson
ee74529eaf
expect to get account private key indexes from storage providers
2017-01-18 18:46:57 -05:00
Jude Nelson
2707c563ec
remove unused methods; add storage_drivers_local to identify private storage providers (so we don't accidentally read shared data from it)
2017-01-18 18:46:05 -05:00
Jude Nelson
20dfe8b9a7
keep the private key indexes, public user keys, and user lists on shared storage (not just local storage).
...
* add support for getting, setting, and deleting user state from storage providers
* add support for generating and saving per-identity and per-user private key indexes
* make sure get_mutable() operates on *non-local* data storage providers for shared data.
2017-01-18 18:44:10 -05:00
Jude Nelson
8a95892b72
don't needlessly encrypt and decrypt secrets in the backend process
2017-01-17 19:05:01 -05:00
Jude Nelson
575a476ba4
fix bugs in resolve.py found during testing
2017-01-17 19:04:49 -05:00
Jude Nelson
667512f37d
stricter requirements for datastore names and user IDs; also, add a 'type' field to the datastore (to differentiate between collections and datastores)
2017-01-17 19:04:10 -05:00
Jude Nelson
0b152e80e4
remove the old profile-pointers to mutable data
2017-01-17 19:03:40 -05:00
Jude Nelson
2067ffed17
refactor datastore API so most of it can be reused to implement collections (WIP)
2017-01-17 19:02:31 -05:00
Jude Nelson
bc85259b19
merge rc-0.14.1 wallet.py
2017-01-17 11:23:40 -05:00
Jude Nelson
0aa5bc7170
merge rc-0.14.1 scripts.py
2017-01-17 11:23:15 -05:00
Jude Nelson
f65e19cb20
merge rc-0.14.1 rpc.py
2017-01-17 11:23:10 -05:00
Jude Nelson
c3a7bdf4a5
merge rc-0.14.1 resolve.py
2017-01-17 11:23:04 -05:00
Jude Nelson
60c003f377
merge rc-0.14.1 profile.py
2017-01-17 11:22:38 -05:00
Jude Nelson
9f2225fedd
merge rc-0.14.1 keys.py
2017-01-17 11:22:32 -05:00
Jude Nelson
7e6b635afc
merge rc-0.14.1 registrar.py
2017-01-17 11:20:59 -05:00