keppel / shea Goto Github PK
View Code? Open in Web Editor NEWon-chain client code management for lotion
on-chain client code management for lotion
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 gci
s, 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.
I expect there to be three ways people use shea
apps:
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.
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.
No intermediaries. People install shea
and always run a local gateway -- this currently the only way to use Shea.
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>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.