Update on the Lockdrop & Claimdrop Issues
Since we did face some technical difficulties lately with the Lockdrop and Claimdrop, we wanted to share some information with you as to what issue we were facing, what the underlying technology is that the Lockdrop and Claimdrop are using, and what we are doing now moving forward in order to solve the situation.
What technology are Lockdrop & Claimdrop Using?
The Lockdrop is essentially a smart contract that we created. Each Claimdrop campaign is another separate smart contract. All of these are relying on the RPC relay in order to function properly. In order to get data from these contracts, we would need to send the so called “eth_call”. In EVM networks, this call is typically free, but since there is a network fee associated when reading data from contracts on the Hedera Network, we instead call the data from the RPC relay.
What is the “Network is busy error”?
Knowing that in its current state, there are some limitations as to how many calls can be made to the RPC relay at the same time, we implemented a check to see if contract calls are failing and implemented the “Network is busy” message, to reflect that the limit error was hit. This simply means that the maximum for that given moment in time was reached and users should refresh as this usually solves the problem. Hitting the limit at peak hours was anticipated, however, the overall user experience should have remained smooth and the product remained usable - as it did for most of the 90 day lockup period of the Lockdrop.
Why did the page(s) stop working?
At some point around May 5th, the community made us aware that the Lockdrop & Claimdrop pages were simply unusable, as the “Network is busy” error would not disappear. The HeliSwap team, which includes the tech powerhouse LimeChain then went around to investigate the potential issues. It became clear, that the above mentioned rate limit was not the root cause of the issue, but that there is an error with the RPC relay. The team then quickly reached out to Swirlds Labs, Hedera, and the Hbar foundation, to not just bring the issue to their attention, but to also help in actively finding a solution.
What did HeliSwap do to make it work again?
Together with the parties involved, a thorough investigation and bug testing was done in order to pinpoint the potential issue and to provide a fix. As you can imagine, the code we are dealing with is quite complex and when dealing with entire programs, finding the correct solution takes time. In the end, the team found a way to fix the error, which was great news not just for HeliSwap, but also for other Hedera Projects that were relying on the relay for parts or all of their functionalities.
Note: Until the internal permanent solution is implemented, momentary issues with Lockdrop & Claimdrop may occur.
What is HeliSwap doing to make sure this does not happen in the future?
As a team, we felt that relying on a third party to get involved in finding a solution for a technological issue that concerns our very own community is risky. We need to be able to guarantee a high level of functionality of our dapp to the community at all times. As such, we decided to move away from using the external RPC relay, but to rather build a thorough solution in-house that would remove this dependency entirely going forward. We are building a backend listening to contract events directly from the mirror node and writing this data into a HeliSwap-owned and controlled Database. The front end will then call the backend API instead of the RPC relay in order to get this data.
Once contract calls become free and calls may potentially move directly to the mirror node, our in-house process will be a second layer of security to make sure that both, new Lockdrops, as well as new Claimdrops, will run smoothly even as we integrate and enjoy new technological advancements of the Hedera Hashgraph.
From my side, I could not be prouder of the way that the team handled the situation, communicated with many different teams involved, shared issues with the community, and kept everyone up to date while working tirelessly to find a solution.
Given that none of the elemental features of the HeliSwap DEX were or are affected (Swaps, Farming, Staking, etc), it is even more incredible to see how the team was basically on this issue 24/7, during the weekend and at night. Kudos to everyone involved!
We now want to look onwards and upwards as we focus on the next big things that the HeliSwap team is bringing to Hedera. Stay tuned for our updates.