In December 2019, Blockmatic with the sponsorship of CSX and Bitcash started to work on the Telos DreamStack, a project that aims to facilitate faster time to market by providing a ready to go whitelabel apps and a well-documented framework for building applications using Telos and the latest frontend technology for performant user interfaces.
The ultimate goal of DreamStack is to provide a way to quickly jumpstart development removing tech overhead and allowing you to focus on your business model and product features, reducing costs to develop high-quality blockchain apps and functional proofs of concept.
The main objectives of the project are:
- Reduce the time and effort required to launch applications on Telos.
- Help position Telos as one of the best networks for dapps.
- Provide reliable real-time graphql endpoints for dapps.
- Provide best in class dapp starters.
- Simplify developer on-boarding.
- Provide a better developer experience.
- Reduce work duplication and maximize development synergy.
- Promote better user experiences in dapps.
- Strengthen the developer community.
DreamStack is open source and the code is available at github.com/Telosdreamstack. Documentation is being worked on docs.Telosdreamstack.io and it counts with its own telegram group for support. Online webinars, video tutorials, onsite workshops, and hackathons will help foster the DreamStack development community.
It focuses on providing everything required to build performant real-time blockchain applications with Telos and React, featuring application starters for mobile, web and desktop with the following functionalities:
- Create TLOS free accounts and profiles.
- Secure key imports.
- 6 digit pin key encryption in mobile,
- Password for key encryption in desktop.
- Real-time balances and permissions.
- Token transfers.
- Push notifications.
These projects are currently waiting for DreamStack. We realized all these projects needed the same functionalities so we built the framework.
Flow Kanban is a native desktop application that features a Trello like kanban board with crypto incentives attached to them. Each card is an escrow contract. It can support both custom permission and liquid voting on cards for approval and quality assurance.
A novel collateralized stablecoin system that empowers users who deposit TLOS in the community platform. 80% of revenue proceeds from exchange, payment, investment & lending services reward depositors. This system automatically generates fiat stablecoins for users and has the potential to generate other derivative assets in the future for use & trade. The first trading application called 100x makes trading secure and simple and leverages the bitcash system to provide a liquid TLOS /USD exchange with leverage.
Krown DAC Notifier
The Mobile DAC Notifier is a mobile app that allows you to receive notifications and vote on DAC proposals right on the phone. It’ll support eosDAC and Telos Decide based projects. A lot of people participate in several DACs, they will be able to track and respond to all proposals from the same app.
- Project website.
- Finalize app starters’ design.
- Reactive demux.
- GraphQL service.
- Mobile starter.
- React web starter.
- Desktop starter.
- LiquidLink support.
- EOSIO signing request support.
- Start a marketing campaign.
We created two proposals on Telos Works with more detailed information on the reactive demux component and design work.
- DreamStack Design and Landing Page:
- Reactive Demux by DreamStack:
Application performance is a critical factor in the success of a project, and a major indicator of software quality. It is even one of the essential criteria that determine user satisfaction. DreamStack makes emphasis on meeting human-centric performance metrics such as Time To Interactive and First Contentful Paint.
Software maintainability is defined as the degree to which an application is understood, repaired, or enhanced; Developers spent most of their time understanding other people’s code, and that is not a trivial endeavor; therefore, it is important to adhere to clear conventions so that the next developer has as little overhead as possible when reading your code.
dapps benefit from sharing a common codebase they all contribute to enhance and extend. The shared guidelines allow developers to avoid the context switching overhead when working on different applications or codebases, and for developers completely new to the technologies it is way easier to start with clear guidelines and starters.
All the code follows Functional and Declarative style enforced by automated linting and formatting, as well as thoughtful peer reviews. TypeScript is used to validate parameters at compile time allowing us to detect bugs earlier and reduce risk of introducing bugs at run time.
These starters are easily customizable/themeable through CSS in JS using ThemeUI and Emotion Mobile. The theme is saved as a JSON object you can customize with your color palette and typography easily.
DreamStack GraphQL is powered by Hasura GraphQL engine which is kept is sync with the blockchain through a Reactive Demux service built with RXJS data pipelines from EOSIO state sockets. Its open core supports real-time graph subscriptions to account balances, permissions and consume Telos Decide features.
Support for custom contracts can be achieved through whitelisting contracts, tables and actions you want to subscribe to. Being open-source developers can use the same technology for building custom real-time backends. Producers can potentially offer it as a service.
- It handles EOSIO micro-forks on the backend.
- Clients subscribe to state replicas and events rather than db deltas to derive state.
- It creates an actual graph of your on-chain data you can use to make complex queries.
- You can hook custom offchain GraphQL resolvers.
- You can subscribe to events for notifications and other actions.
- It allows complex and efficient queries and subscriptions.
Interactive GraphQL explorer allows developers to explore the Telos graph and try out their queries and subscriptions before implementing them in code.
Some of the Expo’s more prominent features are:
- Access to device capabilities like camera, location, notifications, sensors, haptics, and much more, all with universal APIs.
- Build service gives you app-store ready binaries and handles certificates, no need for you to touch Xcode or Android Studio.
- Over-the-air updates let you update your app at any time without the hassle and delays of submitting to the store.
The Telos DreamStack Mobile starter out-of-the-box is a ready to deploy minimal wallet, fully customizable and extensible that you can use as a base to kickstart your mobile projects. Instructions for deployment automation and app store submission will be provided as well as part of the docs.
A CRA ( create-react-app ) application with a fluid layout built using the latest frontend tech: CSS Grid, Flexbox, relative font-size in ems, viewport, fluid typography. All that based on ThemeUI components for consistency and design constraints.
It features integration with Lynx, Scatter and EOS Auth through react hooks and comes with demo views and real-time balance subscription examples.
Provides the same functionalities of the ReactJS starter with the ability to do efficient server side rendering with is great for SEO and social sharing functionalities. Emanate uses this strategy for the artists landing pages.
A ready to go ElectronJS desktop dapp boilerplate. This is the technology used by Spotify and Scatter. Instructions for automating compilation for Windows, MacOS and Linux will be provided.
Key Success Metrics
- Developers should be able to deploy a working project in a day.
- Developers should be to test functional proof of concepts in a week’s timeframe.
- Companies should be able to find capable developers in a matter of days.
- New applications should have high user-centric performance metrics by default.
- The amount of open GitHub issues should be very low.
- Developers should get responses on Github in less than a week.
- Response time in telegram support should be fast. ( same day ).
Software engineer with a long background in web development and NodeJS, GraphQL and RXJS. He also was an Angular instructor at Instituto Tecnológico de Costa Rica. Now specializing in EOSIO’s contract development.
Self taught software engineer. He has worked with many development stacks in mobile, web, data integration and some other powerful technologies: GraphQL(hasura), Flutter, React, Electron, Firebase Cloud Functions, React Native, VueJS, Gridsome, styled components and more.
UX Interactive designer making decentralized applications more friendly. Lead UI designer at Blockmatic and active contributor to Bitcash.
React and React Native expert. Lead engineer at BoltSource and organizer at React Costa Rica and Costa Rica JS.