Ethjs Contract Boilerplate

screenshot of Ethjs Contract Boilerplate

A highly configurable boilerplate for multi-environment Ethereum smart-contract development.

Overview

The ethjs-contract-boilerplate is a powerful and highly configurable tool designed for constructing complex Ethereum smart contract systems. With its dual-language testing capabilities and a comprehensive deployment architecture, this boilerplate streamlines the process of deploying, testing, and managing Ethereum contracts in various environments. Whether you are a seasoned developer or just starting out, this tool serves as a solid foundation to build upon, providing features that cater to diverse needs.

From the ability to run both Solidity and JavaScript tests to a streamlined build and distribution flow, ethjs-contract-boilerplate empowers developers to focus on creating robust contracts without getting bogged down by configuration complexities. The commitment to open-source contributions further enhances its utility in the developer ecosystem.

Features

  • Highly Unopinionated: Offers flexibility, allowing developers to customize their workflow according to project needs.
  • Complex Configurable Multi-Environment Deployment: Utilize the ethdeploy tool for easy management of deployments across different environments.
  • Dual-Language Contract Testing: Supports contract testing in both JavaScript using mocha and Solidity via wafr, catering to various developer preferences.
  • Async/Await Enabled JS Testing: Incorporates modern JavaScript features to streamline testing processes.
  • Configurable Linting with ESLint: Ensures code quality with customizable linting standards, enhancing maintainability.
  • Webpack Enabled Build and Distribution Flow: Facilitates efficient management of builds and asset distribution.
  • Local TestRPC Driven Testing Environment: Simplifies the testing phase by creating a local Ethereum environment for thorough validation.
  • Ecosystem Contributions Encouraged: Actively invites developers to improve and enhance the tool with community-driven contributions.
eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.