What is Infura
In this article I would like to introduce to the community what Infura is and how it works. Since most beginners and experienced “Players for Keep” do not know what it is and what it is for, I decided to figure it out. The article turned out to be quite difficult to understand from a technical point of view, but I tried to simplify it for general understanding.
Infura is a kind of node storage (cluster). A set of tools that provides its services for integrating your application with the Ethereum network.
With its help, we successfully remove one of the most difficult barriers to blockchain adoption. Running a node requires a decent level of technical knowledge, patience, processing power, and memory. Using an app like Infura makes it unnecessary for us.
Infura aims to make life easier for developers. Some of the major network problems include:
• Storing data in Ethereum is expensive.
• It is difficult to connect on your own to the Ethereum blockchain.
• Blockchain synchronization is slow.
• Ethereum blockchain takes up a lot of space.
By eliminating the need for developers and companies to maintain the nodes themselves, Infura offers certain benefits:
• Access to the Ethereum blockchain is getting much faster.
• By managing nodes, developers don’t need to worry about infrastructure constraints.
• Instead of keeping everything in a chain, data can be stored separately, keeping only the hash in the blockchain.
And here’s what the developers say about the project:
• Mainnet and Testnet support with client-compatible JSON-RPC request over HTTPS and WSS.
• Support for standard IPFS libraries for storing and retrieving data on the network.
• Connecting an application with one line of code. No need for synchronization and complex settings.
• 99.9% uptime guaranteed with the latest network updates.
• Customize, monitor and analyze your applications with Infura.
• 24/7 access to support specialists and our community of experienced developers.
But on the other hand, since Infura is a centralized service, it creates additional potential threats and therefore it is vulnerable to attacks from hackers that can limit its functionality, and it can also be used to censor transactions by third persons. Consequently, all applications that use Infura are inherently centralized, which in turn breaks the concept of the entire blockchain — decentralization and anonymity.
Basic project information
Some numbers about Infura’s growth:
• Over 40,000 registered developers.
• Serving over 10 billion API requests per day.
• Transferring approximately 1.6 petabytes of data per month.
• In 2017, there were broadcasted transactions that moved more than 7 million Ethers, in 2018 there were almost 9 million.
Infura essentially provides the necessary tools for any application to start developing anything on Ethereum, without having to run complex infrastructure by your own. Infura provides connectivity for all developers using the Ethereum blockchain.
The most famous part of Infura’s infrastructure is the Ethereum hosted client network, which spans four Ethereum networks:
• Mainnet
• Ropsten
• Rinkeby
• Kovan
These are load-balanced groups of nodes that can be easily scaled to meet demand and kept up to date and secure.
Ether nodes are only one part of the Infura stack. They also host the Inter Planetary File System (IPFS) nodes and the IPFS public gateway. The project is in the process of creating additional decentralized storage products based on both IFP and Swarm, which the developers will review in detail in the near future.
One of the central elements of the Infura architecture is the middle tier called Ferryman.
Ferryman is the inner layer of Infura middleware that provides intelligent routing that allows requests to be sent to different ends of the Infura infrastructure based on RPC and other factors. This provides the ability to scale and customize part of the infrastructure depending on the traffic needs. Intelligent routing can ensure that incoming requests do not need to be removed across the site in real time, and response times are greatly reduced.
Infura’s modular scaling solutions open up significant network bandwidth for any project expected to drive large volumes of traffic across the Ethereum network.
Infura does not store accounts and therefore you cannot use Infura to sign transactions. Instead this, use Infura for one-time access and gas calculations. You will have to use your own middleware to process the actual signature, as this will require your private key.
Mission and goals
There are worthy alternatives right now. Developers tend to stress the need for more people to run their own nodes, and that nodes are a relatively affordable solution for most users. Own nodes do not require the same processing power and memory as full node synchronization.
Infura is designed for:
• DApps of users.
• DApp developers.
• The Ethereum community in general.
So what are the benefits of Infura? Infura provides:
• Ethereum and IPFS (Inter-Planetary File System).
• Server infrastructure for automatic CI / CD deployment.
• Improvements to Ethereum server products.
• Improvements to IPFS server products.
The main goal of the project is to facilitate access to Ethereum and the opportunities that it provides.
“The huge potential of Etnerium can only be fully realized through large-scale implementation. Over the past two years, this has put us in a privileged position to witness the growth of the Ethereum ecosystem, and this growth has been explosive for both Ethereum and us. ” — said Nicola Cocchiaro, lead developer of Infura.
Сollaborating projects
Most of the most valuable blockchain projects such as Metamask, CryptoKitties, UJO, Radar Relay, Cipher Browser, uPort and others use the Infura API to connect their applications to the Ethereum network.