登录  /  注册

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

不言
发布: 2018-10-18 17:22:39
转载
2393人浏览过

本篇文章给大家带来的内容是关于python以太坊虚拟机实现py-evm的内容介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

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

特别是Py-EVM目标旨在:

  • 提供是一种使用最广泛使用和理解的语言之一Python的EVM的示例实现。

  • 为客户提供低级API,以构建完整或轻量级节点。

  • 易于理解和修改。

  • 高度灵活地支持研究以及私有区块链等替代用例。

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></version>
登录后复制

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

ethereum/trinity::(显示版本)

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</version>
登录后复制

如何使用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中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:segmentfault思否网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号