Jadual Kandungan
Trinity
开发
运行测试
Releasing
Rumah pembangunan bahagian belakang Tutorial Python Python以太坊虚拟机实现Py-EVM的内容介绍

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

Oct 18, 2018 pm 05:22 PM
python Ethereum Rantaian sekat pengaturcara mesin maya

本篇文章给大家带来的内容是关于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
Salin selepas log masuk

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

# once:
$ virtualenv -p python3 venv

# each session:
$ . venv/bin/activate
Salin selepas log masuk

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

pip install -e .[dev]
Salin selepas log masuk

运行测试

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

pytest
Salin selepas log masuk

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

Releasing

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

对于类似Debian的系统:

apt install pandoc
Salin selepas log masuk

在OSX上:

brew install pandoc
Salin selepas log masuk

要发布新版本:

bumpversion $$VERSION_PART_TO_BUMP$$
git push && git push --tags
make release
Salin selepas log masuk

去新建一个docker镜像:

make create-docker-image version=<version>
Salin selepas log masuk

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

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
Salin selepas log masuk

如何使用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

Atas ialah kandungan terperinci Python以太坊虚拟机实现Py-EVM的内容介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Rancangan Python 2 jam: Pendekatan yang realistik Rancangan Python 2 jam: Pendekatan yang realistik Apr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Cara Membaca Gilir Redis Cara Membaca Gilir Redis Apr 10, 2025 pm 10:12 PM

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Cara melihat versi pelayan Redis Cara melihat versi pelayan Redis Apr 10, 2025 pm 01:27 PM

Soalan: Bagaimana untuk melihat versi pelayan Redis? Gunakan alat perintah Redis-cli -version untuk melihat versi pelayan yang disambungkan. Gunakan arahan pelayan INFO untuk melihat versi dalaman pelayan dan perlu menghuraikan dan mengembalikan maklumat. Dalam persekitaran kluster, periksa konsistensi versi setiap nod dan boleh diperiksa secara automatik menggunakan skrip. Gunakan skrip untuk mengautomasikan versi tontonan, seperti menyambung dengan skrip Python dan maklumat versi percetakan.

Cara memulakan pelayan dengan redis Cara memulakan pelayan dengan redis Apr 10, 2025 pm 08:12 PM

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

Bagaimana cara menetapkan saiz memori Redis mengikut keperluan perniagaan? Bagaimana cara menetapkan saiz memori Redis mengikut keperluan perniagaan? Apr 10, 2025 pm 02:18 PM

Tetapan saiz memori Redis perlu mempertimbangkan faktor -faktor berikut: Jumlah data dan trend pertumbuhan: Anggarkan saiz dan kadar pertumbuhan data yang disimpan. Jenis Data: Jenis yang berbeza (seperti senarai, hash) menduduki memori yang berbeza. Dasar caching: cache penuh, cache separa, dan dasar pemisahan mempengaruhi penggunaan memori. Puncak Perniagaan: Tinggalkan memori yang cukup untuk menangani puncak lalu lintas.

Apakah kesan kegigihan redis pada ingatan? Apakah kesan kegigihan redis pada ingatan? Apr 10, 2025 pm 02:15 PM

Redis Kegigihan akan mengambil ingatan tambahan, RDB sementara meningkatkan penggunaan memori apabila menjana snapshot, dan AOF terus mengambil ingatan apabila memasuki log. Faktor yang mempengaruhi termasuk jumlah data, dasar kegigihan dan konfigurasi REDIS. Untuk mengurangkan kesan, anda boleh mengkonfigurasi dasar snapshot RDB, mengoptimumkan konfigurasi AOF, menaik taraf perkakasan dan memantau penggunaan memori. Selain itu, adalah penting untuk mencari keseimbangan antara prestasi dan keselamatan data.

Python vs C: Aplikasi dan kes penggunaan dibandingkan Python vs C: Aplikasi dan kes penggunaan dibandingkan Apr 12, 2025 am 12:01 AM

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Apakah parameter konfigurasi memori Redis? Apakah parameter konfigurasi memori Redis? Apr 10, 2025 pm 02:03 PM

** Parameter teras konfigurasi memori Redis adalah MaxMemory, yang menghadkan jumlah memori yang boleh digunakan oleh Redis. Apabila had ini melebihi, REDIS melaksanakan strategi penghapusan mengikut dasar-dasar MaxMemory, termasuk: noeviction (secara langsung menolak menulis), AllKeys-LRU/Volatile-LRU (dihapuskan oleh LRU), allkeys-rawak-rawak-rawak (dihapuskan oleh penghapusan rawak), dan volatili-volatili-ttl), dan volatili-volatili-ttl (tidak meniru-rawak), dan volatili-ttl (tidak meniminasi volatili), dan volatili-ttl (tidak meniminasi volatili), dan volatili-ttl (tidak meniru-rawak), dan volatili-ttl (eximination-ttl) Parameter lain yang berkaitan termasuk MaxMemory-Samples (kuantiti sampel LRU), RDB-Mampatan

See all articles