Zilliqa Technical Blog 5 November 2019

The Zilliqa mainnet is currently chugging along on the new version 5.1.1. In our previous blog post, we went into detail on the development and roll-out of version 5.1.0, with emphasis on the stability and performance improvements

Zilliqa Technical Blog 5 November 2019

Core Tech Updates

The Zilliqa mainnet is currently chugging along on the new version 5.1.1. In our previous blog post, we went into detail on the development and roll-out of version 5.1.0, with emphasis on the stability and performance improvements around smart contract processing. Among the other improvements not mentioned was a loosening of our blacklisting policy to allow nodes that go offline to rejoin the network more quickly. Shortly after upgrading the mainnet to version 5.1.0, however, we noticed a significant delay in transaction confirmation across some epochs. Eventually we realized the blacklist policy change had introduced a regression to our consensus protocol, thus we quickly rolled out version 5.1.1 to disable the policy change for now.

Beyond resolving that issue, the core team is now busy working on the developments for the next version. While the work to enable faster node rejoining continues, there are also enhancements in the pipeline around transaction tracking and blockchain data fetching. For example, a transaction can get stuck in the transaction pool for reasons such as a higher than expected nonce value. In the present version, this information is not exposed to our API, which makes it harder to diagnose at the user level. We’re working on making this information available to users soon, so stay tuned as we start to provide more details in the coming tech updates.

Scilla Updates

As part of our efforts to improve developer experience for Scilla, we are providing Emacs and Vim modes for Scilla (in addition to a community developed vscode plugin). So far, syntax highlighting, indentation and linting (error reporting within the IDE) were supported (linting is not supported on Vim yet). As an extension of these features, we now also provide type reporting in scilla-checker for all variables in the contract. As a specific use case, the Emacs mode now is enabled to display inferred types of various Scilla variables in a contract, thus easing development. Work is underway by our community members in providing type reporting for the vscode plugin.

In addition to improving the editor support, we are working on making the Emacs mode available via MELPA-like centralized package repositories.

We have also fixed a bug in the error reporting. When the scilla-checker ran out of gas, it was reported in the middle of a lot of noise about the program, and in many cases reported multiple times. This has now been fixed so that an out-of-gas error is reported once only, and without noise.

For further information, connect with us on one of our social channels: