An indexer for Tezos
We are happy to announce that the indexer for Tezos we have been
working on is ready for beta-testing and available
What is an indexer, and what is it useful for?
Mainly, indexers fill a void by providing information that’s not
directly available from the node’s RPC interface. But then why
don’t nodes provide these RPCs in the first place? That’s simply
because when you design and implement your node, you want to provide
just what is necessary, focus on what’s most important, in order to
reduce the possible sources of errors or bugs or security
issues. Also, it’s not really a node’s job to provide all
information that users can just deduct or derive from what it does provide.
However, some information just cannot be rapidly deducted from the
combination of a reasonable number of RPCs to the node. For instance,
if you want the ten latest operations done by a baker, you don’t want
to scan the list of transactions until you find ten of them,
especially if there’s fewer than ten, since in that case it would make
you go up to the genesis block! Instead, you want to have an index
of all the transactions done by that baker in a database that’s both
easy to access and fast.
Wallets, DApps (decentralized applications, often blockchain-enabled
websites), and block explorers are the main users of indexers.
Some technical details about our indexer for Tezos
The code of the indexer for Tezos we are presenting here is a
refactoring of Mezos, which is the middleware used by the wallets
developed by the Nomadic Labs mobile team. It already has been
used extensively and developed in the last 12 months, and its design is
However there have been quite a few changes, going from Mezos to this
indexer and here are some of them:
- For bootstrapping, instead of having to run 4+3=7 slightly different
versions of Mezos, you need to run just a single version of this
indexer: it handles the 4 different protocols and the 3 protocol
transition blocks. That applies to Mainnet only. Other networks are
not supported at all for the time being (it wouldn’t be difficult,
it just hasn’t been given a priority yet).
- Mezos uses TzScan to get the snapshot blocks. However this indexer
doesn’t use TzScan at all, it directly implements that part so we
could break free from some closed source code.
You can find it at
and if you want to play with it, start by reading the
Have fun! :)
Meanwhile at Nomadic Labs #3
Another update on the many projects we have been busy working on. Most of the following topics will be subject of more in-depth posts of their own. Protocol The consensus team is finishing their analysis of selfish baking on Emmy+ and tweaking the constants of the protocol accordingly. At the same time work on our version of Tendermint is progressing to the point of having a proof of concept protocol to play with. The protocol team has been steadily reviewing and testing...
How to write a Tezos protocol
A Tezos node is parameterized by a software component called an economic protocol (or protocol for short). Different protocol implementations can be used to implement different types of blockchains. This is the first post of a tutorial series on how to implement such a protocol. We will see how to write, compile, register, activate and use an extremely simple protocol. By doing so, we will also start to explore the interface between the protocol and the node (more specifically the shell component of...
Emmy+: an improved consensus algorithm
Underlying the Tezos network is a consensus algorithm, which, for the ease of reference, we will call Emmy. Consensus ensures that participants agree on the same blockchain and on its state. The ideas behind Emmy are described in the white paper and the specifics to its implementation can be found in the documentation. We recall that Emmy is a PoS based consensus with a use of endorsements to speed-up confirmation times and reduce...
Release of Mainnet May
Today we are proud to announce a new release of the Tezos node and client. The main features present in this release are: node support for snapshots (boot and synchronize a node in minutes), node support for new history modes (not everyone needs to be an archive), client integration for a multi-signature contract. Remember that besides major features there are always a myriad of smaller improvements, have a look at the changelog. We encourage bakers to switch to history mode “full” using a snapshot before the activation of...
Athens on the testchain
The quorum for the second voting phase has been reached, with a supermajority of Yays! This means that the voting procedure can proceed to its third stage: the test chain for Athens is going to be launched soon, approximately Friday April 12th. To accompany that, we just released a new version of the Tezos node and its baking daemons. This release includes many improvements, most notably a new --enable-testchain option. Users who want to participate in the test chain should upgrade...
Meanwhile at Nomadic Labs #2
The last few weeks have been pretty intense at Nomadic with the preparation of the first community voted upgrade! The team has been working hard on some special future improvements to Tezos… Improvements to the consensus layer Tezos has the unique ability to amend itself which allows us to propose state of the art research to the network at any time. This is not a far fetched ideal and will happen sooner rather than later in a series of new efforts...
Athens: Second Voting Period
As we approach the completion of the first active voting period, the proposal period, we would like to describe what’s to come during the second voting period. The first voting period saw the Athens protocols injection and bakers upvoted Athens A and/or Athens B, with Athens A, the most popular proposal, promoted for the second voting phase: the test voting period. In this new period, participants are asked to vote on whether to advance Athens A to the next stage: the...
Athens: Proposals Injected!
Today marks an important milestone for Tezos. We just triggered the beginning of the first on-chain vote for self amendment. This process could end in the successful migration from current protocol alpha to Athens in about three months, if the participants decide so. As advertised in the last meanwhile at Nomadic and as detailed in our previous post, we injected the hashes of two proposals. Both include the same enhancements except for one: the decreased amount in the number of tokens needed to...
Athens: Our Proposals for the First Voted Amendment
This blog post is a preview of Athens: our protocol proposal for the first voted upgrade of Tezos. As announced in the last meanwhile at Nomadic, we shall propose two upgrades: one lowers the roll size to 8,000 tez, the other leaves it unchanged at 10,000 tez. Both alternatives will include an increase of the gas limit. The hashes of both versions will be proposed on mainnet later this week, now that a new proposal period has begun. Later this week, we will publish a...