/elymus

Primary LanguageJavaScript

Elymus: Platform & Stack for truly decentralized apps

And I mean truly in that way in which no other dApp will say it to you.

icon

Motives, ideology

Current dApps accept "some degree of centralization", like using RPC endpoints hosted by someone or using Pinata to pin files on IPFS and eth.limo (or some other gateway) to access content addressing system.

In Elymus it went crazy, we are first adopters of "decentralization as fetish" ideology. If something is even somehow centralized, we refuse to use it in Elymus.

This ideology can and will hurt adoption, maybe even UX (as Elymus contains many heavy software & nodes, so it is relatively heavy too, so not every user's device will handle it).

So if you are planning to build just another DeFi memecoin on Elymus for adoption, better choose other platform.

But if you want to build dApp that will survive when whole world is against this dApp, dApp that will survive nuclear war, Elymus is your choice.

What is Elymus

Elymus is stack for dWeb: Browser, SDK, and bundle of nodes for p2p communication.

It uses Repens protocol for dWeb sites (however you can access usual web2 sites through it, better use normal browser when doing it), developed to provide absolutely decentralized way to host and access frontends.

Repens protocol utilizes Handshake Protocol as decentralized KV storage and content addressing system, IPFS as p2p caching system (user visits site, and caches its content, while seeding it through p2p network to next visitors, just like torrent but for websites), and Arweave/Sia/Hypercore Protocol as content anchoring networks (that will seed frontend when nobody has it in IPFS cache).

You can read how to make your frontend available through Repens protocol here: HOST-FRONTEND-ON-REPENS.md

Elymus is driven by decentralization-first convenience-last ideology. We have already seen many dWeb projects whose only relation to dWeb is that they utilize blockchains in some way. So we are ready to pay with convinience and heavyness for decentralization. We try to utilize lite nodes as much as we can. We try to builtin lite nodes for chains we use in this stack. Where lite nodes are not available, we still use endpoints, but no endpoints are hardcoded, and user can configure every endpoint anytime. We expose these endpoints from user's settings to Repens-based sites and we strongly encourage to use endpoint from user-preferences instead of own hardcoded endpoints.

You can download Elymus on releases page

TBD:

  • Add support for anchoring networks (Arweave already integrated)
  • Add builtin wallet SDK and builtin lite node for chain with smart contract support that has well support of lite nodes (Considering Ergo, but may be other chain)
  • Improve UI
  • Implement max cached sites in IPFS
  • Add builtin SDK for Repens-based sites for gateway-less p2p networking (APIs for swarms, DHTs, etc)