Skip to content
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

ipfs-repo.next() #112

Closed
6 of 7 tasks
daviddias opened this issue Jan 4, 2017 · 10 comments
Closed
6 of 7 tasks

ipfs-repo.next() #112

daviddias opened this issue Jan 4, 2017 · 10 comments
Labels
exp/expert Having worked on the specific codebase is important help wanted Seeking public contribution on this issue

Comments

@daviddias
Copy link
Member

daviddias commented Jan 4, 2017

Notes from the discussion with @dignifiedquire, @victorbjelkholm, @Kubuxu and @whyrusleeping.

We will be moving out of pull-blob-store and just use js-datastore. js-datastore differs from blob-store on its ability to run queries.

  • Implement js-datastore-fs
  • Implement js-datastore-level-db
  • Implement js-datastore-indexed-db (browser)
  • Drop streaming interface at the repo level (not used, all the control flow is actually done in the layers above, which is more power for the user), this will reduce pull-stream creeping.
  • Migrate repo.blockstore to use js-datastore-fs in Node.js and js-datastore-indexed-db in the browser
  • Implement repo.datastore and use js-datastore-fs in Node.js and js-datastore-indexed-db in the browser
  • Since we are at it, update the spec https://github.com/ipfs/specs/tree/master/repo
@dignifiedquire
Copy link
Member

Drop streaming interface at the repo level (not used, all the control flow is actually done in the layers above, which is more power for the user), this will reduce pull-stream creeping.

This means we should figure out the batch interface to do multi delete and puts.

@Kubuxu
Copy link
Member

Kubuxu commented Jan 5, 2017

You will probably need js-datastore-mount for combining the fs and level-db datastores into one datastore.

@daviddias
Copy link
Member Author

@Kubuxu we've support for multiple drivers already, thanks for bringing that up :)

@SidHarder
Copy link
Member

@diasdavid I finished implementing js-level-pull-blob-store and was planning to go back to work on js-ipfs-repo/datastore. Does it make sense for me to keep working on this in light of this issue? I would be happy to help with this effort if it makes sense.

@SidHarder
Copy link
Member

@diasdavid Does the js-datastore spec exist somewhere, I'm not finding it.

@daviddias
Copy link
Member Author

js-datastore is essentially a blob-store + a key/query API, so yes, all the work on js-level-pull-blob-store will be used, thank you for getting that done :)

The datastore work is available here: https://github.com/datastore
With a 'pre' (really old) version of what the datastore for JS is: https://github.com/jbenet/node-datastore

Going to ask @jbenet to get access to that org and get all the repos in one place.

@daviddias daviddias added the status/ready Ready to be worked label Jan 11, 2017
@daviddias daviddias added status/deferred Conscious decision to pause or backlog exp/expert Having worked on the specific codebase is important help wanted Seeking public contribution on this issue and removed status/ready Ready to be worked labels Jan 29, 2017
@daviddias daviddias mentioned this issue Feb 13, 2017
17 tasks
@daviddias
Copy link
Member Author

good news, managed to get https://github.com/diasdavid/js-datastore from @jbenet :)

@dignifiedquire
Copy link
Member

I think this would be a great starting point for testing out types in Javascript, so that we can define some nice interfaces.

@daviddias
Copy link
Member Author

@dignifiedquire started experimenting with it at https://github.com/dignifiedquire/js-datastore

@dignifiedquire
Copy link
Member

TODO: Investigate level-down and level-up interfaces if there is something we can reuse

@daviddias daviddias removed the status/deferred Conscious decision to pause or backlog label Mar 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exp/expert Having worked on the specific codebase is important help wanted Seeking public contribution on this issue
Projects
None yet
Development

No branches or pull requests

4 participants