Etherlime — December Status Update

In this status update, we will share the progress of Etherlime in November and December. Will also add our plan for the next exciting release — etherlime 1.0

Growing bit by bit

What has happened?

The first two months of our grant have been spent mostly trying to meet the ETHPrize bounty conditions. The biggest portion of this was dedicated to getting our codebase almost fully covered by unit tests. This was needed in order to be able to maintain the high quality of our code. We are now very confident in the codebase we have and would like to invite all contributors to help us in making this the best tool possible. More to this in the What is next section.

95% code coverage

The bulk of our valiant effort during the last two months was covering most of our code in unit tests and allowing for the CI tool (Travis) to autonomously determine our code coverage after every commit. In the days before Christmas we were able to reach the minimum threshold of 95% that we’ve set for ourselves.

Restructured, optimised and fixed issues

Natural byproduct of the process of covering with unit tests is finding inefficiencies and bugs. We took the time to address them and clean up the code and our main codebase shrunk with roughly a 1000 lines of code.

New defaults Solidity 0.5.2

As Solidity team released the breaking 0.5 version we took a bit of time and updated etherlime default version to 0.5. You can still use older versions either by installing them locally npm install solc@0.4.25 or specifying the version into the compile or test commands via the solc-version parameter.

Forking Ganache

By a popular demand we added the option fork option to etherlime ganache . You can now easily fork Infura or your local Geth for state and continue simulating further.

What is next?

The more users we get, the more feedback we receive. After few conversations with developers, we are already looking at backlog with at least 50 valuable things to add.

Etherlime 1.0 is a major version aiming to vastly improve the Developer Experience of both Etherlime and Ethereum development in general. Remaining true to our “Ship once ready” motto, we will release Etherlime 1.0 as soon as any of the following features is complete.

Debugger

Debugging is essential part of the development of any software project. Etherlime will leverage the existing debugging JS libraries to provide familiar debugging experience.

Unit tests syntax improvement

While ethers is the most stable library out there, it is not necessarily built for smart contract unit testing. We are going to provide the needed smoothness around the edges with syntax like contract.from(address).method(params) while still leveraging the inbuilt ganache and ethers robustness.

Code scaffolding

Code scaffolding is the much needed kick-start of your project with a familiar boilerplate code. We will work towards creating “seed” projects to grow your etherlime projects.