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

George Spasov
LimeChain
4 min readDec 27, 2018

--

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 thesolc-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.

On the non-tech side 2019 will be the year of community building. We’ve already concocted a plan to make Etherlime the most user-friendly and usable framework out there and share all the knowledge we have in the most accessible and easy means possible.

Sharing knowledge in text and video

Starting out in January, the team will create a video series known as “Grow your Dapp” (title is still work in progress). This series will aim to teach the facets of blockchain development, while maintaining focus on how Etherlime helps to achieve your blockchain goals. The types of the content will generally be either screencasts or interviews.

Bounties

Etherlime can only succeed if a strong community is built around it. Now that the code coverage is complete, we plan on utilising bounties heavily during the following months. Some of the things in the pipeline include — Solidity Flattener, Instant contract verification and more.

Contributors

Thanks to our main contributors during this month:

Also big thanks to Ryan for the extremely helpful feedback and for him pointing the drawbacks and how to improve it:

Follow us on social media

About the author: George Spasov /Blockchain Architect and CDO/ is heading the technical team at Limechain. He also has experience leading teams to deliver successful software projects for everyone from startups like pCloud to international companies like IBM.

--

--