Launching Parasol: An Agile Smart Contract Development Environment

Today, we are excited to share a new open source project we've been working on recently.

Parasol is a powerful smart contract development environment optimized for freedom and agile development.

Features

  • Instant zero-configuration contract deployments using INFURA
  • Async-REPL Javascript session to interact with deployed contracts & web3
  • Integrated Markdown contract documentation using Natspec + ABI
  • Extended Mocha unit tests
  • Auto-recompiling, tests & documentation on file change
  • Unlimited customizability, exposure of all dependency configs
  • Unopinionated design, low design pattern restrictions

Parasol follows three design principles.

Principles

1. Separation of Concerns

Most existing development environments are designed for dApps, not for smart contracts. Developers are restricted to the Migration smart contracts design pattern as required by other development environments to facilitate dApp versioning. Parasol puts into consideration developers who intend to develop pure smart contracts and avoids restricting them to a specific dApp design pattern.

2. Freedom

Parasol aims to implement as little abstraction on top of its dependencies as possible. It provides direct configuration access to its core components such as solc and ganache. Additionally, it allows the user the freedom to customize and contract deployment logic through the deployer() function in the configuration file.

3. Agility

Agile development is important for the entire smart contract development cycle, not only for the Solidity contracts themselves. In the realm of Solidity, unit tests can end up taking substantially longer to perfect than their source contracts. Hence, they consume more time. And then comes, documentation. In Parasol's development environment, any changes made to unit tests, smart contract source code or any js/json file will immediately and quickly recompile all code, run static analysis, redeploy on ganache, recompile documentation and rerun unit tests.

Getting Started

Getting started is easy and requires zero-configuration.

  1. Install Parasol using npm
    sudo npm i -g parasol-cli
  2. Initialize project structure in an empty directory
    parasol init
  3. Run development environment and start coding
    parasol

Documentation

Full developer documentation for Parasol can be found at our new developer portal: https://developer.lamarkaz.com/parasol

Contribution

Parasol is an open source Javascript project. Contributions are welcome on the Github repo. Feel free to submit issues and pull requests.