What if you want to know the previous state of the entire Ethereum ecosystem and not just the current block? What do you use? How can this be achieved?
The answer is an ARCHIVE NODE, which is an ‘extended’ version of a Full node. A FULL NODE only stores the state of the most recent 128 blocks (and about 1 month of `Trace` data) and updates it as soon as a new block comes in (pruning the oldest data). ARCHIVE NODE stores all the historical data of the Ethereum ecosystem since Genesis block. The state information can have data about smart-contracts, token balances, internal transactions, etc...
Let’s say you’re running a finance app and you want to query a balance of an ETH address from a particular time 2 years ago. 2 years -- that’s more than 2 million blocks back! If you’re using a full node you’ll have to check every transaction since and piece the result together. Only after rigorous calculations can you obtain the balance at a block from 2 million back. This process consumes a lot of time and resources, but if you have access to an Archive node, the state of a block from 2 years ago is readily present and can be retrieved right away. This is much faster and easier than the full node method.
Running a FULL NODE requires a download of almost 400GB of data, but to run an ARCHIVE NODE requires a download of about 4TB. It will take about 3 months to sync an Archive node which halts development process and ultimately gets you to market 3 months late. After the sync is done the node needs to be checked regularly and if it fails...YOUR DAPP FAILS...and it has to be built again! Rinse/Repeat.
It is also not cheap to run an Archive node: it costs about $700-$1000/month to run an Archive node on AWS.
At the end of the day, nodes can be tricky to work with. They tend to crash at any point, fall out of sync, are expensive to run/host/manage and keep secure. So if you are running your own Archive node, plan for a massive amount of dev cycles to go to node management.
The alternative to running your own Archive node in-house is to let QuickNode carry this load for you.
QuickNode is a simple API & node service which takes care of your nodes in a more cost effective, streamline way -- saving you months of setup/sync time and thousands of dollars in dev cycles.
With instant access to both latest and archive data, you & your team can focus on actually building your app and making it unique, rather than focusing on building + maintaining node infrastructure.
The most exciting part is that QuickNode API plans have COMPLIMENTARY archive requests included (in addition to standard, Full node requests):
- 10 Archive requests per month w/ "Launch" tier
- 100 Archive requests per month w/ "Scale" tier
- 300 Archive request per month w/ "Business" tier
** Additional Archive requests can be purchased with the
A single endpoint for all calls (latest block data + deep chain data) -- you simply send the request and receive back the data you need. ‘QRoute’ technology makes this possible by recognizing requests and routing them to either a Full node or Archive node for processing. This method is super-efficient and helps keep costs low. Check out the QuickNode Pricing page for more details!
If you want to build fast, save money, save time, and get your Ethereum blockchain app out to market quicker, consider QuickNode API for your web3 provider. Visit QuickNode.com to register for a free account and get access to ETH MainNet and TestNets instantly. Just focus in the #BUIDL!