• 技术文章 >后端开发 >Python教程

    Python以太坊虚拟机实现Py-EVM的内容介绍

    不言不言2018-10-18 17:22:39转载1215
    本篇文章给大家带来的内容是关于Python以太坊虚拟机实现Py-EVM的内容介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    Py-EVM是用Python编写的以太坊虚拟机的新实现。目前github上695个star,正在积极开发中,但正在通过以太坊/测试提供的测试套件快速推进。我们感谢有Vitalik和现有的PyEthereum代码,使得我们有的快速进步,因为许多设计决策都受到启发,甚至直接从PyEthereum代码库移植。

    Py-EVM旨在最终成为EVM的事实Python实现,为公共和私有链提供广泛的用例。开发将侧重于创建具有良好定义的API的EVM,友好且易于理解的文档,可作为功能齐全的主网节点运行。

    特别是Py-EVM目标旨在:

    Trinity

    虽然Py-EVM提供EVM的低级API,但它并不旨在直接实现完整节点或轻节点。

    我们提供了一个基于Py-EVM的称为Trinity的完整节点的基本实现。

    将来可能会有基于Py-EVM的替代客户端。

    第1步:Alpha发布

    该计划首先是适用于测试目的的MVP,alpha级发布。我们将寻找早期采用者,以提供有关我们的架构和API选择的反馈,以及一般反馈和错误发现。

    开发

    Py-EVM依赖于所有客户端的常见测试的子模块,因此你需要使用--recursive标记克隆repo。例如:

    git clone --recursive git@github.com:ethereum/py-evm.git

    Py-EVM需要Python 3。通常,保证干净的Python 3环境的最佳方法是使用virtualenv,例如:

    # once:
    $ virtualenv -p python3 venv
    
    # each session:
    $ . venv/bin/activate

    然后通过以下方式安装所需的python包:

    pip install -e .[dev]

    运行测试

    可以使用以下命令运行测试:

    pytest

    或者你可以安装tox来运行完整的测试套件。

    Releasing

    需要Pandoc才能将markdown README转换为正确的格式,以便在pypi上正确呈现。

    对于类似Debian的系统:

    apt install pandoc

    在OSX上:

    brew install pandoc

    要发布新版本:

    bumpversion $$VERSION_PART_TO_BUMP$$
    git push && git push --tags
    make release

    去新建一个docker镜像:

    make create-docker-image version=<version>

    默认情况下,这将创建一个新镜像,其中有两个标记指向它:

    ethereum/trinity:<version>:(显示版本)

    ethereum/trinity:latest:(最新的,直到用未来的“最新”覆盖)

    然后,推送到docker hub。

    docker push ethereum/trinity:<version>
    # the following may be left out if we were pushing a patch for an older version
    docker push ethereum/trinity:latest

    如何使用bumpversion

    此repo的版本格式为{major}.{minor}.{patch}表示stable,{patch}.{minor}.{patch}-{stage}.{devnum}表示unstable(stage可以是alpha或beta))。

    要在发布下一个版本,请使用bumpversion并指定要调整的部分,例如bumpversion minor或bumpversion devnum。

    如果你处于beta版,则bumpversion stage阶段将切换为稳定版。

    要在当前版本稳定时发出不稳定版本,请明确指定新版本,例如bumpversion --new-version 4.0.0-alpha.1 devnum

    以上就是Python以太坊虚拟机实现Py-EVM的内容介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault思否,如有侵犯,请联系admin@php.cn删除
    上一篇:Python如何发送?python发送email的三种方式介绍 下一篇:Python中psutil库的使用介绍(详细)
    大前端线上培训班

    相关文章推荐

    • php如何利用区块链开发以太坊智能合约• php通过JSON-RPC实现与以太坊交互的内容解析• 如何利用php开发以太坊的支付系统

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网