Introducing the Leo Lightning DB Layer for Hive | Speed of Web2, Principles of Web3

in LeoFinance3 years ago (edited)

Introducing the Leo Lightning DB Layer for Hive  Speed of Web2, Principles of Web3.png

The Leo Lightning DB Layer is something we've been developing for nearly 6 weeks now. The project has taken much longer to develop and release than we anticipated, but the resulting product is even better than expected. After weeks of backend development and countless rounds of testing (including 2 live fire tests), Lightning DB is now in production on https://LeoFinance.io and appears to be stable.

What is the Lightning DB Layer?

Lightning DB is the name we gave to this project. The entire premise is to bring the Speed of Web2 to the Principles of Web3.

Hive gives us the principles of Web3 by providing a decentralized, scalable and fast database for storing user data and user generated content (UGC). One issue with Hive is that the APIs can sometimes slow down the display of data on the frontend. For the most part, this is not an issue at the first layer. You can find that there are small delays in certain actions (i.e. a few seconds delay for comments and other actions).

To combat this, we built an Actions Queue to allow users to rapidly upvote/comment, etc. on LeoFinance.io and allow the Queue to deploy those actions in sequence on the backend of the site.

This allows users to interact without seeing all of those "Blockchain Errors" when they're rapidly committing actions on the frontend, but the speed caps still exist. Since LeoFinance exists on the second-layer of Hive (currently on Hive-Engine and soon migrating to our standalone second-layer), there is an additional delay on certain aspects of the site.

These delays especially impact:

  • Comment times
  • Post Publishing times
  • Trending/Created/etc. content feeds
  • Wallet Page
  • .....

LeoFinance depends heavily on the speed of both Hive APIs and second-layer APIs. While our upcoming second-layer project is much faster than Hive-Engine, neither that layer nor Hive itself will ever have the "Speed of Web2". This is simply due to limitations, even if they are only a few seconds (which is much faster than other blockchains).

A workaround is the Lightning Layer that we have developed.

The Lightning Layer is a database that exists on the backend of https://LeoFinance.io. When users commit actions on the frontend, they are instantaneously deployed to this layer and displayed on the UI frontend. From there, the layer speaks to the Hive blockchain directly and sends those actions to the chain.

image.png

You could think of Lightning as a sort of "Middle-man caching layer" that serves as an instantaneous go-between for LeoFinance and the Hive blockchain.

Note: the Lightning Layer plays an essential role in the development of #ProjectBlank. More info on this in later announcements.

A Web2 User Experience on Web3

The Lightning Layer is a very backend-heavy project. It doesn't have all the fancy bells and whistles of frontend development where users notice some shiny new feature on the UI.

Instead, it improves the user experience in a much more subtle way. For users that have been on Hive/LeoFinance for a long time, you'll notice the speed enhancements right away. When you load the homepage of LeoFinance.io, load a feed, click on a post and especially when you publish a Post/Comment - you'll notice that it is nearly instantaneous.

The speed is incredible and shows an immediate improvement for all of us who have been here for a while. For new users, however, they expect this speed.

One of the most challenging hurtles from web2 to web3 is usability. As with any new technological breakthrough, Web3 is difficult to get started with and can often have bugs, slow loading times and steep learning curves.

LeoFinance aims to change this and make Web3 as easy to use as Web2. The significant difference is that we are plugged-in to a blockchain which allows us to store data publicly, immutably and in a decentralized fashion. We can also distribute rewards every few seconds on the Hive blockchain to tens of thousands of users.

In short, when you examine the roadmap and developments of LeoFinance, you'll notice a clear trend. Whether it's LeoInfra (instant onboarding & Hive lite accounts) or Lightning DB (caching layer for Hive), we're moving closer and closer to this vision of merging the speed of Web2 with the principles of web3.

What's the Future of Lightning ⚡️?

To see Lightning in action, just load pages/content on LeoFinance.io. On feeds and other pages, the speed improvement is about 20% faster.

User actions - commenting/publishing posts - the speed improvement is 10x... Yes, 10x.

Here is a demo we released on Twitter showing the speed improvement of creating comments. We managed to shave the time needed to publish comments/posts to the blockchain from 9.95 seconds to 0.92 seconds.

It's truly an incredible experience.

This is just V1 of our Lightning Layer. In our roadmap, we've scoped out other aspects of Hive APIs/second-layer actions that can be improved with Lightning.

As the project is developed, you'll notice other action become instantaneous. You'll notice further enhancements to page loading times, etc.

Lightning can also handle more than just speed improvements. We've begun playing with a few ideas which could potentially allow Lightning to publish/retrieve data to/from multiple blockchains simultaneously in the background.

