Yesterday we released a major BCD, Tezos Smart Contract Explorer, update and we can’t wait to tell about all the new cool features we added!
We want to thank Tezos Foundation for supporting this project, and also all our active users who help us making BCD great! Special thanks to Luis, Matej, Roman, and Jacob 😉
# Before we get started
We want to bring some clarity regarding different BCD versions.
The very first version that operates on the client-side and can do that magic trick with connecting to your local sandbox node.
Staging environment where you can peep what’s new will be in the next release. It’s not stable and also can be reset at any moment (full indexing requires several hours).
Current stable version.
Customizable BCD setup for local development, it’s a bit different from the public version and adapted for the sandbox environment.
# Changes in the interface
First of all, we have finally turned the lights off! There were many complaints that switching between VSCode and BCD Explorer is painful for eyes so we made it a high priority. You can still switch back to the light theme which is also not that bright now.
Basically, we completely redesigned the layout and navigation and unified the views. Better Call Dev is more and more like IDE so we need to handle the complexity, but without a loss in functionality. Answering the question regarding the mobile view: BCD Explorer currently looks good in the landscape mode and we don’t have plans to adapt it for the portrait mode at the moment (after all, you don’t use VSCode on our phone, right?). However, in the next big release, we will introduce new features, less techy, and targeted on the broader audience, and we will ensure a good experience on a smartphone.
# API documentation
Our API is open for public use, you can find docs and play with endpoints on our Swagger portal. At the moment there are no rate limits nor authentication, so please use responsibly (otherwise there will be 🍌🍌🍌). We highly recommend to spin up your own instance — BCD Explorer is MIT licensed and is being openly developed, so you will get new updates and patches as soon as they are ready.
# Tezos network stats
We love beautiful charts and also we have lots of structured data, so we tried to express the dynamics of the Tezos DApp ecosystem in metrics that are easy for perception.
- # of contract originations (including duplicates, excluding manager.tz)
- # of contract calls (also excluding manager.tz)
- total consumed gas
- total allocated storage
# New search factors
We improved the SERP a bit but most importantly add several new factors:
- Operation source and source_alias allow searching all transactions sent by a particular address/known account
- BigMap address adds
big_maprecords that were recently changed into search results
The ranking algorithm was also tuned to ensure the most relevant results on top.
# Big Map viewer
An irreplaceable tool for contract developers allowing to explore Big_map keys (even removed) and navigate through the value history for each key. Moreover, you can trace the Big_map copying history.
# Code alerts
There are several types of context state change that cannot be retrieved without additional computations. This includes:
- Tezos smart contracts originated during a protocol activation (e.g. vesting contracts)
- Smart contract code change during a protocol update (migration)
- We have also singled out into a separate group all the operations in which lambda expressions are written to the contract storage (so-called upgradeable pattern) because it can cause a change in the business logic
# Contract interaction
This is Swagger for Tezos contracts: you can explore the type of a particular entrypoint, or generate parameters using a regular form, or even check what would be the result of execution.
We made the first step to the full-featured developer dashboard — a customizable event monitoring. Once you sign in using one of the social accounts, you can subscribe to any contract and specify which particular events you want to receive. Currently, you can select from the following set:
- Operation errors
- Applied contract calls
- Changes in the code logic
- Mempool operations
BCD Explorer can also notify you in case a duplicate of your contract (or a similar one) is deployed to the public network, or when your contract has spawned an internal origination (you may probably want to subscribe to the originated contract as well).
# Single user mode (sandbox)
At last, we made a special mode for our sandbox users — single-user mode. They are being auto logged-in and dashboard is their home page now with two predefined subscriptions (you can change it in the bbbox settings) Alice and Bob (default accounts in the Flextesa sandbox). You will see all the deployments/contract calls made by Alice or Bob in your dashboard, no need to use search. If you are running full bbbox setup you will also see an extra Jupyter button leading to the locally spawned interactive notebooks server.
# What’s next
In the next series, we will share our plans regarding the next big update. Spoiler: it will be focused on CI/CD integration, contract maintenance & monitoring, and also our very own DApp rating!
# Stay tuned
Yours, Baking Bad team.