ethereum / ethereum/populus

Support for multiple compilers and compiler versions

Open
#290 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
319
Forks
110
PR merge metrics
No merged PRs in 30d

Description

### What was wrong?

Populus currently only supports one code path for compilation. This is quickly becoming problematic with the new `--standard-json` output. Ideally we should be able to support many different versions of the compiler.

### How to fix it.

We implement a new backend system for compilation. Compiler Backends will be responsible for handling the actual compilation of the source files within a project. Compiler backends operate at the *project* level. Each compiler backend should output a *standard* json-like data format that populus can then turn into contract objects.

* The individual compilation backends would be declared in the settings file under the key `compilation.backends`.
* Each backend should be capable of accepting it's own settings.
* There should be a *default* backend which is used when no backend is declared.
* Users should be able to declare/override which backend is used by default.

#### Cute Animal Picture

> put a cute animal picture here.

![2279314430_2669af3ff3](https://cloud.githubusercontent.com/assets/824194/25758917/90f00306-318d-11e7-9616-cdb8aa4d6409.jpeg)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.