Blockchain’s Killer App: Why Developer-Friendly APIs are the True Path to Adoption
As the blockchain technology industry moves out of its initial frenzy and into more of a mature phase, end users, developers, startups and entrepreneurs are still hunting for the “killer app.” Decentralized applications which offer exciting, useful functionality exist, but none has anywhere near the adoption of a relatively simple mobile app like Instagram or TikTok.
To build and drive this level of viral adoption, we need more and better applications which demonstrate the usefulness of blockchain technology. And to encourage application development, we need more developers interested in building consumer, business and enterprise applications that interact with blockchains. However, as we have discovered in our research and in that of others, there is one critical piece missing from most blockchain tech that is holding development back: the API.
Are you aware that right now, you are reading this article thanks to a piece of technology known as an application programming interface, or “API?”. In its most basic form, an API is the part of a web or other server that receives requests and sends responses. Whether you’re using a browser like Firefox to read the news, using an app which syncs your appointments to Google Calendar or paying for your online shopping at a merchant that uses Stripe, your data is flowing through an API.
APIs are like the pipelines that connect apps, servers and data sources to one another. If software truly is “eating the world,” then APIs are helping with the digestion. The use of APIs has exploded in recent years, with Apigee reporting that in 2014-2015 alone, API traffic grew more than 280% year-over-year. Auction giant eBay generates more than 60% of its annual revenue through APIs. For travel website Expedia, that figure is a staggering 90%! A popular social network like Facebook or Twitter will respond to more than 15 billion API calls, every single day.
So, it’s clear that APIs are critical to how modern applications function. Unfortunately, most blockchains currently lack the ability for a developer to make simple API calls to request or write data, execute code, or do anything else of significance. This lack of APIs is a major obstacle in the adoption of blockchain technology.
Why Would A Developer Use A Blockchain, Anyway?
Before one can understand why API pathways into blockchains are critical for their mass adoption, it’s worth exploring what benefits blockchains provide. For our purposes, we will focus on the Ethereum blockchain, as it was one of the first to offer a “smart contract” functionality, and enjoys significant name recognition. It is also considered to be a “Turing complete” blockchain, meaning that it functions like a massive, decentralized computer that can execute code and store the resulting data.
First, let’s define the term “smart contract.” In short, a smart contract is a computer program or protocol intended to enforce a digitally-negotiated contract. It is a piece of software code, executed on the Ethereum blockchain, that allows for a transaction to be recorded without the need for a third party.
As you know from your own experience, most business and many personal interactions are contractual obligations that are stored somewhere. For example, the act of owning a home can involve many contracts; a mortgage, home deed, property tax payment, cable bill, appliance warranties and more are all contracts that are stored with some third party. The bank, the land title office, the local government, the cable company, etc.
Using a programmatic blockchain like Ethereum, it’s possible to instead record these obligations and their future settlement to a decentralized, secure and virtually-unchangeable record. For both individuals and businesses, this can eliminate the time and resources required to record, store and recall this data. It also ensures that neither party can manipulate the data in their favor.
So, if we think of blockchains like Ethereum as systems of connectivity, of ownership, of security and of data management, it becomes a bit clearer as to why an application developer might want to interact with one. If I’m a developer building a peer-to-peer money lending app, recording the loan obligations between my users to a blockchain like Ethereum means that I am not required to maintain a secure database full of critical data permanently. And, if that blockchain has a functional, traditional API, then my app only needs to be able to make simple API calls to read and write whatever data is required.
Tying Blockchains and APIs Together
Few software developers would argue that having access to APIs for data, communication, collaboration, and other features adds incredible value to their work. According to Pusher’s “The State of APIs in 2018” report, the average USA-based developer uses at least 18 APIs to power their applications. Stated another way, these applications function as the hub, or central interface, for communicating with 18 different servers or data points.
It’s easy to see why using a well-documented, reliable API can be so beneficial in the development process. The developer doesn’t have to learn how to code in any new languages. They don’t have to run any new servers or other infrastructure, either. Instead of having to build an entirely new technology from the ground up, they can integrate the best platform or option that suits their needs.
It’s no surprise that developers who use 3rd party APIs claim they save up to 40% of development time. APIs make development faster, more cost-effective, and allow for better features than if the developer had to build them all from scratch.
The total lack of APIs for programmatic blockchains like Ethereum means that developers face all of these problems if they want to integrate blockchain-based tasks in their app. Let’s return to our peer-to-peer money lending app example above. Currently, instead of making a single API call to record the transaction, a developer would need to build, manage and maintain their own Ethereum node. They would need to manage Ether (ETH) wallets, as well as purchasing enough ETH to cover transaction gas costs. If the smart contract they wish to use doesn’t exist, then they would need to learn Solidity or spend additional resources having that code developed.
Conversely, developers who wish to build blockchain-based technology on programmatic blockchains like Ethereum have little incentive to do so. Unless you are going to build and manage an entire API to give non-blockchain developers a way to interact with your smart contracts, then you are unlikely to attract significant interest.
A Solution is Coming: Blockmason’s Link
The good news is that solutions are on the horizon. Our technology, Link, allows developers to use smart contracts without any blockchain experience whatsoever. Using Link, a developer can create classic, conventional web-based APIs for any smart contract written on a programmatic blockchain. With Link, developers and users alike can interact with smart contracts like any other web API. There are no cryptocurrencies to acquire, browser plugins to install or other unnecessary hurdles. There’s also no servers or web infrastructure to maintain or monitor. A developer simply adds the smart contracts they want to use in their app to Link. Once added, they can read and write to these smart contracts just like any other API.
In closing, note that Evans Data estimates that by 2020, there will be almost 25 million software developers actively working on projects across the globe. It’s with this group that blockchain technology needs to prove its usefulness. The addition of traditional, familiar APIs will ensure that blockchain technology isn’t overlooked when the next generation of consumer, business and enterprise apps are being conceived.