This week Cloudflare released their IPFS gateway, allowing IPFS browser access through their CDN service.

[Editor’s Note: The system described below is not the same as the DAPP Network introduced by LiquidApps. For more on that, visit the LiquidApps website or read the announcement here.]

The combination of IPFS and EOSIO technology stacks enables truly decentralized end-to-end applications (frontend and backend). Developers can now run their dApps in a completely decentralized manner (as opposed to decentralizing only their smart contracts) significantly reducing ongoing costs while maintaining 100% uptime. This also allows for the creation of dApps which are not centrally owned, all the way through their frontend/UI.

Frontend — IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high-throughput, content-addressed block storage model, with content-addressed hyperlinks. This forms a generalized Merkle directed acyclic graph (DAG). IPFS combines a distributed hash table, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other not to tamper with data in transit. Distributed Content Delivery saves bandwidth and prevents DDoS attacks, which HTTP struggles with. [https://en.wikipedia.org/wiki/InterPlanetary_File_System]

Backend — EOS.IO is a blockchain protocol powered by the native cryptocurrency EOS. The protocol emulates most of the attributes of a real computer including hardware (CPU(s) & GPU(s) for processing, local/RAM memory and hard-disk storage with the computing resources distributed equally among EOS cryptocurrency holders. EOS.IO functions as a smart contract platform and decentralized operating system intended for the deployment of industrial-scale decentralized applications through a decentralized autonomous corporation model. The smart contract platform claims to eliminate transaction fees and also conduct millions of transactions per second. [https://en.wikipedia.org/wiki/EOS.IO]

The cloudflare gateway is crazy fast: check out Wikipedia hosted on IPFS for example.

The dApp Network:

We are releasing an initial version of The dApp Network, comprised of a dApp registry contract and a web-based explorer (also hosted on IPFS). It links to applications hosted on IPFS through Cloudflare’s IPFS gateway and allows dApp developers to associate a web frontend with their contracts.

The registry contract has been deployed on both the jungle testnet and on the mainnet (under the name dappnetwork1) with a corresponding explorer on IPFS for each:

Testnet: https://jungle.dappnetwork.liquideos.com

Mainnet: https://dappnetwork.liquideos.com/

We have already registered the LiquidEOS Heartbeat viewer, the Bancor conversion app and the LiquidEOS dApp Explorer itself as IPFS dApps, as well as our pet project (EOSCraft) as a non-IPFS example.

LiquidEOS Heartbeat Viewer

Bancor Conversion App

EOS Craft

Everyone is invited to register their dApps through the network contract by using cleos:

METADATA=”{\\\”enabled\\\”: true, \\\”ipfshash\\\”:\\\”YourIPFSHash\\\”, \\\”name\\\”: \\\”App Display Name\\\”}”

cleos push action dappnetwork1 regdapp “[ \”yourcontract\”, \”$METADATA\”]” -p yourcontract

Alternatively, if you have a non-IPFS hosted dApp:

METADATA=”{\\\”enabled\\\”: true, \\\”appurl\\\”:\\\”https://yourappdomain.com\\\", \\\”name\\\”: \\\”App Display Name\\\”}”

cleos push action dappnetwork1 regdapp “[ \”yourcontract\”, \”$METADATA\”]” -p yourcontract

It would be awesome to see utilities such as eostoolkit, apps and games hosted and published in the network for easy browsing and discovery.

Our ongoing development plan includes:

Better design

Search and discovery

Ability to register dApps directly from the UI

App rating and voting

Passing of network parameters to dApps through URL query parameters

Reading of the ABI and invoking commands in contracts that have no registered UI

Please let us know any thoughts or additional features you’d like to see. The LiquidEOS Explorer and contracts are open-source (https://github.com/bancorprotocol/eos-dapp-network) and we encourage the developer community to improve them with us.

We believe truly decentralized applications are a paradigm shift, now possible thanks to amazing technologies such as IPFS and EOS.IO among others. It is also our belief that these can become an actual cost-effective alternative to conventional app hosting methods as soon as IBC and side chains become widely available. More on that coming soon…

-Tal Muskal,

CTO, LiquidEOS