py-solc-x – py-solc-x公司区块链毕设代写

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,py-solc-x – py-solc-x公司区块链毕设代写 是一篇很好的国外资料

py-solc-x

py-solc-x - py-solc-x公司 py-solc-x - py-solc-x公司 py-solc-x - py-solc-x公司

Python wrapper around the solc Solidity compiler with 0.5.x and 0.6.x support.

Forked from py-solc.

Dependencies

Py-solc-x allows the use of multiple versions of solc and installs them as needed. You must have all required solc dependencies installed for it to work properly.

Supported Versions

Py-solc-x can install the following solc versions:

  • Linux and Windows: >=0.4.11
  • OSX: >=0.5.0

See Installing Solidity on OSX for information on how to use 0.4.x versions with OSX.

Quickstart

Installation

pip install py-solc-x

Installing the solc Executable

The first time py-solc-x is imported it will automatically check for an installed version of solc on your system. If none is found, you must manually install via solcx.install_solc:

>>> from solcx import install_solc >>> install_solc('v0.4.25')

Or via the command line:

python -m solcx.install v0.4.25

By default, solc versions are installed at ~/.solcx/. If you wish to use a different directory you can specify it with the SOLCX_BINARY_PATH environment variable.

Setting the solc Version

Py-solc-x defaults to the most recent installed version set as the active one. To check or modify the active version:

>>> from solcx import get_solc_version, set_solc_version >>> get_solc_version() Version('0.5.7+commit.6da8b019.Linux.gpp') >>> set_solc_version('v0.4.25') >>>

You can also set the version based on the pragma version string. The highest compatible version will be used:

>>> from solcx import set_solc_version_pragma >>> set_solc_version_pragma('^0.4.20 || >0.5.5 <0.7.0') Using solc version 0.5.8 >>> set_solc_version_pragma('^0.4.20 || >0.5.5 <0.7.0', check_new=True) Using solc version 0.5.8 Newer compatible solc version exists: 0.6.0

To view available and installed versions:

>>> from solcx import get_installed_solc_versions, get_available_solc_versions >>> get_installed_solc_versions() ['v0.4.25', 'v0.5.3', 'v0.6.0'] >>> get_available_solc_versions() ['v0.6.0', 'v0.5.15', 'v0.5.14', 'v0.5.13', 'v0.5.12', 'v0.5.11', 'v0.5.10', 'v0.5.9', 'v0.5.8', 'v0.5.7', 'v0.5.6', 'v0.5.5', 'v0.5.4', 'v0.5.3', 'v0.5.2', 'v0.5.1', 'v0.5.0', 'v0.4.25', 'v0.4.24', 'v0.4.23', 'v0.4.22', 'v0.4.21', 'v0.4.20', 'v0.4.19', 'v0.4.18', 'v0.4.17', 'v0.4.16', 'v0.4.15', 'v0.4.14', 'v0.4.13', 'v0.4.12', 'v0.4.11']

To install the highest compatible version based on the pragma version string:

>>> from solcx import install_solc_pragma >>> install_solc_pragma('^0.4.20 || >0.5.5 <0.7.0')

Standard JSON Compilation

Use the solcx.compile_standard function to make use of the standard-json compilation feature.

>>> from solcx import compile_standard >>> compile_standard({ ...     'language': 'Solidity', ...     'sources': {'Foo.sol': 'content': "...."}, ... }) {     'contracts': {...},     'sources': {...},     'errors': {...}, } >>> compile_standard({ ...     'language': 'Solidity', ...     'sources': {'Foo.sol': {'urls': ["/path/to/my/sources/Foo.sol"]}}, ... }, allow_paths="/path/to/my/sources") {     'contracts': {...},     'sources': {...},     'errors': {...}, }

Legacy Combined JSON compilation

>>> from solcx import compile_source, compile_files >>> 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 Libraries

