Skip to content
This repository has been archived by the owner on Dec 20, 2020. It is now read-only.
olivier-schmitt edited this page Jul 16, 2017 · 3 revisions

Welcome to the solc-maven-plugin wiki!

Design principles

This plugin is based on Maven 3.5.0's plugin architecture.

It uses an external solc compiler and the remarkable library web3j.

web3j is leveraged to generate Java wrappers which in turn, enable the use of contracts remotely.

The solc compiler is invoked by a command : the developer has to declare it in the pom.xml (default is "solc").

Other plugins may rely on an embedded solc compiler, like for instance the web3j-maven-plugin.

The Solc Maven Plugin might merge with the Web3J's Maven plugin.

I'm not convinced by the embedded approach because embedding a solc compiler in JAR:

  • creates a strong bound between the plugin and a certain solc compiler (runtime + version).
  • may not work in all environments

Using an external compiler empowers the developper with great flexibility.

Indeed, the solc compiler may be:

  • a shell executing a docker container
  • the solc native compiler
  • the solc-js wrapper
  • a shell executing the native compiler and other tasks like documentation generation with doxity
  • ...
Clone this wiki locally