原文作者:Patrick Collins @Chainlink
原文作者:Patrick Collins @Chainlink
為智能合約、區塊鏈、Web3、Ethereum和Solidity開發者提供全面的工具指南。另外還簡要介紹了Solana、Terra和其他基於Rust智能合約的工具
去年,我研究了一些去年,我研究了一些頂級的智能合約開發者框架
,今年,我們將擴展到更多。
我們將研究十類工具,然後看看每個類別中最適合智能合約/區塊鏈/solidity/vyper/rust/web3開發者的工具(我們現在有太多“區塊鏈開發者”的術語) 。Chainlink我已經在某種程度上使用了這個列表中的每個工具,所以您可以放心,我不是簡單地複制粘貼某個工具列表。先對那些不了解我的人來介紹一下我自己,我生活在智能合約的世界裡,並與行業中一些最優秀的人一起工作,作為項目的開發者倡導者,我自己的區塊鏈基礎設施公司
的首席執行官,以及web3的愛好者。這將為您提供世界上一些最好的開發人員所使用的東西。然而,這個列表並不是所有內容的列表,所以如果我錯過了您的工具,很抱歉!這只是我認為每個開發者都需要注意的問題。所以,讓我們開始吧!
本文包括一下內容:
錢包
錢包
錢包
錢包
Layer 1節點服務
前端工具
幫助和支持
安全分析
安全分析
監測和維護一級標題一級標題
二級標題
二級標題
Solidity
二級標題solidity如果你是智能合約新手,你應該從開始。如果你一直在做智能合約,你可能已經了解solidity。不可否認Solidity是最主要的、最常用的智能合約開發語言。 Solidity適用於大多數智能合約平台,如Ethereum、Avalanche、Moonbeam、Polygon、BSC,等等。這是由於大多數區塊鏈都採用了以太坊虛擬機(EVM),而solidity就是為其而生的。在目前排名前十的Defi項目
二級標題
你也可以把yul/assembly二級標題
Vyper
Vyper二級標題是另一種與EVM兼容的語言,它主要被二級標題Curve.fi二級標題
Rust
Rust二級標題Solana、Terra是區塊上的新生兒,它與不能應用在EVM的區塊鏈,如Ethereum、Polygon、Binance Smart Chain等等。然而Rust可以部署到Polkadot二級標題
二級標題
二級標題
智能合約語言總結
一級標題
Terra, Solana,一級標題
二級標題
二級標題
Chainlink
Chainlink是Chainlink是區塊鏈預言機,它是一個讓智能合約成為混合智能合約DeFipulse的工具,它包括一些鏈外組件,並與現實世界連接。智能合約很好,但它們有一個巨大的問題,就是沒有以任何方式與外部世界相連。要使用一些鏈外組件(如數據或鏈下計算)來保持智能合約去中心化,就必須讓鏈外數據和計算去中心化,而這正是Chainlink網絡和工具的作用。絕大多數頂級智能合約平台都是混合型智能合約,並將預言機作為其基礎設施的關鍵組成部分。只要看看
的前10個項目,就知道哪些是混合型的。資產定價信息、信息、、事件驅動的自動化執行,等等。
,等等。對於任何進入這個領域的智能合約開發者來說,Chainlink是一個必不可少的功能,。
不管是什麼語言或區塊鏈此外,在2020年和2021年,我們看到了無數的閃電貸攻擊、預言機操縱攻擊等二級標題
二級標題
Openzeppelin
Openzeppelin鞏固了自己作為“solidity標準庫”的地位。任何時候,任何開發者(包括我自己)都在尋找一種快速的方法來部署NFT/ERC721、ERC20、可升級合約、DAO/治理二級標題
二級標題
二級標題
智能合約要點總結
必須知道的:Chainlink和Openzeppelin
你可以(而且可能應該)同時使用這兩個東西。以我對這些技術的了解,怎麼強調都不過分。
3. 部署和測試框架去年,我的回顧文章是專門針對這個類別的
,所以今年,我一定要給你說說我認為這些框架在今天的地位的差異。智能合約框架是任何開發者工作中的重要部分。它們幫助你高效地測試和部署智能合約。掌握其中至少一個是成功的關鍵一步。
為了能更直觀的了解,看看我根據defpulse編制的圖表,顯示了一些頂級的defi項目所使用的開發框架。
Defipulse的10大Defi項目以及他們使用的智能合約開發框架此外,我是這樣看待這些開發框架目前的情況的:
明星選手:
Remix, Truffle, Apeworx, Foundry
二級標題
Waffle, sbt-ethereum, web3j, Embark, Saddle
非EVM:
二級標題
Etherlime, Openzeppelin SDK, Cobra, Parasol
二級標題
Hardhat
明星選手hardhat-starter-kit現在,hardhat框架是最主要的智能合約開發框架。 Hardhat是一個基於javascript和solidity的開發框架,可以快速提升你的應用程序的開發速度。你可以查看
,了解一下hardhat項目的使用案例。ethers.js有了Hardhat的測試速度、對typescript的支持、廣泛的採用、令人難以置信的以開發者體驗為中心的團隊,難怪它的受歡迎程度上升得如此之快。在去年的這個時候,我把這個框架放在了首位,現在依然是。它在後端使用,自帶的本地區塊鏈用於測試,而且團隊目前正在建立一個新的高級開發平台
,集成到Hardhat中,我對2022年裡的這個嘗試感到無比興奮。如果你了解我,由於javascript的種種怪異之處
,我並不是它的最大粉絲,所以很多時候,我更喜歡用Hardhat與typecript一起使用。 Hardhat很容易成為我第二個最常用的框架。
Brownie
如果你讀過我的任何其他材料,你就會知道我愛上了brownie框架。
等協議使用。它同時支持solidity和vyper,但這個框架的主要亮點是基於python。 Brownie的誕生是因為許多python工程師鄙視使用javascript工作,並希望有一個python的框架。此外,大多數傳統的金融技術領域都使用python而不是javascript,因此,隨著Brownie的創建,從金融技術領域轉移到Defi也變得更加容易。brownie-starter-kitBrownie是我創建新項目時的首選框架,我自稱是brownie開發者的倡導者。你可以查看Brownie Mixes雖然
沒有
DappTools
雖然Dapptools沒有沒有,但它是一個用Haskell構建的應用程序。不過別擔心,你不需要知道Haskell就可以使用它。
Dapptools主要由MakerDAODapptools主要由Unix團隊(DAI背後的團隊)使用,它的靈感來自於
的哲學:“一個程序只做一件事,並把它做好。(Write programs that do one thing, and do it well.)” Dapptools是一個專注於命令行的工具,在這裡,你可以使用你已經熟悉的命令行/shell工具,如bash或zsh,而不是用python、javascript或其他高級編程語言來幫助你開發。這有效地減少了一個你必須熟悉的技術,並迫使你在shell腳本方面做得更好!它配備了一套工具,如dapp、seth、ethsign和hevm,每一個工具都是專門為智能合約開發者日常工作的必須的部分而設計的。我最近開始用Dapptools工作,我喜歡它背後的思維方式。我寫了一個Dapptools的入門套件makefiles,展示如何使用該工具。使用Dapptools,需要會使用fuzzing和shell腳本來“生產(productionize )”你的代碼。 Dapptools認為測試應該用solidity來寫,而
應該是內置的。
二級標題@transmissions11二級標題
二級標題
Remix
優秀選手Remix我對Remix的簡要評價:每個人都應該知道如何使用
,但不一定用於生產環境。IDERemix本身不是一個框架,而更像是一個
。 Remix是一個我認為每個人在開始時候都應該使用的工具,這樣每個人在嘗試分享想法時都可以有一個共同認知。不是每個人都會知道python、javascript或bash腳本的連接,所以使用像Remix這樣的工具是完美的,因為它是一個可視化的工具。當部署完一個合約時,Remix就會出現與之交互的按鈕。選擇solidity版本、編譯、運行solidity測試等都很容易。如果你想使用javascript,它也有javascript腳本可供選擇。 Remix是可擴展的,所以如果你想增加功能,你可去進行擴展,甚至可以在本地主機上搭建一個Remix開發環境
,用來運行你本地倉庫中的代碼。
Remix是一個把大家聚集在一起的工具,我很高興我們有一個團隊在做這樣一個神奇的工具來幫助大家。不過,Remix並不是我推薦高級用戶使用的東西,因為你需要在本地開發環境中使用更多微調的工具,而不是總是依賴網絡IDE。我不推薦對Remix進行高級設置,但是,如果你喜歡用它工作,也是可以的!
Truffle
Truffle我強烈建議大家熟悉Remix(如果你知道solidity,就可以直接上手了)。Consensys是最先出現的框架之一,最初是Ganache的一部分,從Consensys剝離出來,然後又合併回Consensys。它是一個基於javascript的框架,包含了Drizzle(甚至像brownie這樣的框架也使用它)、truffle teams和現在最新的,正在推出。
文檔文檔,正在推出第七版的Ganache第七版的Ganache
,我和他們的團隊談過,他們告訴我他們有很大的計劃,我很興奮。Hardhat慢得多。目前,當Hardhat在所有方面都做得更好時,就很難為Truffle辯護了。
在2021年年初,我在2021年年初,我提到過
我對Truffle感到緊張,以我對該框架的了解,看起來2021年是Hardhat接管的一年。然而,我認為Truffle的未來仍然是光明的。他們有一個非常棒的團隊,他們已經想好了Truffle將在哪裡生存(現在有Consensys),我期待他們在2022年有大作為。
ApeWorX
ApeWorXGanache 是一個框架,如果你是從Truffle開始接觸智能合約開發框架,並且喜歡Truffle的語法,你應該使用這個框架。在大多數情況下,我推薦Hardhat而不是Truffle;然而,我認為Ganache仍然是一個強大的工具,並建議任何希望與在本地構建測試網的人看一下Ganache。它有一個漂亮的用戶界面組件,可以用它來更容易地“看到”交易;它的啟動很簡單,可以在全局安裝。brownie是Python的新生力量,它從brownie社區分支出來,做了一個比它的祖先
更模塊化的專注金融的框架。
Apeworx的設置和語法與brownie相同,但在應用時有一些有趣的改進。Doggie我只用過Apeworx一點,它感覺非常像brownie,我喜歡增加插件。目前還不清楚這是否會成為Brownie的續集(類似於Hardhat接管Truffle的心智),或者兩者是否會並行存在。無論如何,我非常期待看到
Foundry
Foundry和他的團隊將在2022年創造些什麼,而且絕對是一個值得關注的框架,如果你想要一些可以添加插件的類似brownie的框架,可以嘗試一下。dapptools是用Rust編寫的
。這是對該工具最直接的總結。Paradigm我使用foundry的時間比使用Dapptools的時間少一點,感覺這可能是Dapptools的繼任者,但我不確定。它也是以命令行為主,需要類似的文件結構,而且幾乎所有來自Dapptools的命令都與foundry的類似。Georgios團隊的發布文章中向Dapptools致敬。
二級標題
二級標題
二級標題
是
Waffle
Saddle
sbt-ethereum
對Truffle的重塑。如果你喜歡Compound,可以試試這個!sbt-ethereum在過去的幾年裡,我沒怎麼用過java,這在我試用
的時候表現出來了。 Sbt-ethereum將自己推銷為:sbt-ethereum.io
“一個基於文本的互動平台,為“業餘愛好者” — 不是程序員的人創立* — *
Web3j/Epirus
這是我去年了解過的另一個框架,遺憾的是我的scala技能並不好。然而如果你想使用命令行,這是另一個選擇。web3j這是我去年了解過的另一個框架;看看他們的網站,似乎他們的主要產品已經從框架轉向了企業區塊瀏覽器。然而,他們仍然有他們的
Embark
非EVM
Anchor
非EVMAnchor就目前而言,我認為Anchor框架是目前Solana上最大的非EVM框架。如果你在Solana上做開發,我強烈建議你試試
TerraSDK
Terra,因為它感覺是目前最好的解決方案。Terra.js一級標題python SDK一級標題
二級標題
二級標題
MetaMask
熱錢包熱錢包二級標題
Gnosis Safe
Gnosis safe二級標題
和Snapshot。
Ledger / Trezor
一級標題
二級標題
二級標題
Etherscan
啊,Etherscan和Polygon、ETH 2和Binance Smart Chain二級標題
Etherchain
二級標題Etherchain二級標題ETH 2 二級標題
Ethplorer
二級標題Ethplorer一級標題
一級標題
二級標題
二級標題
Alchemy
Alchemy二級標題
Infura
Infura二級標題
Moralis
我甚至不知道Moralis二級標題
QuickNode
或QuickNode一級標題
7. 前端工具
和
Web3js/Ethersjs
Moralis
;也許你需要一個地址擁有的NFT列表。有很多你可能想做的事情,Moralis都有內置的支持。
二級標題模板二級標題
UseDapp
Usedapp二級標題
Drizzle
更多工具
和create-eth-app和scaffold-eth一級標題
一級標題
8. 獲取幫助和支持每個開發者都應該知道在他們遇到問題時獲得幫助的。
1.谷歌一下確切的錯誤
2.在StackOverflow或Stack Exchange ETH(或任何Stack Exchange)上查找
2.在StackOverflow或Stack Exchange ETH(或任何Stack Exchange)上查找
3.在項目的Github上提出一個issue
4.在論壇上提出問題
5.在Discord 中提問
在這些地方提問時,你的問題應該是:
1.可搜索:這樣其他有同樣問題的人就能找到你的問題。
2.最小化和可重複性:你的用途越具體,你就越不可能得到答案。二級標題二級標題
StackOverflow & Stack Exchange ETH
二級標題
二級標題
二級標題
Discord
二級標題Discord二級標題
二級標題
論壇一級標題一級標題
9. 安全分析工具
二級標題
二級標題
Slither
Slither二級標題正在成為二級標題Trail of Bits二級標題
MythX
MythX二級標題
Mythril
Mythril二級標題
Manticore
Echidna
Securify
Securify一級標題
一級標題
總結
總結
總結
這是我迄今為止最大的一篇文章,它包含了一個龐大的工具清單。我知道有很多,但是你在這個領域建立的越多,你就越能意識到這些工具中的每一個對於快速建立應用程序是多麼重要。
2022年將是瘋狂的一年,我希望我已經給了你一些想法,讓你知道今年應該嘗試什麼,以建立你的驚人的、獨特的、鼓舞人心的web3應用程序。
讓我知道你認為我錯過了什麼工具,請在評論部分告訴我!祝你在新的一年裡過得愉快!讓我們把它搞個大的!如果你想在今年開始你的區塊鏈之旅,請查看如何成為一名區塊鏈工程師,以及這份有。