We are proud to announce the alpha release of the Menlo Framework.
- It can be seen in action by visiting https://blockoverflow.menlo.one
- Dive in and make your own Menlo dApp: https://www.menlo.one/docs/
Menlo is a framework for rapidly developing decentralized applications (dApps). In the years since the release of Ethereum, developers have utilized several now common design patterns when building dApps such as leveraging IPFS and caching data on a web server. In the spirit of DRY (Do not Repeat Yourself) programming Menlo’s goal is to give developers these design patterns at their fingertips so they can focus less on setup and more on building dApp’s that people love.
We also built in a bunch of features to improve the user experience of dApps including using web sockets to users see changes in real-time instead of waiting for a block to confirm. It can can be used to build a variety of applications such as a censorship resistant social media site, a blog, a crypto enabled eCommerce site, or a even a crypto exchange.
The Menlo Framework v1.0.0 comprises of the full integration of TownHall, which has now been fully depreciated, as well as the previously unreleased Content Node module.
Menlo Framework v1.0.0 has two major components:
- A “Content Node”, which is a “back end” application on a web server. It’s essentially a server side caching system for blockchain data. Data is not only stored on the Content Node, but also stored on IPFS and Ethereum, making Menlo dApps decentralized and censorship resistant, while still performing like an traditional web app. This allows users who don’t own any crypto to view the content and lets search engines easily index the content.
- A “front end” single page application built in ReactJS which has functionality specific for working with a Content Node. It also comes with many common front end nice-to-haves such as Sass, Material UI, and many interface elements like drop down menus and loading animation.
See it in action
To demonstrate the framework, we built a dApp that users can visit if they have blockchain developer related questions. Users can post their question and set a prize of at least 10 ONE™ tokens for someone to answer. Other users can then answer the question, or vote on which answer worked best for them, and by doing so, they contribute small amounts of ONE™ to the pool. After 24 hours of inactivity the post is considered closed, and the answer with the most upvotes earns the payout.
Block Overflow further makes use of the Menlo Framework by being fully hosted on a Content Node, which can best be described as a web server that hosts cached data from the blockchain and delivers data quickly and efficiently to the end user.
Content Nodes can be owned and hosted by anyone and this is what allows dApp developers to effectively decentralize the data that their dApp generates and uses.
This solves a number of problems, such as distancing dApp creators, developers and companies from data, which centralized companies in the same position might attempt to sell, censor or manipulate, giving users the peace of mind knowing their their data is as public or private as they choose it to be.
We are encouraging our users to visit our Github, and to star or watch the Block Overflow and Content Node repositories, as well as developers, aspiring developers or even interested users to fork our code and experiment with it.
Documentation on how to run block overflow locally and deploying a content node can be found here, and we will be following up with a beginners tutorial in the future.
Please Note: The Menlo Framework, Block Overflow and Content Nodes are in the alpha stage of development. This means that there may be bugs or unexpected results found when testing or deploying these products. If you do find issues, please do create tickets on the relevant GitHub repository and let us know what you are trying to build.
Our software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non infringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.