您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python編寫的Py-EVM怎么使用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Python編寫的Py-EVM怎么使用”文章能幫助大家解決問(wèn)題。
Py-EVM是用Python編寫的以太坊虛擬機(jī)的新實(shí)現(xiàn)。目前github上695個(gè)star,正在積極開(kāi)發(fā)中,但正在通過(guò)以太坊/測(cè)試提供的測(cè)試套件快速推進(jìn)。我們感謝有Vitalik和現(xiàn)有的PyEthereum代碼,使得我們有的快速進(jìn)步,因?yàn)樵S多設(shè)計(jì)決策都受到啟發(fā),甚至直接從PyEthereum代碼庫(kù)移植。
Py-EVM旨在最終成為EVM的事實(shí)Python實(shí)現(xiàn),為公共和私有鏈提供廣泛的用例。開(kāi)發(fā)將側(cè)重于創(chuàng)建具有良好定義的API的EVM,友好且易于理解的文檔,可作為功能齊全的主網(wǎng)節(jié)點(diǎn)運(yùn)行。
特別是Py-EVM目標(biāo)旨在:
提供是一種使用最廣泛使用和理解的語(yǔ)言之一Python的EVM的示例實(shí)現(xiàn)。
為客戶提供低級(jí)API,以構(gòu)建完整或輕量級(jí)節(jié)點(diǎn)。
易于理解和修改。
高度靈活地支持研究以及私有區(qū)塊鏈等替代用例。
雖然Py-EVM提供EVM的低級(jí)API,但它并不旨在直接實(shí)現(xiàn)完整節(jié)點(diǎn)或輕節(jié)點(diǎn)。
我們提供了一個(gè)基于Py-EVM的稱為Trinity的完整節(jié)點(diǎn)的基本實(shí)現(xiàn)。
將來(lái)可能會(huì)有基于Py-EVM的替代客戶端。
第1步:Alpha發(fā)布
該計(jì)劃首先是適用于測(cè)試目的的MVP,alpha級(jí)發(fā)布。我們將尋找早期采用者,以提供有關(guān)我們的架構(gòu)和API選擇的反饋,以及一般反饋和錯(cuò)誤發(fā)現(xiàn)。
Py-EVM依賴于所有客戶端的常見(jiàn)測(cè)試的子模塊,因此你需要使用--recursive標(biāo)記克隆repo。例如:
git clone --recursive git@github.com:ethereum/py-evm.git
Py-EVM需要Python 3。通常,保證干凈的Python 3環(huán)境的最佳方法是使用virtualenv,例如:
# once: $ virtualenv -p python3 venv # each session: $ . venv/bin/activate
然后通過(guò)以下方式安裝所需的python包:
pip install -e .[dev]
可以使用以下命令運(yùn)行測(cè)試:
pytest
或者你可以安裝tox
來(lái)運(yùn)行完整的測(cè)試套件。
需要Pandoc才能將markdown README轉(zhuǎn)換為正確的格式,以便在pypi上正確呈現(xiàn)。
對(duì)于類似Debian的系統(tǒng):
apt install pandoc
在OSX上:
brew install pandoc
要發(fā)布新版本:
bumpversion $$VERSION_PART_TO_BUMP$$ git push && git push --tags make release
去新建一個(gè)docker鏡像:
make create-docker-image version=<version>
默認(rèn)情況下,這將創(chuàng)建一個(gè)新鏡像,其中有兩個(gè)標(biāo)記指向它:
ethereum/trinity:<version>
:(顯示版本)
ethereum/trinity:latest
:(最新的,直到用未來(lái)的“最新”覆蓋)
然后,推送到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
此repo的版本格式為{major}.{minor}.{patch}
表示stable,{patch}.{minor}.{patch}-{stage}.{devnum}
表示unstable(stage可以是alpha或beta))。
要在發(fā)布下一個(gè)版本,請(qǐng)使用bumpversion并指定要調(diào)整的部分,例如bumpversion minor或bumpversion devnum。
如果你處于beta版,則bumpversion stage階段將切換為穩(wěn)定版。
要在當(dāng)前版本穩(wěn)定時(shí)發(fā)出不穩(wěn)定版本,請(qǐng)明確指定新版本,例如bumpversion --new-version 4.0.0-alpha.1 devnum
關(guān)于“Python編寫的Py-EVM怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。