Introduction

npm version travis build status code coverage status Gitter chat

etherlime

etherlime is an ethereum development and deployment framework based on ethers.js.

This framework provides alternative to the other web3.js based frameworks and allows for ultimate control by the developer. It also adds much needed verboseness in the deployment process so that you can be aware of what is really going on (as opposed to the general shooting in the dark technique).

This framework was born out of necessity, hardships and trouble in the development and deployment of ethereum smart contract. We are trying to ease the pain of deployment, compilation and unit testing and add much needed stability to the process. In our mind ethers is much more stable alternative than web3.js for the moment therefore this framework is born.

Milestones:

  • [Ready] Being able to deploy compiled contracts (compiled in the truffle format) on local and infura nodes <---- Done

  • [Ready] Being able to compile contracts to the desired formats for deployment <---- Done

  • [Ready] Being able to run unit tests on the compiled contracts <---- Done

  • [Ready] Being able to run unit tests with code coverage <---- Done

  • [Ready] Being able to debug transactions <---- Done

  • [Ready] Being able to verify contracts <---- Done

Installing

npm i -g etherlime

Documentation

Documentation

Contribution

We are always open to new fresh ideas, so you are welcome if you want to contribute to this project. To set it up, follow the steps:

git clone https://github.com/LimeChain/etherlime.git
npm install
npm run link

As Etherlime is a monorepo the last command will bootstrap the packages, install their dependencies and link any cross-dependencies. It will also create a symlink of etherlime (cli commands) package so you can test new changes locally. If you want ot work on any other package, just navigate to its folder and run yarn link.

The package etherlime-lib is written in TypeScript thus the code must be compiled to JavaScript. Run the following commands:

cd packages/etherlime-lib
npm run tsc
cd ../..

Please, commit all your new changes in a new branch and create a pull request. All of the new code must have 100 % test coverage. To see the test coverage table result, run:

npm test

Community

Join our community group

License

Completely MIT Licensed. Including ALL dependencies.