Git Product home page Git Product logo

shea's People

Contributors

keppel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

shea's Issues

Shea won't start

version 0.0.13

$ shea c79f90a09095aefbc72c461cfcd55e2edf20c3349488e2763e9e73d9ceb81925                        

Result in:

TypeError: Cannot read property 'on' of undefined
    at queryByGCI (/Users/fabo/.nvm/versions/node/v9.11.2/lib/node_modules/shea/bin/cmd.js:183:24)
    at <anonymous>

gateway mode

Shea currently creates a separate node process and http server listening on a different port for each Lotion app. You run shea <GCI> and that localhost:1337 or whatever.

Instead, running shea with or without a GCI argument should open a single process that manages light client connections to multiple chains.

GET /:gci

Load the client code for a chain at gci. Apps can link to other apps this way.

GET /state

For now, apps can only query their own state. While it's possible and would be super convenient to let clients query the state of other chains, it seems tricky to prevent an app from just spamming a bunch of /:gci/state endpoints for random gcis, which would unnecessarily spawn a bunch of tendermint nodes. This seems like it should be possible to solve, but I'm not sure of the best way to do this yet.

POST /txs

Create transaction for currently-loaded client. Cross-chain txs might be possible, but need to think more about how to do this securely.

Gateways

I expect there to be three ways people use shea apps:

  1. Public gateways. People connect to, for example, https://shea.kep.io/abc123000deadbeefbabe456 and see the Lotion app running at that gci. In that case, however, they're completely trusting the gateway not to be evil, which is only ok for apps where nothing is at stake. From a UX perspective, this is a fantastic experience. As an example, consider that most IPFS usage happens through the gateway at ipfs.io.

  2. Trusted gateways. People spin up their own gateways which they can then trust from any of their devices. The UX cost can be small here if the tools for deploying a gateway are simple, and the UX cost is all up-front.

  3. No intermediaries. People install shea and always run a local gateway -- this currently the only way to use Shea.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.