Hi HN! I recently open-sourced a project I’ve been working on over my winter break: a Solidity web framework you can use to write web apps <i>in Solidity</i> (and more generally, a proof-of-concept implementation of an arbitrary network protocol over Ethereum).<p>Here’s a demo web app on the Optimism Goerli testnet: <a href="http://simple.fallback.natecation.xyz/" rel="nofollow">http://simple.fallback.natecation.xyz/</a><p>Running this Solidity code: <a href="https://github.com/nathanhleung/fallback/blob/main/src/example/SimpleExample.sol">https://github.com/nathanhleung/fallback/blob/main/src/examp...</a><p>There’s a lightweight TCP server script that’s listening on the demo app domain that forwards requests to the blockchain and sends the responses back.<p>The smart contracts take advantage of Solidity's fallback()[1] function to interpret the input data to the contract as an HTTP request rather than an ABI-encoded function call.<p>Would love to hear your thoughts in the comments below!<p>Docs: <a href="https://fallback.natecation.xyz/" rel="nofollow">https://fallback.natecation.xyz/</a><p>Github: <a href="https://github.com/nathanhleung/fallback">https://github.com/nathanhleung/fallback</a><p>[1] <a href="https://www.oreilly.com/library/view/learn-ethereum/9781789954111/0bc452a8-d2b7-477a-b64c-bf497af4b5b1.xhtml" rel="nofollow">https://www.oreilly.com/library/view/learn-ethereum/97817899...</a>