Main Page
What is Ethora engine
Mobile app engine and platform for social tokenized communities.
Some people call us "Facebook for blockchain" or "decentralized WeChat" while others prefer to see it as a "nocode" or "lowcode" platform.
It is a B2B2C product meaning it's built by us for you (B2B) so you can provide your end users (B2C) with their own App / Ecosystem.
Ethora engine leverages state-of-the-art distributed ledger, tokenization and messaging technologies.
Currently available in React Native for iOS and Android.
Core features
- iOS & Android
- Social sign-in & Crypto wallets
- Coins (ERC-20 tokens)
- NFT Items (ERC-721 tokens)
- p2p content rewards (a.k.a. "crypto likes" - sending tokens to messages)
- Immutable decentralized transactions ledger (powered by Ethereum blockchain)
- Crowd-sourced rooms and spaces, p2p QR-code / public key - based invites system
- Chat / Messaging & Social profiles
- Bots and smart contracts extensions
- Push notifications
Scroll further below for the full Features list.
Source code
https://github.com/dappros/ethora/
Read this article for source code structure explained: Source code structure
Project goals
This project aims to promote decentralized economy and technology by offering a mobile app platform that can be easily used by any business, startup or community. Project authors build upon their expertise in the domains of mobile app development (iOS and Android), real-time communication (Erlang, ejabberd, XMPP) and blockchain (Ethereum) deeply believing the combination of these technologies offers the key missing gateway for average users into the decentralized economies of the future.
Using Ethora codebase you can easily create and publish your own iOS and Android app for your community, equip your members with crypto wallets and get a crowd-sourced community building going supported by your own token economy through ERC-20 and NFT digital assets. Real-time communication features (chat rooms, messaging, push notifications) help to keep your community sticky, engaged and viral. You can track your community metrics (user registrations, app usage, token transfers, messages) using Google Firebase or built in analytics provided by Dappros Platform.
Features
Codebase | |
React Native (iOS & Android) | iOS and Android platforms are fully supported from the single React Native codebase |
Config file | Config file allows to adjust important parameters and simplifies rebranding so that Ethora engine can be customized to a specific project |
Dev / Prod | Switch between Development and Production infrastructures for development, testing and running live purposes |
Users authentication | |
Social sign-in (Google) | Imports name, photo and e-mail from Google |
Social sign-in (Facebook) | Imports name, photo and e-mail from Facebook |
Social sign-in (Apple) | Imports e-mail from Apple |
Login + Password | (optional) Your own authentication system via Dappros Platform backend |
3rd party authentication | (optional) Your own authentication system via 3rd party |
E-mail verification | (optional) Send a verification link if you need users e-mails confirmed, for example to unlock features / content to specific @domain name user or to verify membership in your community via a 3rd party API integration |
Secondary e-mails | (if enabled) Users may specify and verify additional e-mails |
Phone verification (OTP) | (optional) Verify users phone number via Firebase or Twilio integration |
User Profiles & Wallets | |
Crypto wallet | Each user is automatically provided with a crypto wallet |
Profile First + Last name | Names imported from social login if applicable |
Profile photo | Photo imported from social login if applicable |
Profile bio | Optional - Users can specify brief information about themselves |
Profile business details | Optional - Users can specify their business details (company, phone, website) |
Balances (blockchain) | Balance is shown in nav bar and in users profile |
Transactions (blockchain) | Transactions for Coins and Items are done via blockchain (distributed immutable ledger) |
Public display for tokens balances and transactions | (by default) Users can see balances and transactions on other users' profiles |
Items/NFT provenance | Users can check the history of Items, NFTs, certificates and assets held by other users (when issued, by whom, history of transactions etc) |
Items/NFT interactions | (if enabled) other users can purchase, exchange or bid for Items/NFTs through owner user's profile |
Profile share via QR | Users can share their wallet address and profile details via a QR code |
Profile share via link | Users can share their wallet address and profile details via a hyperlink |
Tokens | |
Coin | App/Ecosystem has a default ERC-20 token called Coin. It is shown in nav bar, user profile and used for most interactions by default. |
ERC-20 tokens and ETH | Other ERC-20 tokens and ETH can also be used |
Social Likes | Users can spend and receive Coins and Items for their chat messages and content |
In-chat transactions | Users can transfer Coins and Items to each other within chat Rooms / Spaces and also send/receive tokens from Rooms and Bots |
Explorer | Transactions and Tokens provenance seen in users profiles, web explorer and b/c nodes transactions |
Items (NFT) | Items (ERC-721 tokens) are unique or limited edition assets transferrable in chats and displayed on users profiles. Metadata and multimedia hosted on IPFS. |
Mint NFTs | (if enabled) Users can mint their own NFTs directly from the App. This can be limited to business-specific scenarios (for example, upload your academic or health certificate, upload a photograph of a shipped item etc) |
NFT P2P purchases | (if enabled) Users can purchase Items directly from other Users' profiles (Buy now & Bid) |
Item provenance | Item (NFT) display their mint and transactions history in Users profiles |
Chat/Messaging | |
Lobby screen & Default chats | Lobby screen shows which Rooms/Spaces and Private chats user has joined, number of users and a latest message in each room |
Chat Rooms / Spaces | Users can chat in group chats, also send and receive Coins and Items within rooms |
Private chats | Users / crypto wallets can message each other individually |
Manage chats | Users can rearrange chats via Lobby screen controls |
Profile menu | Tap on User's profiile to send Coins/Items, start a Private chat, Ban/Report etc |
Default Rooms / Spaces | Specify "pinned" or Default Rooms that all of your App / Ecosystem users will auto-join |
Premium / Members-only rooms | (If enabled) certain Rooms/Spaces may be limited to a member status confirmed via a 3rd party integration |
Ban users | Room/Space owners and admins can ban other users |
Now typing | Users see when other users are typing |
Photos/avatars/initials | Users represented by photos / avatars if uploaded, otherwise initials avatar in the messaging interactions |
File attachments | Photos, Videos, other file types attachments supported. Previews supported for Photos and Videos. |
Voice & Video messages | Long tap to record and send a message |
Social Likes | Users can receive Coins and Items towards messages and content they post |
Create Rooms / Spaces | Users can create their own chat Rooms / Spaces, modify their settings and rules, invite other users |
Share room via QR | User can share and join Rooms / Spaces via QR codes. For example, invite users via TV or print, Zoom call etc |
Share room via link | Text link sharing allows to link directly to Rooms / Spaces within and outside the app. Users join by tapping the link. |
Chat Bots | Bots allow to connect custom business logic and smart contracts via conversational interface. Some bots are available out of the box. |
Room/Space wallets | Users can transact Coins and Items with Room/Spaces or their smart contracts |
Push Notifications (transactional) | When not online, users receive push notification alerts from Rooms/Spaces, Direct Messages, Coins or Items transfers |
Manage Rooms / Spaces | User can move, rename, leave Rooms / Spaces to organize their Lobby screen |
Users engagement & P2P Economy | |
On-boarding screens | (Optional, disabled by default), Educational screens for your Users upon first time they open the App |
Join bonus | (If enabled), Users receive 100 Coins when they join your Application / Ecosystem. This enables new Users to participate in your Ecosystem and p2p rewards. |
P2P rewards | Users can receive "crypto likes" Coins and Items in response to messages, thus enabling p2p rewards within your Ecosystem. |
Daily bonus | (If enabled), Users will receive 5 coins every 24h they use the Application |
Activity rewards | (work in progress) - Ecosystem rewards users for activity that is useful to the community |
Push notifications (broadcasted) | Send informational messages to your Users |
Premium / Members-only Spaces | Some Rooms/Spaces and features may be conditional upon User's status or activity. 3rd party membership confirmations are supported via e-mail domain verification, CRM integration etc. |
Analytics | |
Analytics dashboard | Web-based analytics UI providing you with your App & Ecosystem metrics such as Users, Sessions, Transactions, Coins & Items, Messages, Push Notifications, Attachments etc. |
Firebase integration | Monitor app usage, demography, location, re-actiivation via Google Firebase dashboards |
Explorer | Web explorer is available in Dappros Platform dashboard |
Validation node | Add your own node to the network to access blockchain data directly |
ACL | |
Access Control List | Manage Access at Owner, Application and User level for different actions and resources (see ACL page for details). |
API | Our RESTful JSON API for cases where you need to go beyond functionalities and flows currently implemented in the engine |
API documentation | Full API documentation of Ethora's backend via Dappros Platform. This provides access to Application/API/Web3/caching (DP Core) + Messaging (XMPP Ejabberd, Push Notifications) + Ethereum Blockchain (geth): https://www.dappros.com/developers/ |
Swagger | Interactive web interface to query our API: https://app-dev.dappros.com/api-docs/ |
Misc | |
Short URL Room/Space linking | Link to Rooms/Spaces within your App via short URL from other applications and websites (see also QR code sharing). |
Bots | Automated agents with their own Profiles and Wallets. May be interfacing dApps / smart contracts or external integration such as e-commerce, information retrieval etc. Some ready bots can be enabled out of the box, e.g. Notary Bot will sync your messages into immutable ledger, Booking bot will set up an appointment with its owner User etc. Bots allow to integrate any functionality not covered by Ethora engine. |
Privacy Policy | Ethora's standard Privacy Policy is included within the App which covers Ethora-based projects universally. You can modify or replace it with your own Privacy Policy. |
Disclaimer
Our platform provides technology for ecosystems built on the principles of openness, transparency and decentralization. By design, certain information such as user profiles, rankings, and the transactions of digital assets will be available to the whole ecosystem or to the public. You should not use the standard version of this product for storing or sending secure or commercially sensitive content. You should not use any versions of this product for emergency communications. You should not share information or content through our platform in cases where you may not be comfortable or authorized to share it with the public.
Note: enterprise-friendly version of Ethora engine (additional security layers, custom user sign-on mechanisms, Professional Services & SLA package) and dedicated hosting option are available under a separate license.
Developers and Funders of the project
Ethora mobile app codebase, Dappros Platform backend (Ethereum-based infrastructure, core application, wallets handling, caching, Web3, IPFS storage and API layer) are developed and supported by Dappros. Real-time communication infrastructure (Ejabberd chat server and custom application logic, Push Notifications, statistics and monitoring) are developed by DeepX.
The project is currently (2018-2021) developed and funded solely by these two privately owned companies. It is our aim however to transition project governance to an open-source foundation / DAO as soon as the activity from the developers community becomes significant to justify such transition. In such case the existing entities will focus on commercial services and enterprise version of the engine, while the project core development will be governed by a foundation / DAO under the principles of open source software.
Commercial & licensing model
Our approach to licensing is similar to a 'Red Hat model' where we offer most of the product open-source so that a wide global community can benefit from it and contribute to its further development, but we also offer commercial licensing and technical support options for businesses and enterprises to help fund further development of the product.
In terms of license and code availability the product can be broken down as follows:
- Client-side (mobile app): (A): free, open-source under GPL license; (B) Paid-for commercial license with security add-on and SLA package.
- Server-side: freemium (free cloud plan fits most startups and non-commercial organizations, paid SLA and dedicated hosting plans available for businesses that require them).
Future plans & roadmap
DAO governance vision
Currently (2021) Dappros is a privately owned company that offers an open-source mobile app, open-source private blockchain and closed-source backend. Our founders promote decentralized economy and free p2p communication technologies for many years. We are developing a roadmap where the platform will become fully open and its governance can be transferred to a decentralized organization. In such scenario, we will remain a private organisation offering implementation and SLA services, but the development of the new versions of the platform engine and maintenance of the publicly available infrastructure will become globally distributed and decentralized. Our only limiting factor here is funding and time constraints.
Roadmap 2018-2021
- A platform allowing businesses and creators to easily set up and for users to join and explore a tokenized p2p ecosystem
- Partially centralized
- Assets and transactions ledger are decentralized
- Leveraging state of the art DLT, mobile and communication technologies
- Mobile-first ("no ads, no gimmicks")
- Open-source client
Roadmap 2022-2023
- Self-Sovereign Identity - users own their identity, content and assets
- Open-source server - anybody can download and run a Validator or Host node (closed-source enterprise version possible for private chain projects)
- Validator / Hoster incentives - self-supporting network
- Easy sidechain / mainchain assets transfer
Roadmap 2024-2025
- Decentralized maintenance allowing both (a) incentivized hosting of the public infrastructure and (b) private networks. À la Ethereum;
- R&D grants available for teams and individual developers contributors globally
- Decentralized governance - platform stakeholders make important decisions for the public network
- Meritocracy - governance stakes are earned through supporting platform infrastructure (running nodes), R&D work and platform promotion
Contact
Drop us a line if you’re interested to find out more or to become a contributor to the project.
Also feel free to submit pull requests in our Github repo!