How to make smart contracts readable for the average human with CSPR.live

A. Nelson
CSPR Suite
Published in
3 min readJun 17, 2024

It started with a question…

What if a block explorer could convey information about the network less like code output and more like a story, something that describes what happens, that clearly defines the entities involved? Could it convey even complex deploy details in a way that anyone, technical or not, could understand? This question was at the heart of the most recent major update to CSPR.live

Over the course of several months, after a number of iterations, we came up with a framework for applying human-readable messaging throughout the CSPR.live block explorer, some of which you more frequent visitors may have already noticed. To highlight some of these changes, let’s look at some side by side examples of another popular block explorer, this one on Ethereum: Etherscan.

Ready for action

On its home page Etherscan displays a number of transactions, and although there is an amount, a sender and recipient — but what’s missing? A verb. Without specifying the action/s triggered as a result of the transaction the user is left to infer what the transaction actually did.

Deploy table from Etherscan, a popular block explorer for the Ethereum network

It sounds simple, but notice what a difference it makes when an action is included in the transaction description. There’s no guesswork. We can see without a doubt that this is a list of deploys that transferred CSPR between two different accounts. And swapping in the identicon in place of the public key hash, you can scan this list and immediately see which transfers involved the same or different accounts. Simple!

Deploy table from CSPR.live

We propagated this handy use of action-oriented deploy language throughout the CSPR.live experience and what’s more, it extends to many more deploy types on the network — not just transfers.

Delegations, NFT mints, and more can be identified in the Deploys table more clearly than ever.

Understanding deploy results

One final highlight is the updates to the Deploy details screen. Similar to the Deploy table, here you have an Action row that describes the deploy the caller intended to execute. And below it, a Result, that breaks down the changes that took place in the blockchain (in most cases, how tokens exchanged accounts) as a result of that deploy.

In some cases, CSPR.live may not get enough detail around a particular deploy’s action. Take the WASM deploy depicted below. This is where the description in the Results row can be incredibly valuable. Even if the deploy action is something generic and unhelpful like ‘WASM deploy,’ I can still confirm in the Results row that CSPR moved from one account to another, the accounts involved and the exact amount.

Deploy details page from CSPR.live

Conclusion and next steps

As developers our aim is to set new standards for our tools and products and constantly be evolving for the good of the ecosystem. We hope that improvements like this continue to have meaningful impact amongst the Casper network community and even to other networks, and look forward to sharing more as we continue to iterate on this concept in the near future.

For Casper Wallet users, keep an eye out for similar improvements to your Deploy histories in the very near future!

--

--