If you're paying attention to the Crypto/DeFi space, you'll notice that everything is moving toward this idea of being "Cross-Chain compatible". LeoFinance.io already has cross-chain features (i.e. allowing seamless wallet co-operation between Ethereum and Hive and also allowing Ethereum Metamask users to sign-in to Hive lite accounts and interact on the site), but the future is in deepening this relationship with other blockchains.

Through Lightning, LeoInfra and other projects, we're building bridges to other blockchains now and in the future. Hive is an incredible blockchain for scalable, decentralized data storage. Its future lies in cooperating with other blockchains to adopt their ecosystems and tap into the wider crypto market.

LeoFinance and the LEO/WLEO token economy will be at the center of this expansion.

Test Lightning

We've already spent countless hours testing and fixing Lightning. It's been a rough project to develop, but the result has been 100% worth the effort. This project is essential for #ProjectBlank and a few of the other key aspects on our roadmap.

Lightning may still encounter issues from time to time. If you spot any issues, please report them in Discord so we can deploy patches quickly and keep Lightning online.

Other Announcements

Lightning has taken a significant amount of focus to deliver, but we have a number of other projects being developed simultaneously. I'd like to take this time to announce that there are a lot of announcements that we will announce in the near future.

#ProjectBlank development is currently the core focus as we try to roll it out in the next month. This project is massive and brings a level of content creation and interaction to the Hive blockchain that has never before been possible. In fact, we're currently developing a new solution for handling "Blanks" (think "Tweets") on the Hive blockchain.

As many of you know, ProjectBlank does not utilize top-level content. We've run through a few different ideas for handling "Blanks" (Tweets), but have finally come up with a solution that we think brings the best of both worlds. Lightning ;) fast speeds and immutable content on the Hive blockchain.

Much like Splinterlands did with custom JSONs on Hive, ProjectBlank will change the way you view content creation on the blockchain. Posts are just scratching the surface of what is possible and ProjectBlank will dive beneath this layer and create something entirely new.

The new LeoFi dashboard is also being developed right now. This new dashboard will introduce an entirely new use case for LEO POWER in V1 and will add cross-chain "DeFi" applications in subsequent versions. This will allow users to interact with the WLEO Geyser and other Fi applications we develop. The expected release date of LeoFi is roughly 3 weeks from today. ProjectBlank should launch around the same time, depending on the speed of our development and closed Alpha tests.

We're still working on the LeoFinance Whitepaper which outlines a lot of these projects and importantly, the future of LeoFinance. With every day that passes, this paper gets longer and more nuanced. Stay tuned for the announcements.

Update on Lightning:

30 minutes after this post went live, we had to roll back Lightning for a key performance update.

After making some significant changes and upgrades, Lightning is now back online, stable and faster than ever before ⚡️

 

 

LeoFinance is a blockchain-based social media platform for Crypto & Finance content creators. Our tokenized app allows users and creators to engage and share content on the blockchain while earning cryptocurrency rewards.

Track Hive DataNew Interface!About Us
HivestatsLeoFinance BetaLearn More
Trade Hive TokensWrapped LEOHive Witness
LeoDexwLEO On UniswapVote

Support LeoInfra's Onboarding Efforts by Delegating HP to @leo.voter (Currently at 2.4M HP). We Use this to Claim Accounts and Delegate RCs to Newly Onboarded Users

Posted Using LeoFinance Beta

Sort:  
There are 2 pages
Pages

Great update for usability, I always appreciated how @peakd has implemented the action queue and solved the latency issue that way :)

MORE POWER!!!! Little change like this but really big on the back end a lot of work. However it makes the user experience 100x better when interacting with content and that's what matters! Well done guys/gals

Posted Using LeoFinance Beta

I am not sure I would call this a little change.

Actually it is rather large.

Posted Using LeoFinance Beta

Size does matter 🦁

Posted Using LeoFinance Beta

Most necessary update keeping Microblogging in mind according to me.

Posted Using LeoFinance Beta

Not just microblogging. This is primordial user experience. If I need to wait multiple seconds for a post to load... I’m gone before your content has fully loaded.

Only fans, and people purely focused on making bucks, will tolerate and suffer that experience. 3 Seconds to “mark as read”? Geez, what era do we live in? That’s 1998 server performance. Not millennial will swallow that shit.

Posted Using LeoFinance Beta

Agreed.
The users who doesn't know how Hive blockchain works / block time etc might get frustrated and leave..

Posted Using LeoFinance Beta

Amazing to click a link and things just appear instead of that few seconds of waiting. Makes such a difference!

Posted Using LeoFinance Beta