>>> from solcx import link_code >>> unlinked_bytecode = "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273__TestA_________________________________90630c55699c906064906000906004818660325a03f41560025750505056" >>> link_code(unlinked_bytecode, {'TestA': '0xd3cda913deb6f67967b99d67acdfa1712c293601'}) ... "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273d3cda913deb6f67967b99d67acdfa1712c29360190630c55699c906064906000906004818660325a03f41560025750505056"

Import Path Remappings

solc provides path aliasing allow you to have more reusable project configurations.

You can use this like:

>>> from solcx import compile_files  >>> compile_files([source_file_path], import_remappings=["zeppeling=/my-zeppelin-checkout-folder"])

More information about solc import aliasing

Development

This project was forked from py-solc and should be considered a beta. Comments, questions, criticisms and pull requests are welcomed.

Tests

Py-solc-x is tested on Linux and Windows with solc versions >=0.4.11.

To run the test suite:

pytest tests/

By default, the test suite installs all available solc versions for your OS. If you only wish to test against already installed versions, include the --no-install flag.

License

This project is licensed under the MIT license.

#92


py-solc-x

<py-solc-x><py-solc-x><py-solc-x><py-solc-x><py-solc-x><py-solc-x>

支持0.5.x和0.6.x的solc Solidity编译器的Python包装器。

从py solc派生。

Py-solc-x允许使用solc的多个版本,并根据需要安装它们。必须安装所有必需的solc依赖项才能正常工作。

Py-solc-x可以安装以下solc版本:

有关如何在OSX中使用0.4.x版本的信息,请参阅在OSX上安装Solidity。

安装

第一次导入py-solc-x时,它将自动检查系统上已安装的solc版本。如果找不到,则必须通过手动安装solcx.install_solc软件用法:

或通过命令行:

默认情况下,solc版本安装在~/.solcx/上。如果要使用其他目录,可以使用SOLCX_BINARY_PATH环境变量指定它。

Py-solc-x默认设置为最新安装的版本作为活动版本。要检查或修改活动版本:

还可以根据pragma version字符串设置版本。将使用最高兼容版本:

查看可用和已安装的版本:

根据pragma version字符串安装最高兼容版本:

使用solcx.compile_标准函数来使用标准json编译功能。

solc提供了路径别名,允许您拥有更多可重用的项目配置。

您可以这样使用:

有关solc导入别名的更多信息

此项目是从py solc派生出来的,应该被视为beta版。欢迎提出意见、问题、批评和请求。

Py-solc-x在solc版本为&gt;=0.4.11的Linux和Windows上进行了测试。

要运行测试套件:

默认情况下,测试套件将为您的操作系统安装所有可用的solc版本。如果只希望针对已安装的版本进行测试,请包括–no install标志。

这个项目是根据麻省理工学院的许可证授权的。

py-solc-x

依赖关系

支持的版本

快速启动

安装solc可执行文件

设置solc版本

标准JSON编译

传统的组合JSON编译

未链接的库

导入路径重新映射

开发

测试

