New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Gaia] Request for Storage Drivers #430
Comments
I'm assuming the bounty will be paid in bitcoins ;-) |
@muneeb-ali Seems most reasonable actually :-) |
@jcnelson Is it fairly safe to assume for a Sia implementation of the driver that it'd be talking to a Sia Daemon instance that is already unlocked, funded, and has contracts? These are all prerequisites for storing anything on the Sia network, or should the driver not make such assumptions? |
Yes, the Sia driver may assume that it has access to an already-running and already-deployed Sia daemon. Same goes for a Storj bridge node and an IPFS daemon. However, the user needs the ability to set the relevant configuration parameters in the config file (such as the host/port and access credentials). |
Awesome thanks @jcnelson |
One additional question @jcnelson it appears pip install is having issues finding a suitable version of virtualchain such that it meets the minimum version requested in setup.py (i.e. 0.14.2 on the rc-0.14.2 branch). It appears that it's finding 0.14.1.2 but nothing higher than that. As a corollary to this I believe my unit tests are failing because I have the wrong version of virtual chain which doesn't contain a |
Answering my own question here. Just used pip install like so: pip install git+https://github.com/blockstack/virtualchain.git@rc-0.14.2 To install the rc-0.14.2 version of virtual chain. |
Yeah, you'll want |
The next step here is integration with the browser. First, we'll add un-clickable buttons for connecting IPFS, Sia and Storj. Then, we'll have to have custom views with instructions for each one. I'll create issues on the browser repo and link them here. |
Hey everyone, great job on the pull requests so far! Just a quick update on what we expect from The driver must be written such that once a user writes data, any other user can read it given its The indexing system works by creating a top-level "manifest" URI that the user can attach to their profile. That is, given a blockchain ID (passed as
You can see examples in the I have written a driver test harness to help confirm that your driver uses them correctly, located here. You have to test the drivers using two hosts: a "reader" host and a "writer" host. To test the "writer", I'd do something like the following if I were testing the Dropbox driver:
Using the given URI above, I can now test the dropbox reader as follows:
No Dropbox API token should be necessary for the last command to succeed. This is because the write paths in the Dropbox driver instantiated an index in my Dropbox account, and printed out the URI to the index manifest after writing some data. If the user was connecting Dropbox to their account, what would normally happen is that this URI would be automatically added to the user's profile in a canonical location. This way, readers can proceed to access the writer's Dropbox-hosted data, despite the fact that Dropbox does not let readers simply construct URIs to data they did not write (like how they might in S3). What we do to simulate this in the test harness is we use a "template" list of datasets to replicate and manually pass the manifest URI generated by the writer to the reader by means of including it as a driver hint. By doing so, the reader will succeed at resolving the data saved by the writer to the appropriate URI in Dropbox, which can then be fetched via HTTP. Anyway, please experiment with this test harness with Dropbox, and please confirm that your drivers behave under similar circumstances. Thanks! |
@jcnelson unfortunately the Sia driver can't support this yet until file sharing is enabled/possible on the Sia network. @DavidVorick noted this morning as we discussed this that file sharing is on the roadmap but hasn't been completed yet. The community advice was to not rush this feature as there are much more pressing matters in the interim but we could revisit this as soon as file-sharing is possible on the Sia network. Thoughts? (We all hate that this in some ways takes the Sia driver out of the running for the bounty but we had a great time learning and implementing the driver thus far). |
Yea thats a shame @willmadison. Well if adding drivers was interesting, we would be open to paying bounties for other drivers as well. We don't have a formal $ amount assigned to each just yet, but if you wanted to work on one, let us know which and we could then price it along with the other outstanding drivers for bounties. |
Sure thing it was a ton of fun. Just let me know and I'd be happy to participate again for another backing service. |
is there any form to fill up for bounty ? |
@sayyedraza no form, just the first person who submits a PR with a working driver implementation and test suite that meets our performance and code quality standards gets the bounty. |
Am I too late for the bounty? I can submit a PR :) |
@meteorplus for which storage driver? |
We have moved the drivers to the Gaia hub and they are now written in JS. Closing this issue. |
woot
…On Thu, Jan 11, 2018 at 6:20 PM, Jack Zampolin ***@***.***> wrote:
We have moved the drivers to the Gaia hub
<https://github.com/blockstack/gaia> and they are now written in JS.
Closing this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#430 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFWIsJH-5ercRnCw4uxy4LOUKRYA1KJbks5tJpdMgaJpZM4Nlef_>
.
|
So everything gone? |
woot woot |
Request for Drivers
We're looking for talented engineers to port their favorite storage systems to Gaia, the decentralized Blockstack storage system.
Systems of interest include:
We are offering a bounty of $5000 to the first person who submits a PR with a working driver implementation (among the list above) and test suite that meets our performance and code quality standards. If you have suggestions for other drivers, let us know in this issue! :-)
The specification is described here: https://github.com/blockstack/blockstack-core/blob/rc-0.14.2/blockstack_client/backend/drivers/_skel.py
If you have any code-related questions, please contact @jcnelson on this Github issue
NOTES:
rc-0.14.2
branch ofblockstack-core
andvirtualchain
.test.py
storage driver inblockstack_client/backend/drivers/test.py
. In particular, the storage driver must be compatible with the indexing system. This means that the actual loading and storing of data should conform to the requirements ofdriver_config()
(called fromstorage_init()
). Thetest_get_chunk()
,test_put_chunk()
, andtest_delete_chunk()
methods follow the required interface.dropbox.py
storage driver is also a good working example.The text was updated successfully, but these errors were encountered: