solidity 版本控制

2022-05-10 17:05 更新

版本控制

Solidity 版本遵循語(yǔ)義版本控制。此外,主版本 0(即 0.xy)的補(bǔ)丁級(jí)別版本將不包含重大更改。這意味著使用版本 0.xy 編譯的代碼可以預(yù)期使用 0.xz 編譯,其中 z > y。

除了發(fā)布之外,我們還提供每日開(kāi)發(fā)構(gòu)建版本,目的是讓開(kāi)發(fā)人員更容易嘗試即將推出的功能并提供早期反饋。但是請(qǐng)注意,雖然每日開(kāi)發(fā)構(gòu)建通常非常穩(wěn)定,但它們包含來(lái)自開(kāi)發(fā)分支的前沿代碼,并且不能保證始終有效。盡管我們盡了最大努力,但它們可能包含未記錄和/或損壞的更改,這些更改不會(huì)成為實(shí)際版本的一部分。它們不適用于生產(chǎn)用途。

部署合約時(shí),您應(yīng)該使用最新發(fā)布的 Solidity 版本。這是因?yàn)槎ㄆ谝胫卮蟾囊约靶鹿δ芎湾e(cuò)誤修復(fù)。我們目前使用 0.x 版本號(hào)來(lái)表示這種快速變化的步伐

詳細(xì)的版本字符串

Solidity 版本字符串包含四個(gè)部分:

  • 版本號(hào)

  • 預(yù)發(fā)布標(biāo)簽,通常設(shè)置為develop.YYYY.MM.DDnightly.YYYY.MM.DD

  • 提交格式為commit.GITHASH

  • 平臺(tái),具有任意數(shù)量的項(xiàng)目,包含有關(guān)平臺(tái)和編譯器的詳細(xì)信息

如果有本地修改,提交將使用.mod.

這些部分按照 SemVer 的要求組合在一起,其中 Solidity 預(yù)發(fā)布標(biāo)簽等于 SemVer 預(yù)發(fā)布,Solidity 提交和平臺(tái)組合構(gòu)成了 SemVer 構(gòu)建元數(shù)據(jù)。

發(fā)布示例:0.4.8+commit.60cc1668.Emscripten.clang.

預(yù)發(fā)布示例:0.4.9-nightly.2017.1.17+commit.6ecb4aa3.Emscripten.clang

關(guān)于版本控制的重要信息

發(fā)布后,補(bǔ)丁版本級(jí)別會(huì)發(fā)生變化,因?yàn)槲覀兗僭O(shè)只有補(bǔ)丁級(jí)別更改。合并更改時(shí),應(yīng)根據(jù) SemVer 和更改的嚴(yán)重性來(lái)調(diào)整版本。最后,總是使用當(dāng)前夜間構(gòu)建的版本進(jìn)行發(fā)布,但沒(méi)有說(shuō)明prerelease符。

例子:

  1. 發(fā)布了 0.4.0 版本。

  2. 從現(xiàn)在開(kāi)始,nightly build 的版本為 0.4.1。

  3. 引入了非破壞性更改 –> 版本沒(méi)有更改。

  4. 引入了一項(xiàng)重大更改 –> 版本升級(jí)為 0.5.0。

  5. 發(fā)布了 0.5.0 版本。

此行為適用于 版本 pragma。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)