It's yuge and will only get yuger as we continue to develop ⚡️

Posted Using LeoFinance Beta

Great to see this rollout. It is a vital piece to the Leo ecosystem. This now makes the Web 2.0 development and user experience applicable but with the Web 3.0 benefits.

The fact that we are dealing with decentralization, or as much as we can, at every step of the process is crucial. We are seeing how dangerous the centralized entities can be.

From here, we are going to see a massive explosion in the Hive and Leo ecosystems. A month from now, there will be an entirely different view of what things are around here.

Get ready, a lot of stuff is about to take off. The developers are providing the tools which will cause a massive explosion.

All who are involved in Leo are going to be very happy campers (lions).

Posted Using LeoFinance Beta

"This now makes the Web 2.0 development and user experience applicable but with the Web 3.0 benefits."

Exactly! This is one of our guiding principles as we continue to develop LeoFinance and sister applications. Usability of Web2, benefits of Web3.

Happy 🦁s indeed. ProjectBlank requires Lightning for a few key operations (as especially seen in the new content layering we've created to handle bottom-level "Blanks" a.k.a. Tweets).

Everything is coming together nicely. Still trying to crank out the Whitepaper so everyone can see where the ship is headed from that bird's eye vantage point

Posted Using LeoFinance Beta

This is awesome.

Out of a non-dev position, is there something to stop someone stacking quickly and attacking the queue?

The Queue has already been in production for a few months now. We do have rate limiting in place to avoid attacks and a few other barriers that a malicious attacker would have to deal with.

The queue can also shut itself down in the event of something like that happening. In this case, actions on the frontend would simply act more like "Hive.blog" and not have a queue until we eliminate the threat and redeploy.

Lightning utilizes more of a "Caching" approach to collect and serve content. This has similar protocols to the Queue database.

Posted Using LeoFinance Beta

Very nice. I am hoping that more frontends will follow suit and start thinking about UX, not just the tokens.

Posted Using LeoFinance Beta

Thanks! Without a good UX, the tokens are irrelevant 🦁

Posted Using LeoFinance Beta

Wonderful to experience it personally!

Posted Using LeoFinance Beta

🦁 Glad you like it

Posted Using LeoFinance Beta

How can you not? Things are super fast now!

Posted Using LeoFinance Beta

I have been loving it so far this morning. Great stuff. It is such a huge difference for me in productivity. I really appreciate the time and effort you folks have put into this!

Posted Using LeoFinance Beta

It's all about the UX :) glad to hear you're liking it. It was a lot more work than expected, but I think it was well worth it

Posted Using LeoFinance Beta

It definitely was and if you can use it in the future for some of your other projects then it is totally a win/win!

Posted Using LeoFinance Beta

It's getting hot in here. Can you hear the cracking of the lightning storm? February will be epic. Can't wait to start _____ing.

Posted Using LeoFinance Beta

Can't wait to use a defi that doesn't eat my profit by asking for ridiculous GAS fees...

Excelente información, estaré revisando la nueva versión. @tipu curate

The redonk slow load times espeically on mobile was the main reason I never used the leo front end and opted for peakd or dapplr but now that its sorted this is going to become my front end of choice

Posted Using LeoFinance Beta

Speed and more development, basically Leo working towards a flawless user's friendly interface is awesome. I believe it aids even more adoption. Well-done to the team and Khal

Posted Using LeoFinance Beta

Great update, @leofinance.

Nice work!

Posted Using LeoFinance Beta

Epic; hopefully other Hive front ends follow suit with this.

This is incredibly exciting. I believe you guys are breaking barriers for Hive as a whole and other communities need to start playing catch up if they want to thrive alongside you.

Posted Using LeoFinance Beta

Amazing work! Lightning really does make a noticeable difference already, even though its biggest benefit is paving the way for the future. I'm even more excited for #projectblank now.

Posted Using LeoFinance Beta

This is awesome! Great work to all the LEO team! I'm excited to see the potential here. Keep it up!

Let's see some lightning speed in action!

Posted Using LeoFinance Beta

As I love to say: awesome sauce 👍😁

Posted Using LeoFinance Beta

A thing of beauty, keep up the great work!

Posted Using LeoFinance Beta

One of the most challenging hurtles from web2 to web3 is usability.

I agree.

LeoFinance is keep on BUIDLing

Posted Using LeoFinance Beta

Let's hope for the best :)
4vecc4.jpg

Posted Using LeoFinance Beta

It might seem not a big deal but the user experience right now just got 10x better.

You forgot to mention that it impacts voting too or I missed it? First comment I dropped and I was like "Whaaaat? wtf did just happen" Then I realized that lightning was implemented. There was no other explanation

Posted Using LeoFinance Beta

Well I posted on discord too about this bug ( or not a bug ? I am not sure ) . When my RC was too low , it didn't say RC was low so reply wasn't successful it just said reply successful but later on the comment just disappeared.

Posted Using LeoFinance Beta

A very nice update, and it sounds like you have a pretty good road map you are following along with and avoiding the side tracks that can often derail projects.

This seems to be an awesome adition to LeoFinance, great!

Posted Using LeoFinance Beta

Having myself in the past struggled with the posting of comments and the publication of articles, I'm most happy to read this news. Keep up the good work.

Posted Using LeoFinance Beta

Stay with this part of the post

Since LeoFinance exists on the second-layer of Hive (currently on Hive-Engine and soon migrating to our standalone second-layer), there is an additional delay on certain aspects of the site.

Eagerly awaiting new platform improvements

Posted Using LeoFinance Beta

It's so fast!

Posted Using LeoFinance Beta

Congrats on the launch! Does anyone know if @leofinance is planning to open source their work on Lightning DB?

Posted Using LeoFinance Beta

Super exciting!!!
As a fellow dev I understand how things take longer than expected, but this is a necessary step.

Thank you for your hardwork.

Posted Using LeoFinance Beta

hahaha that reminds me of the hdd vs ssd :P

Posted Using LeoFinance Beta

"Fast is an attitude"

The longer its being delayed and worked upon to have that perfect experience for the whole lions and cubs,will surely be worth it.

!WINE

Posted Using LeoFinance Beta


Cheers, @marvinix You Successfully Shared 0.100 WINE With @leofinance.
You Earned 0.100 WINE As Curation Reward.
You Utilized 3/3 Successful Calls.

wine-greeting


WINE Current Market Price : 1.100 HIVE

Speed, give me all I need!!! And the Lightning DB surely delivers and is the foundation for the great expansion. If you want to make it big there are some steps that are a must and the speed of apps is the one factor that will keep the users on it and using it. Good pillar for what is to come!

Posted Using LeoFinance Beta

This is really awesome! Even more for people that have a really low speed internet service so no matter the fact of the speed of the frontend itself, the internet could delay it a little bit more, so this change is really awesome for a lot of people.

I really want to know a little bit more about the dev details because I'm a web developer haha so I would definitively want to know how did you improve the speed like that!

Good vibes and blessings from Caracas, Venezuela! We're ready to keep building something huge!

Posted Using LeoFinance Beta

Great news! I have been in Leo for just over 2 months and had no idea of any of the inner workings of Leo.finance, but this post has showed me there is a great deal of work going on in the background, something which I love to watch and keeps me happy to keep learning and understanding this platform. Anyways, just wanted to thank you for explaining current developments and future plans!

Posted Using LeoFinance Beta

Loading times are a pain in the a$$, so making things even more user friendly with changes like this are amazing. Great job!

Posted Using LeoFinance Beta

That's what I like about Leo. Constantly innovating. I don't know why something like this wasn't made for Hive (formerly Steem) years ago. It seems so obvious in hindsight that this is a much needed feature much like the easy onboarding.

30 minutes after publishing this post, the Lightning DB experienced another scalability issue. We've rolled it back and will fix the issue and redeploy as soon as possible. We'll edit this post with an update when it's live again.

Damn it. The anticipation builds...

Posted Using LeoFinance Beta

The difference in load times is massive.

No more stupid wait times and questions like "so did it work?" when I'm showing normies.

Great work team!

Posted Using LeoFinance Beta

I love the new developments!
Looking forward for moaaaaaar!

Posted Using LeoFinance Beta

Time is a very precious commodity, and Lightning DB Layer is the proof of how important the work and development of Leofinance is.
Really congratulations for the great work of continuous improvement!
!BEER

Posted Using LeoFinance Beta


Hey @leofinance, here is a little bit of BEER from @libertycrypto27 for you. Enjoy it!

Learn how to earn FREE BEER each day by staking your BEER.

Today's morning, when I have read this post, I just use it now. It is okay.
Thank you so much for your trying.
May LEO And HIVE Up to the Moon as Skyrocket!!!

Posted Using LeoFinance Beta

Great change and i really love it. I kind of sslty when things run slower than me. So it is really helpful for user experience especially those who are just nre here from centralized platforms. Keep it up.

Posted using Dapplr

How great they are. I had the opportunity to be present during the tests and the truth is that the speeds mainly in the publication of a comment is super fast, this is a great step for all the things that are to come.

Posted Using LeoFinance Beta

There are 2 pages
Pages