Brett McLain from Kraken Explains how Digital Asset Firm Extensively Tests Products Before Offering them to Clients

Brett McLain, Director of Engineering – Crypto, Fiat, Staking at digital assets firm Kraken, notes that if you’re interested in digital currencies, payments, or staking and want to help create the financial system of the future, then you may be glad to know that the funding engineering team @ Kraken is hiring.

When Kraken launched 10 years ago, only three cryptocurrencies had been supported: Bitcoin (BTC), Litecoin (LTC), and XRP. Today, Kraken supports 82 crypto-assets on 33 different blockchain networks, and staking services for 8 virtual currencies, McLain wrote in a blog post.

In order to facilitate the millions of deposits, withdrawals, and staking transactions a year at Kraken, the crypto engineering team “operates hundreds of services to ensure the smooth flow of funds in and out of the exchange,” McLain explained.

He also mentioned that the blockchain or DLT software that underpins these services is “updated frequently; for some of the more active blockchains, hard and soft forks can be monthly in nature while others like Ethereum are twice-annual events.”

He pointed out that there are “at least a few software updates to [their] blockchain infrastructure every week.” The challenge of supporting and updating a large number of services, while also creating new ones can be “daunting,” McLain acknowledged.

During the past 12 months, the Kraken team has added support for:

60 new cryptocurrencies:

39 x ERC20 tokens

  • Polkadot (at mainnet launch)
  • Kusama
  • Filecoin (at mainnet launch)
  • Flow (at mainnet launch)
  • Kava
  • Energy Web Token (at mainnet launch)
  • USDT (TRC20)
  • 10 x Parachain Crowdloans
  • Solana
  • 1 x SPL token (Serum)
  • Mina

8 new staking assets:

  • Polkadot (at mainnet launch)
  • Kusama
  • Ethereum 2.0 (at mainnet launch)
  • Flow (at mainnet launch)
  • Cardano
  • Cosmos
  • Kava
  • Solana

As noted by the Kraken team, these achievements were “accomplished alongside the maintenance of our existing integrations.” The engineers of the crypto team are responsible for “the gateway software written in house [and] for the maintenance and deployment of our blockchain infrastructure that our gateways rely on.”

The Kraken team also mentioned that the cadence of blockchain development on these projects can be “a blistering one, with breaking changes and novel new features coming frequently and sometimes with little warning.”

McLain also mentioned that they run end to end tests so that Kraken can manage “to release dozens of new products every year while keeping up with the fast pace of blockchain development.”

He added:

“Since the early days at Kraken, the emphasis has been that E2E tests are the most valuable kind of tests an engineer can build. Unit tests have their place, but many developers inexperienced with complex integrations tend to write unit tests for every piece of code they build in the belief that they’re improving the overall quality of the software they’re developing.”

McLain continued:

“This path, while full of good intentions, can often lead to a lot of pain down the road. Over reliance on unit tests tends to cement your architecture; it’s like pouring a layer of epoxy on top of your entire code base. You’re tightly coupling the code to its tests, making the code more rigid, inflexible, and resistant to being refactored.”

He further noted:

“The key takeaway here is that as a small engineering team, there’s no way we could ever maintain the volume of services we currently support, and build new products without end to end tests. Unit tests should be considered table stakes, but in isolation, they would not be sufficient for us to keep up in this evolving space. Instead, we’ve chosen to invest heavily in robust sets of integration and E2E tests that validate that our services will operate successfully in their most common modes of operation.”

He also mentioned that developing comprehensive E2E tests for “every single blockchain integration at Kraken consumes a significant amount of engineering resources.”

But it is a price they willingly or gladly pay, as their main concern is the safety of their customers’ assets and ensuring that they have “a quality experience” on their platform.

He confirmed that their team can release more products if they were spending a lot less time on tests when developing new integrations.

But doing so would go “against the ethos and values of not only the engineering team, but the company as a whole,” he clarified. McLain also noted that these tests ensure that they can “safely update to new versions of blockchain software, increase confidence during hard/soft forks, and reduce developer stress when deploying changes.”

For more details on this update from Kraken, check here.

Sponsored Links by DQ Promote


You may also like...

Send this to a friend