區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

火幣網(huobi.com)最新可用網址(點擊下圖直達註冊!)


火必交易所,曾经的火币交易所!

欧易OKX三大交易所,稳定好用!

币安全球第一大交易所!安全!


智能合約開發框架允許工程師部署和測試他們的智能合約,從而使工程師的工作變得更輕松。

我花瞭數小時和幾天的時間瀏覽ConsenSys和以太坊網站上的每個推薦框架,以瞭解哪種框架最適合2021年。

使用的標準很簡單。該框架需要:

部署到本地區塊鏈

進行快速有效的測試

使用Chainlink將智能合約部署到Kovan Testnet。

第三個標準很重要,因為它使我能夠測試框架如何與其他軟件包交互以及進行集成測試。

從2021年開始,基本上必須使用Oracle和OpenZeppelin等第三方工具,這就是為什麼最後一部分如此重要的原因。

我們將簡要介紹一些您需要瞭解的2021年其他重要工具,但本文不會涉及初學者工具,例如ETH錢包,以太坊客戶端或文本編輯器。

智能合約開發框架

我將推薦三個智能合約開發框架。每種框架略有不同,所以選擇它的原因也不同。他們是:

Hardhat(JavaScript)

Truffle(JavaScript)

Brownie(Python)

讓我們來仔細閱讀一下,瞭解您為什麼要使用它,為什麼它位於列表的頂部,以及其他值得註意的地方。

1.Hardhat

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Hardha

Hardhat是目前最好的框架之一,具有一些最快的測試,最好的教程和最簡單的集成。

老實說,每個喜歡JS框架的人都應該在某個時候嘗試使用Hardhat。

它真的很容易上手,它進行瞭快速的測試,而且入門非常簡單。他們的Discord也一直非常迅速地回答問題,因此,如果遇到問題,您總是可以尋求幫助。他們使用Waffle和Ethers.js進行測試,這可以說是更好的JavaScript智能合約框架,這是由於與web3.js相比,生活質量有瞭一些非常不錯的改進。他們還可以與OpenZeppelin的可升級智能合約插件直接集成,這是一個巨大的勝利。

這個項目給人一種很棒的感覺:幹凈利落、執行您想要的操作,並且真的很快。

該項目正在不斷改進,他們顯然致力於使智能合約開發人員的生活更輕松。

概括:

ETH基金會資助的項目,以前是建築商

技術:Javascript,Web3.js和Ethers.js插件,OpenZeppelin可升級合同插件,Etherscan插件,區塊鏈分叉

區塊鏈:hardhat運行時環境/本地,測試網,主網

有測試

維護:非常活躍

支持:活躍

開市

2.Truffle

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Truffle

Truffle幾年來一直是默認框架,這是有充分理由的。

它是一個強大的框架,為其他許多人樹立瞭標準。您會很容易找到使用此平臺的大多數項目,因此查找示例很容易。

Truffle也可以很容易地與它的姊妹工具Drizzle和Ganache集成在一起。Ganache特別是工程師運行本地區塊鏈的最流行方法之一。對於那些尋求更多工具的人,您可以支付升級後的Truffle團隊帳戶的費用,並可以訪問智能合約的持續集成,可視化部署和監視。他們還可以與OpenZeppelin的可升級智能合約插件直接集成,這是一個巨大的勝利。

他們顯然是一群有才華的工程師,他們想要使世界成為一個更好的智能合約場所。

Truffle測試的運行速度不如安全帽那樣快,並且由於用戶數量眾多,獲得支持可能很困難。自從被ConsenSys收購以來,我很期待看到他們將如何改善這個項目。他們的文檔似乎開始下降,很難遵循,但是如果您通過Google搜索遇到的錯誤,很可能會遇到曾經遇到該錯誤並已解決的人。

我發現改善項目的一些最佳方法是將問題留在他們的GitHub上。無論如何,保持生態系統不斷壯大是我們的開源職責!

由於幾乎每個人都熟悉它,因此獲得同行的支持通常很容易。

我真的希望看到團隊在這個項目上獲得更多支持,因為他們有這麼多用戶。

概括:

使用最廣泛的平臺;最近被ConsenSys收購(2020年11月)

技術:Javascript,Web3.js,OpenZeppelin可升級合同插件,Etherscan插件,區塊鏈分叉

區塊鏈:Ganache /本地,測試網,主網

有測試

維護:非常活躍

支持:活躍

具有付費升級功能的開源

3.Brownie區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Brownie

Brownie受到Truffle的極大啟發,這基本上與Python等效,並增加瞭一些生活質量更改。這個項目大多數Python工程師感受都一樣:他們不喜歡JavaScript。

由於它是用Python編寫的,因此消除瞭使用JavaScript帶來的許多麻煩,並且您獲得瞭使用此奇妙的簡單框架來處理和部署智能合約。

作為一個自己喜歡Python的人,我為這個項目的未來感到非常興奮,隨著采用率的提高,越來越多的項目正在使用Python和此框架來部署他們的智能合約。

