Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
nitowa a4b9635ee7 optimize webpack bundling, minimize gateway JS 2 år sedan
gateway optimize webpack bundling, minimize gateway JS 2 år sedan
gui Initial working version 2 år sedan
src optimize webpack bundling, minimize gateway JS 2 år sedan
.gitignore Initial working version 2 år sedan
README.md optimize webpack bundling, minimize gateway JS 2 år sedan
package-lock.json optimize webpack bundling, minimize gateway JS 2 år sedan
package.json optimize webpack bundling, minimize gateway JS 2 år sedan
tsconfig.json Initial working version 2 år sedan
webpack.gateway.js Initial working version 2 år sedan
webpack.gui.js Initial working version 2 år sedan

README.md

Overview

httXrp is a proof of concept for a truly serverless web architecture. If serverless simply means “a server owned by someone else”, httXrp pushes that definition to its limit.

How it works

1: Getting data into and out of the blockchain

Transactions on the ripple blockchain are allowed to carry up to 1kB of arbitrary data via the memo field. We can use this to store data of any size by building a tree of references between these transactions that can then be reassembled by reading them back from the blockchain. In order to generate these transactions a library called xrpio is used.

Highly simplified, you can visualize the process like this:

xrpio treewrite

2: Abstracting the webserver away from the web

Using tools like webpack, it is possible to condense even modern complex single-page-applications into a single html file. As xrpio is written in JavaScript, it is even possible to embed it into such an HTML file, the use of which will become more clear a few paragraphs below.

Since such a condensed HTML file is effectively nothing more than a long string it is possible to use xrpio to store them into the ripple blockchain and to retrieve them via a single identifying hash.

Webserverless web

3: Dynamic web applications without a backend

Superficially, this technique is limited to serving static webpages, as there is no real backend serving these pages. However, since it is possible to embed xrpio into such a “static” page, it is possible to listen for transactions on the Ripple blockchain containing valid xrpio hashes and to dynamically update the webpage’s content based on the stored data.

Credits