许可证

  • Linux和Windows:&gt;=0.4.11
  • OSX:&gt;=0.5.0
  • 支持0.5.x和0.6.x的solc Solidity编译器的Python包装器。

    从py solc派生。

    依赖关系

    Py-solc-x允许使用solc的多个版本,并根据需要安装它们。必须安装所有必需的solc依赖项才能正常工作。

    支持的版本

    Py-solc-x可以安装以下solc版本:

    • Linux和Windows:&gt;=0.4.11
    • OSX:&gt;=0.5.0

    有关如何在OSX中使用0.4.x版本的信息,请参阅在OSX上安装Solidity。

    快速启动

    安装

    pip install py-solc-x

    设置solc版本

    第一次导入py-solc-x时,它将自动检查系统上已安装的solc版本。如果找不到,则必须通过手动安装solcx.install_solc软件用法:

    >>> from solcx import install_solc >>> install_solc('v0.4.25')

    或通过命令行:

    python -m solcx.install v0.4.25

    默认情况下,solc版本安装在~/.solcx/上。如果要使用其他目录,可以使用SOLCX_BINARY_PATH环境变量指定它。

    标准JSON编译

    Py-solc-x默认设置为最新安装的版本作为活动版本。要检查或修改活动版本:

    >>> from solcx import get_solc_version, set_solc_version >>> get_solc_version() Version('0.5.7+commit.6da8b019.Linux.gpp') >>> set_solc_version('v0.4.25') >>>

    还可以根据pragma version字符串设置版本。将使用最高兼容版本:

    >>> from solcx import set_solc_version_pragma >>> set_solc_version_pragma('^0.4.20 || >0.5.5 <0.7.0') Using solc version 0.5.8 >>> set_solc_version_pragma('^0.4.20 || >0.5.5 <0.7.0', check_new=True) Using solc version 0.5.8 Newer compatible solc version exists: 0.6.0

    查看可用和已安装的版本:

    >>> from solcx import get_installed_solc_versions, get_available_solc_versions >>> get_installed_solc_versions() ['v0.4.25', 'v0.5.3', 'v0.6.0'] >>> get_available_solc_versions() ['v0.6.0', 'v0.5.15', 'v0.5.14', 'v0.5.13', 'v0.5.12', 'v0.5.11', 'v0.5.10', 'v0.5.9', 'v0.5.8', 'v0.5.7', 'v0.5.6', 'v0.5.5', 'v0.5.4', 'v0.5.3', 'v0.5.2', 'v0.5.1', 'v0.5.0', 'v0.4.25', 'v0.4.24', 'v0.4.23', 'v0.4.22', 'v0.4.21', 'v0.4.20', 'v0.4.19', 'v0.4.18', 'v0.4.17', 'v0.4.16', 'v0.4.15', 'v0.4.14', 'v0.4.13', 'v0.4.12', 'v0.4.11']

    根据pragma version字符串安装最高兼容版本:

    >>> from solcx import install_solc_pragma >>> install_solc_pragma('^0.4.20 || >0.5.5 <0.7.0')

    传统的组合JSON编译

    使用solcx.compile_标准函数来使用标准json编译功能。

    >>> from solcx import compile_standard >>> compile_standard({ ...     'language': 'Solidity', ...     'sources': {'Foo.sol': 'content': "...."}, ... }) {     'contracts': {...},     'sources': {...},     'errors': {...}, } >>> compile_standard({ ...     'language': 'Solidity', ...     'sources': {'Foo.sol': {'urls': ["/path/to/my/sources/Foo.sol"]}}, ... }, allow_paths="/path/to/my/sources") {     'contracts': {...},     'sources': {...},     'errors': {...}, }

    未链接的库

    >>> from solcx import compile_source, compile_files >>> 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',         },     }, }

    导入路径重新映射

    >>> from solcx import link_code >>> unlinked_bytecode = "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273__TestA_________________________________90630c55699c906064906000906004818660325a03f41560025750505056" >>> link_code(unlinked_bytecode, {'TestA': '0xd3cda913deb6f67967b99d67acdfa1712c293601'}) ... "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273d3cda913deb6f67967b99d67acdfa1712c29360190630c55699c906064906000906004818660325a03f41560025750505056"

    开发

    solc提供了路径别名,允许您拥有更多可重用的项目配置。

    您可以这样使用:

    >>> from solcx import compile_files  >>> compile_files([source_file_path], import_remappings=["zeppeling=/my-zeppelin-checkout-folder"])

    有关solc导入别名的更多信息

    测试

    此项目是从py solc派生出来的,应该被视为beta版。欢迎提出意见、问题、批评和请求。

    许可证

    Py-solc-x在solc版本为&gt;=0.4.11的Linux和Windows上进行了测试。

    要运行测试套件:

    pytest tests/

    默认情况下,测试套件将为您的操作系统安装所有可用的solc版本。如果只希望针对已安装的版本进行测试,请包括–no install标志。

    License

    这个项目是根据麻省理工学院的许可证授权的。

    #92

    部分转自网络,侵权联系删除区块链源码网

    www.interchains.cc

    https://www.interchains.cc/16339.html

    区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
    区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » py-solc-x – py-solc-x公司区块链毕设代写

    提供最优质的资源集合

    立即查看 了解详情