如果您來自Python世界,或者想要一個非常簡單,幹凈的框架,毋庸置疑這個將非常適合你。

概括:

最好的Python框架,由Yearn.finance之類的DeFi項目使用。

技術:Python,Web3.py,區塊鏈分叉,Etherscan插件,Vyper支持

區塊鏈:Ganache /本地,測試網,主網

有測試

維護:非常活躍

支持:活躍

開源的

除瞭另外三個頂部的開發框架外,還有一個完整的dApp框架——

Embark,它也是一個區塊鏈平臺。

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Embark

我很驚訝地看到在GitHub(3.1k)上排名前三的框架如此之多。

這個工具有很多鐘聲和口哨聲。我花瞭一些工夫才瞭解瞭個中緣由,這是因為Embark是一個完整的dApp框架。這是一個全棧的區塊鏈平臺。

在Gitter的一些幫助下,我能夠將Chainlink合同部署到Kovan網絡。它帶有一個UI,使您可以在GUI中與區塊鏈和合同進行交互。

我希望看到人們更多地嘗試該框架並看到其功能。由於我在該項目上花費的時間有限,我覺得我可能無法在這裡做到公正。我認為,將前端與後端解耦仍然是最佳做法,但是如果您需要啟動一個具有良好前端的項目並且不關心解耦,那麼您應該100%檢出該項目。

這個項目很酷,如果有人喜歡Hardhat和Truffle,但又想與全棧解決方案集成,這個將會適合這些人。

概括:

具有大量前端開發功能的JavaScript框架

技術:JavaScript,Web3.js,代理合同支持

區塊鏈:Ganache /本地,測試網,主網

有測試

維護:輕度活躍

支持:活躍

開源的

非框架工具

現在,在繼續上述操作之前,我想指出2021年的一些重要非框架工具。

OpenZeppelin和升級插件

Etherscan / Block Explorer驗證程序

create-eth-app

1.OpenZeppelin和升級插件

OpenZeppelin是一個平臺,可為智能合約工程師創建工具以供使用。他們有一些默認設置,例如ERC20和ERC721工具,您可以在其中導入他們的合同並在幾秒鐘內建立一個令牌。

看看用OpenZeppelin制作ERC20有多簡單:

pragma solidity ^0.6.0;import@openzeppelin/contracts/token/ERC20/ERC20.sol”;contract GLDToken is ERC20 {constructor(uint256 initialSupply) public ERC20(“Gold”, “GLD”) {_mint(msg.sender, initialSupply);}}

OpenZeppelin是一個開源項目。它的另一個重要方面是其可升級合同功能。部署一個正在運行的項目意味著您必須部署一個代理合同,該代理合同在您要進行任何更改時都需要更新。這是另一個讓人感到驚奇和幹凈的項目。老實說,每個項目,無論您使用什麼平臺,都應該使用OpenZeppelin在某個時候創建的內容。

2.Etherscan / Block Explorer驗證程序

Etherscan是最受歡迎的區塊瀏覽器。當人們想要簽出您的合同以及您已部署的內容時,除非他們具有ABI和合同地址,否則他們將無法進行檢查。或許找到合同地址通常很容易,但是要獲得ABI卻很困難。

您希望人們能夠輕松地查看您的智能合約並與之互動,因此您必須對其進行驗證,以便其他人能做到這一點。大多數框架都有某種驗證插件,您可以在其中部署智能合約,然後立即在Etherscan上對其進行驗證。確保在您的應用程序中使用它。

3.create-eth-app

擁有大量的後端智能合約是很棒的,但是如果沒有人可以使用您的dApp,那將毫無價值。create-eth-app是一個平臺,允許您使用ReactJS為智能合約增加前端。它使用瞭許多新的React技巧,例如State Hooks,並使構建真正強大的前端變得更加容易。

代替框架

下面介紹一些其他的代替框架,這些框架可能對您有用。他們中的一些確實對將智能合約框架中的內容有一些非常酷的想法,我希望你們能註意到這些很棒的想法。

這些工具可能會花費更多的探索時間。

Waffle(JS)

Dapp.Tools(Haskell / CLI)

SBT(Scala / CLI)

Epirus(Java)

1.Waffle

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Waffle

Waffle本身可以用作部署框架,盡管您必須編寫更多自己的自定義腳本。盡管將其與其他框架進行比較有不及,但它被列為智能合約框架。

Waffle可以與您喜歡的任何框架一起使用,我當前是使用Hardhat的默認工具。

如果您希望框架可以提供所有不錯的功能,就不建議自己單獨使用它,但是如果您想使用更原始,更簡單,可自定義的框架,那麼選擇它就不會有錯。

概括:

輕量級JavaScript框架專註於測試

技術:JavaScript,Ethers.js。

區塊鏈:您所經營的一切

有測試

維護:非常活躍

支持:活躍

開源的

2.Dapp.Tools

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Dapp.Tools

