I’m running into a bit of a problem using datalayer for my use case.
Unless I am missing something with how syncing works, it requires one mirror to be published for subscribers to start syncing, which would presumably be the original author. These mirrors are urls published on chain, so the original author is expected to be somewhat static and have a server at the url most of the time, or at least until someone else syncs the data.
This makes sense, but many of my users are not going to want to deal with that, especially early on.
The solution I am working on, is that when a publisher updates their datastore locally using my client, the data is then sent to any one marketplace instance (which would be syncing the data anyways) and the marketplace will add the data, verify it with datalayer, then syncing between marketplaces and users can start from there.
I can’t find a good way to add the data without syncing it from a mirror. Does that functionality exist? Or if you have any other suggestions, that would be appreciated.
There isn’t any easy way to sync the data outside of using the built-in download mechanism. One could write some python code to take the dat files directly from say a directory and then perform the sync.
Not sure though why this would be overly complicated for your users - once you subscribe to a datalayer data store, you don’t have to do anything else and the data server should download in the background. I guess you do have to keep the wallet and data services running
Some further thoughts - this is untested, however, it may be possible to specific a file location as the mirror during a subscribe
chia data subscribe ... -u "file://blah blah/"
But as I said, we haven’t tried that but it might work
Well, in my use case my users are publishing data, not downloading it. So each of them has their own datalayer table that they are creating and updating and we want them to own that in their wallets, without necessarily needing them to be a public mirror for that data.
Thanks, I’ll try using the .dat file as a source. If I could get that working, that should be a good enough solution for now.