John deVadoss, head of Neo Global Development (NGD) Seattle, recently gave a presentation for Consensus: Distributed as part of the “Construct” section of Neo coverage at the event.
During the presentation, titled “The Time-Travelling Developer – Coding the Future,” deVadoss provided a first look at the team’s latest accomplishments in delivering an ideal Neo3 developer experience with its Visual Token Designer, and demoed the Neo Blockchain Toolkit’s upcoming time-travel debugging capabilities.
The full presentation by deVadoss can be viewed below.
To begin his presentation, deVadoss gave a quick overview of the Neo Blockchain Toolkit, the first product released by the NGD Seattle team, intended to be a one-stop-shop for all the tools needed for development on the Neo blockchain. Following on, he introduced time-travel debugging, a technique pioneered by Microsoft that enables developers to capture the trace of an execution for a particular app or process, then replay it both forwards and backwards as required.
Traditional debugging enables users to view the forward execution of a program, and provides them the opportunity to pause and observe its execution to find failures. In the case of more complex bugs which may be hard to reproduce, developers may need to constantly repeat this process to narrow down a problem.
With time-travel debugging capabilities for Neo smart contracts, developers will be able to step backwards or forwards through the execution at will, observing storage changes or any unexpected behaviour to help isolate and troubleshoot issues. A reverse button is also included, allowing a contract to be played backwards to a particular breakpoint.
In a companion article written for the Neo Column on Medium, deVadoss highlights the potential of the new functionality:
“Time-Travel Debugging accelerates the developer’s edit, compile, build and debug loop by empowering the developer to record the execution of the running code on the blockchain, and then subsequently re-run it without regard to the past or the future; it does this efficiently by adding as little overhead as possible by capturing code execution in trace files.”
In the future, these capabilities can also be applied to the toolkit’s upcoming disassembler, providing a list of VM instructions mapped back to the source code. With time-travel debugging, developers would be able to step backward through the VM execution, observing stack and storage changes.
Another powerful consideration for this new functionality is that the execution trace can be shared, enabling developers to test and discuss problems with their colleagues. deVadoss also touches on this in his Neo Column article:
“In those scenarios where a developer is unable to figure out why a certain bug is happening, they can share the information with a co-worker who can look at and examine with fidelity what he/she was looking at. This makes for significantly easier collaboration and team development.”
New execution traces could be captured as specified by nodes operating on private networks, TestNet, or the MainNet environment, then loaded into VS Code for debugging.
Other improvements to the Neo Blockchain Toolkit and debugging experience will be detailed in a future article.
Visual Token Designer
Following on, deVadoss shifted his attention to another one of the features that NGD Seattle has been developing over the last few weeks, announcing the new Visual Token Designer.
“This essentially is a standards-based approach to realizing our vision of the smart economy,” states deVadoss. “We’ve been very happy to work with the teams at Microsoft and the Token Taxonomy Framework. They have done some amazing work to build a base substrate.”
deVadoss introduced the Token Designer with a look at the preview interface, highlighting the token formulae which follow the standards specified by the Token Taxonomy Framework (TTF). Within the TTF are token classifications and definitions that are intended to bridge the gap between blockchain developers, business executives, and regulators.
The goal of the framework, launched as an initiative by the Enterprise Ethereum Alliance (EEA), is to create a platform-neutral common ground for defining tokens, concepts, and new business models revolving around tokenization. Development of the framework is overseen by the Token Taxonomy Consortium, members of which include industry leaders such as Microsoft, IBM, Accenture, R3, and others.
NGD Seattle will join the initiative to further develop token standards in the industry, and is working on the Visual Token Designer as a tool for developers to tokenize assets adhering to cross-platform standards on the Neo blockchain.
In his presentation, deVadoss also provided a few examples of token definitions to demonstrate the flexibility and applicability of tokenization. Examples included a UEFA Euro 2020 ticket, being a whole non-fungible token that is indivisible and transferable; a transferable singleton token for art; and a token for a license or diploma, both of which would be non-transferable and carry other attestations.