Lighter wallets or temporary download permissions?


#1

Hi!
I’m really excited about your beta product, I’m following the tutorial right now because what you’re building fits a use case for a project I’m working on pretty well. The use case involves using Ethereum to prove provenance of an encrypted file, and then offering the file to specifically permissioned users. Basically, the tutorial you have now seems to require that a ‘customer’ or ‘downloader’ to set up a leth node and sync it (which takes HOURS) before they can download a file, and that’s a non-starter for most people, I think. As a result, I have 2 questions about the current capabilities of the SDK:

  1. Are there any plans for a feature that would automatically allow a special ‘1 time download’ of a file? Something like “grant, download, ungrant” as a pattern? It’s something our application would find really useful.

  2. Are there limits/ideal use cases for the number of Leth accounts that can be created, or is there a way to create a ‘light’ version of one that can be used in a browser or as a Javascript SDK? Like some of the lighter Ethereum wallets? I need either a lighter wallet setup, or, as a way around it, I was considering building a secured cloud service that acted as a ‘downloader’ node, but for security what I would want to do is basically make lots of throwaway accounts that ran on the downloader node (like, 1 per download). What do you recommend in this case? Or is lightstreams only supposed to share things between people who are willing to run full nodes themselves?

Sorry if these are newbie questions, I’m a web developer dipping my toes in here, but the SDK documentation is still just the tutorial, and I can’t see anyone actually using this for anything if everyone who uses it has to set up these several hour long nodes just to get at a file…


#2

Hey AMB!

Thx for your interest in the SDK!

Regarding the sync, that’s a necessary part of blockchain development. You can’t be decentralized without syncing.

  1. You can already grand a “noaccess” on the ACL of a file (which is like ungrant) but once downloader downloads your file, it won’t be removed from his PC automatically. This feature is useful for the future when multiple files will be linked to the same ACL

  2. You can use our Leth Node Gateway over HTTPS if you want to program JS applications without running the node yourself. Checkout our documentation (currently WIP) on how to interact with the gateway. https://wiki.lightstreams.network/http-api-doc/ The only thing you have to do, is replace the localhost:8080 with gateway.lightstreams.network:9091.

Example of creating a new user:

curl -X POST https://gateway.lightstreams.network:9091/user/signup -H 'Content-Type: application/json' -d '{"password":"password"}'

WARNING:

  • this is a test server, don’t store there anything sensitive, important and we may wipe the server from time to time (each few months)

BTW: We are working also on a new documentation that will be cleaner and explain all the concepts with an open-source template of a project in Go and JS.