MakerDAO使用瞭Dapp.Tools,這讓我感到驚訝。它是用Haskell編寫的,但支持許多我們喜歡和喜歡的插件,例如OpenZeppelin。

它看起來像一個極簡主義的框架,功能強大到足以執行您想要的操作。能夠令您在使用此平臺部署合同方面獲得幫助,並且對它的簡潔性產生好感。

如果您正在尋找一個對命令行友好的極簡主義框架,那麼我建議您可以試試這個。

概括:

MakerDAO使用的Haskell簡單框架

技術:Haskell / CLI

區塊鏈:本地/ Ganache,測試網,主網

有測試

維護:活躍

支持:活躍

開源的

3.Epirus區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖像來源:Epirus

即使我說的是“松露狀”,Epirus的風格也不是完全像松露狀,而是商業意義上的。

他們有一個開源項目,但有一個付費的升級工具,供那些希望與之合作的人使用。他們使用Java的Web3實施,而且看起來仍處於項目開發的早期階段。我很高興看到他們對Android的支持,因此我很想知道這個項目的進展情況。

由於Java智能合約平臺不多,因此我們可以吸引更多的Java工程師進入該行業。

我無法部署到Kovan,因為它不受支持,但看起來他們已經支持Rinkeby。無論如何,我很高興看到項目進展順利。

概括:

類似於Truffle的Java實現

技術:Java

區塊鏈:Ganache /本地,測試網(不是Kovan)

有測試

維護:活躍

支持:不是很活躍

具有付費升級功能的開源SBT

SBT-以太坊

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

我玩過的更有趣的項目之一,SBT專註於幾乎完全從命令行或與Scala進行的智能合約交互。我的Scala經驗幾乎為零,因此我沒有很好的觀點來評估該平臺。如果您瞭解Scala並尋求加入以太坊,這似乎可能真的很酷。

概括

解決兩個問題的命令行和Scala項目。適用於與智能合約和智能合約工程師一起工作的愛好者。

技術:Scala

區塊鏈:本地/ Ganache,測試網,主網

有測試

維護:輕度活躍

支持:無效

開源的

一些過時的框架

或者您會不時看到這些彈出窗口。

我敢肯定,當它們問世時,它們是很棒的!

但是現在,它們不再受支持或處於非活動狀態。

OpenZeppelin CLI / SDK(JS)

Etherlime(JS)

Parasol(JS)

1.OpenZeppelin SDK 區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:OpenZeppelin SDK

現在,我終於明白瞭為什麼該項目停止為此工作瞭。

作為一個團隊,他們希望專註於可升級智能合約這一棘手的問題。

我能夠部署我的Chainlinked智能合約,並比幾乎任何其他框架更快地讀取ETH的價格。它還具有一些非常不錯的CLI選項,就像Epirus和Hardhat一樣。它還內置瞭可升級的選件,這在很少有平臺可以使用的世界中是巨大的。

我不建議使用此功能,因為他們有意不再支持它,但這是我使用智能合約框架獲得的最佳開發人員經驗之一。我希望使用前三名的技術人員能夠從中汲取靈感,使該項目如此光彩奪目。我在上面說過,每個人都應該使用OpenZeppelin工具是有原因的。

如果他們不停止這項工作,那麼他們的SDK很容易成為前四名的框架。

概括

OpenZeppelin是棄用的智能合約框架。他們不贊成將重點放在升級插件上。

技術:JavaScript,Web3.js和Ethers.js插件,OpenZeppelin可升級合同插件

區塊鏈:本地,測試網,主網

有測試

維護:無效

支持:無效

開源的

2.Etherlime區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖像來源:Etherlime

Etherlime似乎是另一個不受青睞且未積極開展工作的JS框架。它與Infura的過時功能緊密結合,因此我們無法在Kovan上部署智能合約。它看起來這是一個非常強大的項目,而且看起來仍然可以在本地開發中使用,但是我不建議使用它。

概括:

無效的JS框架

技術:JavaScript,Ethers.js

區塊鏈:本地,測試網,主網

有測試

維護:無效

支持:無效

開源的

3.Parasol

區塊鏈研究實驗室 | 2021年頂級區塊鏈開發者框架

圖片來源:Parasol

另一個無效的JS框架(超過兩年未提交),它具有一些很酷的功能。例如Parasol互動和一些集成,而且顯然有一些很聰明的人在從事這項工作,但是我認為沒有理由在任何其他JS框架上使用該平臺。

概括:

無效的JS框架

技術:JavaScript,Web3.js

區塊鏈:本地/ Ganache,測試網,主網

有測試

維護:無效

支持:無效

開源的

智能合約和區塊鏈世界發展迅速。兩年前的一些最熱門工具已經是老新聞瞭,智能合約開發框架也沒有什麼不同。看到Truffle始終處於遊戲的頂端是很酷的事情,但更重要的是,許多項目都采用瞭不同的方法來解決問題。

作者:鏈三豐,來源:區塊鏈研究實驗室



返回列表页>>> 比特幣最新新聞