Overview

Last updated 4 months ago

Parasol is an Agile Smart Contract Development Environment

forthebadge​​forthebadge

parasol-cli in practice

Features

  • First-ever Solidity Preprocessor & macros

  • Instant zero-configuration contract deployments using INFURA

  • Async-REPL Javascript session to interact with deployed contracts & web3

  • Integrated Markdown contract documentation using Natspec + ABI

  • Standalone and inline Mocha unit tests

  • Auto-recompiling, tests & documentation on file change

  • Unlimited customizability, exposure of all dependency configs

  • Unopinionated design, low design pattern restrictions

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.