Skip to main content

Python wrapper around the solc binary

Project description

# py-solc

[![Build Status](https://travis-ci.org/pipermerriam/py-solc.png)](https://travis-ci.org/pipermerriam/py-solc)
[![PyPi version](https://pypip.in/v/py-solc/badge.png)](https://pypi-hypernode.com/pypi/py-solc)
[![PyPi downloads](https://pypip.in/d/py-solc/badge.png)](https://pypi-hypernode.com/pypi/py-solc)


Python wrapper around the `solc` Solidity compiler.


# Dependency

This library requires the `solc` executable to be present.

solc 0.3.5 or newer is required. [solc installation instructions](http://solidity.readthedocs.io/en/latest/installing-solidity.html)

> Currently does not work with anything `0.4.x` or later.


# Quickstart

Installation

```sh
pip install py-solc
```

```python
>>> from solc import compile_source, compile_files, link_code
>>> compile_source("contract Foo { function Foo() {} }")
{
'Foo': {
'abi': [{'inputs': [], 'type': 'constructor'}],
'code': '0x60606040525b5b600a8060126000396000f360606040526008565b00',
'code_runtime': '0x60606040526008565b00',
'source': None,
'meta': {
'compilerVersion': '0.3.5-9da08ac3',
'language': 'Solidity',
'languageVersion': '0',
},
},
}
>>> compile_files(["/path/to/Foo.sol", "/path/to/Bar.sol"])
{
'Foo': {
'abi': [{'inputs': [], 'type': 'constructor'}],
'code': '0x60606040525b5b600a8060126000396000f360606040526008565b00',
'code_runtime': '0x60606040526008565b00',
'source': None,
'meta': {
'compilerVersion': '0.3.5-9da08ac3',
'language': 'Solidity',
'languageVersion': '0',
},
},
'Bar': {
'abi': [{'inputs': [], 'type': 'constructor'}],
'code': '0x60606040525b5b600a8060126000396000f360606040526008565b00',
'code_runtime': '0x60606040526008565b00',
'source': None,
'meta': {
'compilerVersion': '0.3.5-9da08ac3',
'language': 'Solidity',
'languageVersion': '0',
},
},
}
>>> unlinked_code = "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273__TestA_________________________________90630c55699c906064906000906004818660325a03f41560025750505056"
>>> link_code(unlinked_code, {'TestA': '0xd3cda913deb6f67967b99d67acdfa1712c293601'})
... "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273d3cda913deb6f67967b99d67acdfa1712c29360190630c55699c906064906000906004818660325a03f41560025750505056"
```


## Setting the path to the `solc` binary

You can use the environment variable `SOLC_BINARY` to set the path to your solc binary.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-solc-0.5.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distributions

py_solc-0.5.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

py-solc-0.5.0.macosx-10.11-x86_64.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file py-solc-0.5.0.tar.gz.

File metadata

  • Download URL: py-solc-0.5.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for py-solc-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5405b3a0ac17482c88e2cb2f6b3717f4b808ac13eb187f738df03e364bebc38e
MD5 e39c08fe7e88a8db0a71a45203f9edb1
BLAKE2b-256 faaa13b7624100b17411dabed8191ef2a97e57413225b67fe0d0f797d5589ddc

See more details on using hashes here.

File details

Details for the file py_solc-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for py_solc-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19760a2ecb75a14d67f45e4bbd14843aba3c1b99930e5ad4f53e7ef471882ea4
MD5 3a716a476212630fc82d3fa30ebb0a7d
BLAKE2b-256 8ba51fe0df50625e7bd86e44734008fe4a4bd9234da6b9114d1896245f1cdbbf

See more details on using hashes here.

File details

Details for the file py-solc-0.5.0.macosx-10.11-x86_64.tar.gz.

File metadata

File hashes

Hashes for py-solc-0.5.0.macosx-10.11-x86_64.tar.gz
Algorithm Hash digest
SHA256 0bd322ff8807d758e0ea164d7e628a07c797f96f3024e794a2e4b1da78b16860
MD5 5f1bfce3069a9ada6c141180956eb93a
BLAKE2b-256 833bf567f3e7d415e3831cfa3baa91d2acf6d3cf226789fd75093c1b108b8a5f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page