Dolomite leverages Alchemy for data integrity

Christy Wong
Alchemy
Published in
3 min readNov 8, 2019
Dolomite is a powerful decentralized exchange and comprehensive portfolio manager that works right from your wallet.

“Data consistency was a critical problem that Alchemy solved for us.”

- Corey Caplan, Dolomite CEO and Co-founder

Summary

Blockchain data integrity is critical for Dolomite. At first, Dolomite used a free blockchain node provider but encountered instability and unreliable data. Then Dolomite tried running nodes, which took forever to sync and crashed all the time. Today, Dolomite has Alchemy to always get the right data.

Dolomite needs to show the right information to users when they are looking to trade

Since end-users’ trade decisions and orders are affected by the latest blockchain transactions, seeing that data is crucial. However, getting consistent real-time data is challenging, even when directly querying an ETH node. When making requests, not all queries are sent to identical copies of the chain and reorganizations can occur. This is problematic if one node sees a transaction as mined, but a different node does not.

Dolomite originally used a free node service but encountered inconsistencies in the data. Their engineers spent weeks building nine or more checks per request. When they detected a reorganization, they would wait for more blocks and check again. This workaround succeeded in verifying the data but added long wait times for end-users. Still, waiting was better than reverting trades and putting orders back on order books. Dolomite asked for help repeatedly in the service’s support channel only to have their questions buried by other customers’ questions.

Over those initial months, Dolomite sunk hundreds of hours into checking infrastructure and detecting bad data. That doesn’t account for the opportunity cost of time they could have spent building Dolomite. On top of that, they lost momentum context switching between product development and blockchain infrastructure troubleshooting.

Dolomite got better data from Alchemy at 270x faster speeds

Dolomite tested Alchemy’s service stringently, defining false-positives as errors due to blockchain re-orgs, fake re-orgs, and inconsistencies between nodes. Over the course of two weeks of running two identical servers, they found that Alchemy had 91% fewer false-positives than their previous infrastructure provider.

Alchemy had 91% fewer false-positives than their previous infrastructure provider.

Not only did Alchemy deliver consistent data, but they were also 270x faster at just 10ms to run and verify. Prior to Alchemy, end-users waited at least 2.7 seconds per request since Dolomite ran at least nine checks that took 300ms each to complete. Now, they follow the latest block much more closely lagging just one behind

By using several Alchemy endpoints for the front end, back end writes, and other parts of the app, Dolomite can now easily extract usage information for various parts of their application. The Alchemy dashboard is super user-friendly and lets Dolomite’s team visualize the volume of queries over time, giving them more insight into how end-users are using Dolomite.

Read more about how Dolomite uses Alchemy by Corey Caplan.

Originally published at https://alchemyapi.io.

Sign up for a free account. Check out our documentation. Visit our website. For the latest news, follow us on Twitter.

--

--