原文鏈接:Top10SmartContractDeveloperToolsYouNeedfor2022
作者:PatrickCollins@Chainlink
翻譯:團長
原標題:《2022十大智能合約開發工具》
去年,我研究了一些頂級的智能合約開發者框架,今年,我們將擴展到更多。
我們將研究十類工具,然后看看每個類別中最適合智能合約/區塊鏈/solidity/vyper/rust/web3開發者的工具。
我已經在某種程度上使用了這個列表中的每個工具,所以您可以放心,我不是簡單地復制粘貼某個工具列表。先對那些不了解我的人來介紹一下我自己,我生活在智能合約的世界里,并與行業中一些最優秀的人一起工作,作為Chainlink項目的開發者倡導者,我自己的區塊鏈基礎設施公司的首席執行官,以及web3的愛好者。這將為您提供世界上一些最好的開發人員所使用的東西。然而,這個列表并不是所有內容的列表,所以如果我錯過了您的工具,很抱歉!這只是我認為每個開發者都需要注意的問題。所以,讓我們開始吧!
本文包括一下內容:
·智能合約指南
·智能合約要點
·部署和測試框架
·錢包
·區塊資源管理器
·Layer1節點服務
·前端工具
·幫助和支持
·安全分析
·監測和維護
另外,我們制作了一個關于這個主題的視頻?,如果你更喜歡看視頻的話可以出去看一下
1.智能合約語言
編程語言是任何智能合約開發者最基本的部分,也是如何編寫智能合約的關鍵!我們可以從以下幾種語言中選擇一種,然后開始開發。
Solidity
如果你是智能合約新手,你應該從solidity開始。如果你一直在做智能合約,你可能已經了解solidity。不可否認Solidity是最主要的、最常用的智能合約開發語言。Solidity適用于大多數智能合約平臺,如Ethereum、Avalanche、Moonbeam、Polygon、BSC,等等。這是由于大多數區塊鏈都采用了以太坊虛擬機,而solidity就是為其而生的。在目前排名前十的Defi項目中,有九個使用solidity作為他們的主要編程語言。
我預測未來會有90%的智能合約價值是用solidity完成的。Solidity語言的維護積極,并且有大量的支持。
你也可以把yul/assembly限定為另一種語言,但它是和solidity一起使用的,所以我不把它算作自己的語言。
Vyper
Vyper是另一種與EVM兼容的語言,它主要被前10個Defi項目中的一個使用,即Curve.fi。Vyper是一種基于python的語言,我很喜歡使用。它的應用不如它的EVM兄弟solidity多;但是,如果你喜歡python,你可能想嘗試一下這種語言,而不是solidity。
Rust
Rust是區塊上的新生兒,它與不能應用在EVM的區塊鏈,如Ethereum、Polygon、BinanceSmartChain等等。然而Rust可以部署到Solana、Terra等鏈上,或者在Polkadot構建區塊鏈應用。Rust是一種性能良好的通用語言,甚至在智能合約之外使用;因此,許多公鏈選擇它做完開發語言。其邏輯是,“哦,好吧,一些開發人員已經掌握了Rust,所以我們不妨讓開發者能在盡量多的地方使用Rust。”
如果你想進入這些新興的區塊鏈,Rust是一個靠譜的選擇。如果讓我猜,我會說Rust涵蓋了目前世界上鎖定在智能合約中的大約5%的價值……但這完全是猜測。
智能合約語言總結
·必須知道的:Solidity
·Python愛好者:Vyper
·Terra,Solana,Polkadot:Rust等
2.智能合約必備工具
數據:Milady開發者將LADYS前3大持有者加入黑名單:5月11日消息,據 Lookonchain 監測,Milady 開發者將 LADYS 的前 3 大持有者添加到黑名單中,除黑名單和開發者地址之外,前 2 位持有者似乎都屬于 DWF Labs,目前持有 30.6 萬億枚 LADYS(約 190 萬美元)。[2023/5/11 14:56:59]
這一部分我們討論智能合約中使用到的工具。你不必在這些工具中做出唯一的選擇。如果你愿意,你可以使用所有這些工具!我不確定如何對這些進行分類,但我認為“essentials”是一個合適的描述,因為……嗯,它們是必備的。
Chainlink
Chainlink是區塊鏈預言機,它是一個讓智能合約成為混合智能合約的工具,它包括一些鏈外組件,并與現實世界連接。智能合約很好,但它們有一個巨大的問題,就是沒有以任何方式與外部世界相連。要使用一些鏈外組件來保持智能合約去中心化,就必須讓鏈外數據和計算去中心化,而這正是Chainlink網絡和工具的作用。絕大多數頂級智能合約平臺都是混合型智能合約,并將預言機作為其基礎設施的關鍵組成部分。只要看看DeFipulse的前10個項目,就知道哪些是混合型的。
Asterik的解釋*:Uniswap有一個預言機產品。Yearn和Instadapp是聚合器,與使用預言機的協議合作/是混合型的。Sushiswap使用預言機進行杠桿交易。可以看到,至少有50%的項目將預言機作為基礎設施的重要部分,另外30%以某種方式使用預言機。通過預言機可以獲得資產定價信息、隨機數、事件驅動的自動化執行,等等。
對于任何進入這個領域的智能合約開發者來說,Chainlink是一個必不可少的功能,不管是什么語言或區塊鏈。
此外,在2020年和2021年,我們看到了無數的閃電貸攻擊、預言機操縱攻擊等黑客行為,在Defi領域造成了近數十億美元的損失。最令人痛心的是,其中一半以上是可以通過使用像Chainlink這樣可靠的預言機來預防的。請一定不要讓你或你的朋友在2022年使用中心化或不安全的預言機。
請使用像Chainlink這樣的安全預言機解決方案。我們不能讓“哎呀,使用中心化預言機,讓我的用戶損失了1億美元”的情形在2022年繼續上演。因此,請熟悉Chainlink,制作強大的、健壯的應用程序,并保護自己免受預言機攻擊。
Openzeppelin
Openzeppelin鞏固了自己作為“solidity標準庫”的地位。任何時候,任何開發者都在尋找一種快速的方法來部署NFT/ERC721、ERC20、可升級合約、DAO/治理,或者任何在這個領域的開發者想做的項目,十有八九,你會想去找一個Openzeppelin包。
Openzeppelin是一套已經寫好的智能合約,所以你不需要重新發明輪子。我在項目中使用他們已經審計過的可擴展智能合約,為我節省了無數的時間。我無法強調Openzeppelin是多么的重要。我想在我大約80%的教程中,我都在以某種方式使用Openzeppelin。
智能合約要點總結
必須知道的:Chainlink和Openzeppelin
你可以同時使用這兩個東西。以我對這些技術的了解,怎么強調都不過分。
3.部署和測試框架
去年,我的回顧文章是專門針對這個類別的,所以今年,我一定要給你說說我認為這些框架在今天的地位的差異。智能合約框架是任何開發者工作中的重要部分。它們幫助你高效地測試和部署智能合約。掌握其中至少一個是成功的關鍵一步。
為了能更直觀的了解,看看我根據defpulse編制的圖表,顯示了一些頂級的defi項目所使用的開發框架。
Defipulse的10大Defi項目以及他們使用的智能合約開發框架此外,我是這樣看待這些開發框架目前的情況的:
明星選手:
Hardhat,?Brownie,?DappTools
2019年三季度至今,以太坊每月開發者數量都超過比特幣:據最新數據顯示,自 2019 年三季度以來,以太坊每月都會增加 300 多名開發者,增長速度甚至超過了比特幣。這意味著以太坊目前已經得到更多開發者的認可,而且正在以令人難以置信的速度吸納全球各地的人才。此外,在排名前100位的加密項目中,有94個是建立在以太坊區塊鏈上的。現階段,以太坊區塊鏈上已經擁有超過 3000 個去中心化應用程序(dApp)和超過 20 萬 ERC-20 通證。另外值得關注的是,以太坊區塊鏈上發行的穩定幣數量也在增加,本文撰寫時以太坊上的穩定幣總發行量已經達到744億美元,創下歷史新高,其中USDT 市值為620億美元、USDC 市值為250億美元、DAI 市值為50億美元、TUSD 市值為15億美元。比較值得關注的是 USDC,在短短一年時間里,USDC 市值已經從 40 億美元飆升到 250 億美元,而且支付巨頭 Visa 很快也將接受以 USDC 結算的交易。[2021/7/12 0:45:55]
優秀選手:
Remix,?Truffle,?Apeworx,?Foundry
替補選手:
Waffle,?sbt-ethereum,?web3j,?Embark,?Saddle
非EVM:
Anchor,?TerraSDK
過時的:
Etherlime,OpenzeppelinSDK,Cobra,Parasol
明星選手
Hardhat
現在,hardhat框架是最主要的智能合約開發框架。Hardhat是一個基于javascript和solidity的開發框架,可以快速提升你的應用程序的開發速度。你可以查看hardhat-starter-kit,了解一下hardhat項目的使用案例。
有了Hardhat的測試速度、對typescript的支持、廣泛的采用、令人難以置信的以開發者體驗為中心的團隊,難怪它的受歡迎程度上升得如此之快。在去年的這個時候,我把這個框架放在了首位,現在依然是。它在后端使用ethers.js,自帶的本地區塊鏈用于測試,而且團隊目前正在建立一個新的高級開發平臺,集成到Hardhat中,我對2022年里的這個嘗試感到無比興奮。
如果你了解我,由于javascript的種種怪異之處,我并不是它的最大粉絲,所以很多時候,我更喜歡用Hardhat與typecript一起使用。Hardhat很容易成為我第二個最常用的框架。
如果你喜歡javascript,或者你想使用最流行的、支持最多的框架,我強烈推薦這個框架。
Brownie
如果你讀過我的任何其他材料,你就會知道我愛上了brownie框架。
Brownie是一個開源的基于python的框架,建立在web3.py之上,被Curve.fi、yearn.finance和Badger等協議使用。它同時支持solidity和vyper,但這個框架的主要亮點是基于python。Brownie的誕生是因為許多python工程師鄙視使用javascript工作,并希望有一個python的框架。此外,大多數傳統的金融技術領域都使用python而不是javascript,因此,隨著Brownie的創建,從金融技術領域轉移到Defi也變得更加容易。
Brownie是我創建新項目時的首選框架,我自稱是brownie開發者的倡導者。你可以查看brownie-starter-kit,開始使用框架開發。請務必查看BrownieMixes?repo中的其他入門套件的列表。
如果你喜歡python,想使用一個更直接的框架或使用我最喜歡的框架,我強烈推薦這個框架。
DappTools
動態 | 比特幣開發者Peter Todd為稀缺性原則辯護:ZCash支持者Andrew Miller最近表示,加密貨幣稀缺性在市場上并不真正相關,這是一個“笑話”。比特幣開發者Peter Todd回應稱,“有意思的是,Miller在參與Zcash時,竟然推出比特幣稀缺性是一個笑話的荒謬說法:一種由單個團隊運營的加密貨幣,直接由即將到期的開發稅(Dev Tax)提供資金。果然,Zcash正在討論打破稀缺性以保持稅收。”Todd還為稀缺性原則辯護,并表示集體稀缺性價值主要由擁有完全驗證加密貨幣能力的用戶來保護,這意味著運行全節點軟件很容易,其他開發人員很難更改軟件。相反,他說,ZCashs的全部節點都有強制的基于時間的切換,強制更新其主網。(AMBCrypto)[2019/7/21]
雖然Dapptools沒有華麗的logo,但它是一個用Haskell構建的應用程序。不過別擔心,你不需要知道Haskell就可以使用它。
Dapptools主要由MakerDAO團隊使用,它的靈感來自于Unix的哲學:“一個程序只做一件事,并把它做好。”Dapptools是一個專注于命令行的工具,在這里,你可以使用你已經熟悉的命令行/shell工具,如bash或zsh,而不是用python、javascript或其他高級編程語言來幫助你開發。這有效地減少了一個你必須熟悉的技術,并迫使你在shell腳本方面做得更好!它配備了一套工具,如dapp、seth、ethsign和hevm,每一個工具都是專門為智能合約開發者日常工作的必須的部分而設計的。
我最近開始用Dapptools工作,我喜歡它背后的思維方式。我寫了一個Dapptools的入門套件,展示如何使用該工具。使用Dapptools,需要會使用makefiles和shell腳本來“生產”你的代碼。Dapptools認為測試應該用solidity來寫,而fuzzing應該是內置的。
我使用它的經驗是有點笨拙,但我覺得這很大程度上來自于我平庸的bash腳本技能。我認為每個人都應該更好地使用shell腳本,我喜歡它迫使我去學習。
如果你不想學習另一種語言如javascript或python,你喜歡在你的設置中使用盡可能少的工具,你喜歡MakerDAO,或者@transmissions11讓你改變了看法,我強烈推薦這個框架。
優秀選手
Remix
我對Remix的簡要評價:每個人都應該知道如何使用Remix,但不一定用于生產環境。
Remix本身不是一個框架,而更像是一個IDE。Remix是一個我認為每個人在開始時候都應該使用的工具,這樣每個人在嘗試分享想法時都可以有一個共同認知。不是每個人都會知道python、javascript或bash腳本的連接,所以使用像Remix這樣的工具是完美的,因為它是一個可視化的工具。
當部署完一個合約時,Remix就會出現與之交互的按鈕。選擇solidity版本、編譯、運行solidity測試等都很容易。如果你想使用javascript,它也有javascript腳本可供選擇。Remix是可擴展的,所以如果你想增加功能,你可去進行擴展,甚至可以在本地主機上搭建一個Remix開發環境,用來運行你本地倉庫中的代碼。
Remix是一個把大家聚集在一起的工具,我很高興我們有一個團隊在做這樣一個神奇的工具來幫助大家。不過,Remix并不是我推薦高級用戶使用的東西,因為你需要在本地開發環境中使用更多微調的工具,而不是總是依賴網絡IDE。我不推薦對Remix進行高級設置,但是,如果你喜歡用它工作,也是可以的!
我強烈建議大家熟悉Remix。
Truffle
Truffle是最先出現的框架之一,最初是Consensys的一部分,從Consensys剝離出來,然后又合并回Consensys。它是一個基于javascript的框架,包含了Ganache、Drizzle和現在最新的truffleteams等工具。Truffle是所有框架中歷史影響最大的,你可以看到他們對行業的影響,很多框架都采用了Truffle的實踐做法。我們應該感到幸運,這個團隊的出現,為框架建立了如此優秀的起點。如果你想嘗試一下,可以看一下Truffle的入門套件。
他們最近更新了文檔,正在推出第七版的Ganache,我和他們的團隊談過,他們告訴我他們有很大的計劃,我很興奮。
聲音 | 韋氏評級:ETH和EOS都擁有比TRON更大、更多產的開發者社區:孫宇晨近日表示,為了“拯救”ETH和EOS開發商的平臺“崩潰”,TRON將為所有帶著DApp遷移到其平臺的ETH和EOS開發商設立一個“拯救基金”。對此,韋氏評級(Weiss Ratings)發布推文稱:“給孫宇晨的備忘錄,ETH和EOS都擁有比TRON更大、更多產的開發者社區,我們認為他們幾乎沒有理由遷移。”[2018/12/14]
早在2019年,每個人都聽說過或正在使用Truffle,但在那之后的時間里,情況已經發生了變化。Hardhat一直處于上升勢頭,以鞏固自己作為事實上的javascript框架的地位。在使用Truffle時,我經常遇到奇怪的錯誤;他們的typescript支持很微妙,測試運行速度比Hardhat慢得多。目前,當Hardhat在所有方面都做得更好時,就很難為Truffle辯護了。
在2021年年初,我提到過我對Truffle感到緊張,以我對該框架的了解,看起來2021年是Hardhat接管的一年。然而,我認為Truffle的未來仍然是光明的。他們有一個非常棒的團隊,他們已經想好了Truffle將在哪里生存,我期待他們在2022年有大作為。
Ganache是一個框架,如果你是從Truffle開始接觸智能合約開發框架,并且喜歡Truffle的語法,你應該使用這個框架。在大多數情況下,我推薦Hardhat而不是Truffle;然而,我認為Ganache仍然是一個強大的工具,并建議任何希望與在本地構建測試網的人看一下Ganache。它有一個漂亮的用戶界面組件,可以用它來更容易地“看到”交易;它的啟動很簡單,可以在全局安裝。
ApeWorX
ApeWorX是Python的新生力量,它從brownie社區分支出來,做了一個比它的祖先brownie更模塊化的專注金融的框架。
Apeworx的設置和語法與brownie相同,但在應用時有一些有趣的改進。
我只用過Apeworx一點,它感覺非常像brownie,我喜歡增加插件。目前還不清楚這是否會成為Brownie的續集,或者兩者是否會并行存在。無論如何,我非常期待看到Doggie和他的團隊將在2022年創造些什么,而且絕對是一個值得關注的框架,如果你想要一些可以添加插件的類似brownie的框架,可以嘗試一下。
Foundry
Foundry是用Rust編寫的dapptools。這是對該工具最直接的總結。
我使用foundry的時間比使用Dapptools的時間少一點,感覺這可能是Dapptools的繼任者,但我不確定。它也是以命令行為主,需要類似的文件結構,而且幾乎所有來自Dapptools的命令都與foundry的類似。Paradigm團隊的Georgios和朋友們對流行的Dapptools進行了重塑,甚至在他們的發布文章中向Dapptools致敬。
許多命令和文件結構設置與Dapptools相同。這個框架快速、強大,專注于在solidity中構建測試,并內置了模糊測試和其他強大的工具。
Rust正在成為越來越多的最受歡迎的技術之一,為區塊鏈應用程序的基礎設施提供動力,而這感覺就像它符合這一趨勢一樣。我很期待看到哪些大公司同時采用foundry和Dapptools。
替補選手
我在這一節會說得快一點,因為這些可能是你想使用的框架,但我對它們不太熟悉,或者我自己沒有很好地嘗試它們。
Waffle
Waffle仍然是一個流行的框架,只是它更注重于測試而不是一整套工具。可以將Waffle與Hardhat一起使用,因為它們都是基于javascript的,而且很多人都使用這種組合設置。
Saddle
Saddle是Compound對Truffle的重塑。如果你喜歡Compound,可以試試這個!
sbt-ethereum
聲音 | Martti Malmi:中本聰既是經濟學家,也是技術開發者: 中本聰團隊傳奇人物Martti Malmi (aka Sirius)在“中本聰團隊中國見面會”專場上提到中本聰,Martti表示,中本聰既是經濟學家,也是技術開發者,但他更多傾向于經濟學家以及學術的思考,他還會做很多寫代碼的工作,也許不是專業寫代碼的人,但是也是具有非常高的專業技能。[2018/6/29]
在過去的幾年里,我沒怎么用過java,這在我試用sbt-ethereum的時候表現出來了。Sbt-ethereum將自己推銷為:
“一個基于文本的互動平臺,為“業余愛好者”—不是程序員的人創立*—*sbt-ethereum.io
這是我去年了解過的另一個框架,遺憾的是我的scala技能并不好。然而如果你想使用命令行,這是另一個選擇。
Web3j/Epirus
這是我去年了解過的另一個框架;看看他們的網站,似乎他們的主要產品已經從框架轉向了企業區塊瀏覽器。然而,他們仍然有他們的web3j包,這是一個基于java的框架。如果你是java開發者,可以試試這個,看看它的感覺如何。
Embark
Embark我去年給了一個相當亮眼的評價。我能夠從他們的框架中測試和部署智能合約,并使用一些UI工具。然而,它已經一年多沒有收到git提交了,而且從那時起,智能合約生態系統中的一些事情已經發生了變化,所以我不確定這對這個框架的未來意味著什么。
非EVM
Anchor
就目前而言,我認為Anchor框架是目前Solana上最大的非EVM框架。如果你在Solana上做開發,我強烈建議你試試Anchor,因為它感覺是目前最好的解決方案。
TerraSDK
Terra是另一個基于rust的智能合約區塊鏈構建SDK/開發框架。他們現在有Terra.js和一個pythonSDK,可以用它們開始構建應用。這是另一個我沒有花很多時間的框架,但我計劃在今年多用一些。
4.錢包
部署智能合約,需要一個錢包來存儲資金或至少是測試網的資金。出于各種目的,下面這些錢包會經常用到。
MetaMask
Metamask是這個領域中幾乎每個人都知道或應該知道的一個工具。它很簡單,很適合在瀏覽器中做測試,是所有前端開發者需要做的。幾乎每個人都應該有一個Metamask或一些類似Metamask的瀏覽器錢包。
Metamask是一個熱錢包,很容易上手。熱錢包的問題是,一旦你的私鑰泄露,你就完蛋了!此外,它們總是連接到互聯網上,所以如果有人進入你的電腦,你可能也會完蛋!幸運的是,有一些有用的其他工具供我們使用。
GnosisSafe
Gnosissafe被稱為多簽錢包,意味著它需要X個簽名來發送交易。這樣一來,如果一個錢包被攻破,也沒有關系,因為該攻擊者至少需要攻破一半的密鑰持有者。
這對智能合約開發者來說是一個有力的工具,特別是那些處理大量資金并希望確保其資產安全的人。很多DAO也使用Gnosissafe來存儲他們的資金庫。此外,gnosissafe還與許多其他DAO工具集成,如用于投票的Snapshot。
Ledger/Trezor
Ledger和Trezor被稱為“冷錢包”,或者說是在進行轉換時比較麻煩的錢包。這種繁瑣是故意的;它們使你更難移動資金,攻擊者更難。
你可以在項目中使用冷錢包、熱錢包和多簽錢包任何組合,而且也應該這樣做!對于你需要經常/快速訪問和移動的小額資金,使用熱存儲;對于你長期不想碰的東西,使用冷存儲;對于你希望保護的重大資金,使用多簽。甚至可以把冷錢包作為一個多簽的密鑰之一。
5.區塊鏈瀏覽器
對于想要“看到”交易和鏈上正在發生的事情的人來說,區塊瀏覽器是重要的工具。如果你有Layer1的網絡連接,你也可以建立一個這樣的工具,但99%的時候,你會想使用別人的。
Etherscan
啊,Etherscan,你怎么會是免費的。Etherscan是我希望每個人都能知道并了解如何使用的工具之一。我很想看到他們開源,但我明白這不會是一個讓他們一直保持令人印象深刻的狀態的很好的激勵措施。Etherscan內置了大多數服務,而且非常好用。Etherscan是ETH社區最主要的區塊瀏覽器,他們已經為Polygon、ETH2和BinanceSmartChain等項目建立了支持。
Etherchain
然而,我很高興他們有競爭,所以他們必須保持警惕!Etherchain是一個輕量級的區塊瀏覽器,它也發布了一個ETH2?瀏覽器,目前我使用的比Etherscan更多!
Ethplorer
另一個ETH區塊瀏覽器,Ethplorer,可能是另一個你可能想要知道的瀏覽器。
大多數其他區塊鏈也有多個區塊瀏覽器客戶端;然而,EVM/ETH社區很快就擁有了最多的客戶端,因此我選擇在這里重點介紹它們。
6.Layer1節點服務
你需要接入一個區塊鏈來發送交易!如果你擔心成本問題,所有這些都有免費的選項,我強烈建議你嘗試一下,但你也可以隨時自己運行自己的第一層網絡節點!對于那些不熟悉的人來說,“第一層網絡節點”指的是你的區塊鏈連接。例如,要在ETH鏈上發送交易,你需要將交易發送到一個ETH節點。即使是Metamask和錢包也有一個連接到后臺運行的第一層網絡節點!
Alchemy
Alchemy非常棒,是我進行ETH連接和所有EVM連接的首選。它的速度很快,有一個漂亮的用戶界面來跟蹤請求,有大量的可用的第一層網絡。他們的反應速度驚人,有很好的支持和開發者倡導團隊,我對他們在2022年的發展感到非常興奮。
Infura
Infura是另一個在2020年占主導地位的應用,而且可能仍然是。他們已經擴展到更多的產品,如IPFS,有一批堅實的追隨者,許多工具與Infura原生支持。如果你正在尋找一個可靠的第一層網絡接入,這就是你要找的。
Moralis
我甚至不知道Moralis有第一層網絡接入產品,直到幾個月前我才知道,我已經用過幾次了,它非常好用!它沒有Infura或Alchemy那樣的附加功能,但我認為這是因為Moralis的附加值更多體現在他們的前端服務上。但我認為,對于任何想使用這些工具的人來說,Moralis仍然是一個很好的選擇。
QuickNode
如果上面的一個沒有我想要的區塊鏈,QuickNode有可能會有。QuickNode擁有大量可以連接的節點,并且設置簡單,是另一個可能適合你的服務。
7.前端工具
對于構建全棧應用程序/前端,你可能仍然會使用所有的一些標準工具,如javascript、HTML、CSS,也許還有一個框架,如react、angular或svelte。除此以外,還有一些奇妙的工具將使你的前端開發生活變得更加美好。
Web3js/Ethersjs
Web3js和Ethersjs是世界上使用的兩個主要的javascript框架,它們都是非常出色的前端開發庫。如果你要建立一個網站,你幾乎必須使用這些工具中的一個,而且它們都做得很出色。最近,趨勢是Ethersjs更受歡迎;但其實它們都能完成一樣的工作。
Moralis
Moralis是一個我認為每個人都應該了解的工具。它支持開箱即用的web3js,并有大量的工具來改善你的前端開發。它被宣傳為“加密貨幣的軍火基地”,我認為它正是這樣做的。也許你想要一個數據庫來使你的前端更快;也許你想建立一個Etherscan或Opensea;也許你需要一個地址擁有的NFT列表。有很多你可能想做的事情,Moralis都有內置的支持。
它擁有你所需要的一切,包括一個開源的工具包和一個基于云的服務框架。
我強烈建議每個在2022年建立web3網站的人了解Moralis。他們有很多模板可以讓你的項目開始。
UseDapp
Usedapp是另一個開源項目,它有很多用于web3的插件,我在一些項目中使用過它,并且很喜歡。
Drizzle
Drizzle來自Truffle、Metamask、Infura和Consensys的家族,做得很好。它在你的javascript中創建了一些簡單的包裝器,與你的合約一起工作,它還內置了React支持!請看Dapp大學關于使用Drizzle的視頻。
更多工具
此外,我認為每個人都應該了解create-eth-app和scaffold-eth。確切地說,它們不是“工具”,而是構建web3應用程序/dapp的入門套件,所以我認為每個人都應該了解。
8.獲取幫助和支持
每個開發者都應該知道在他們遇到問題時獲得幫助的基本路線圖。
1.谷歌一下確切的錯誤
2.在StackOverflow或StackExchangeETH上查找
3.在項目的Github上提出一個issue
4.在論壇上提出問題
5.在Discord中提問
在這些地方提問時,你的問題應該是:
1.可搜索:這樣其他有同樣問題的人就能找到你的問題。
2.最小化和可重復性:你的用途越具體,你就越不可能得到答案。
你要把在論壇或stackoverflow中的提問視為“活的文檔”。你的問題格式越好,就越容易得到回答。沒有不好的問題,只有格式不好的問題;讓你的問題成為一個好問題吧!
StackOverflow?&?StackExchangeETH
這是你的經驗法則:“如果我遇到一個問題,而它的答案沒有出現在谷歌結果的第一頁,我應該把它發布在StackOverflow上。”
這樣做你會得到你想要的答案,同時幫助整個社區!有時候并不總是能從這些網站上得到回應,因為有時你的問題可能太難了,以前沒有人做過,或者知道答案的人沒有看到它。有時,我會在討論區中加入我的問題的鏈接,以吸引更多的人關注它。但一個經驗法則是,當我遇到問題時,Stackoverflow或StackExchangeETH應該是我最先尋找的地方之一。
你應該發到哪個地方?說實話這并不重要。StackExchange通常更友好一些,但StackOverflow的搜索排名更好,所以這取決于你。這兩個論壇都是針對具體的技術問題。不要用這些論壇來討論更多的理論問題或大問題。這更適合在Discord或Twitter上討論。
Discord
在2022年,我希望我們從Discord轉移到像StackOverflow這樣的論壇作為支持和問題的主要手段。Discord的問題不會被索引,因此不能被排名。Discord對于快速聊天和交流想法是很好的,但不應該被用作支持渠道。
論壇
論壇是非常棒的,因為它們像StackOverflow一樣有索引和排名。一個很好的例子是Openzeppelin論壇,它的排名很好,而且問的問題也很好。
9.安全分析工具
我們都知道,在將代碼發布到區塊鏈上時,審計是至關重要的,因為任何人都可以查看,一旦它發布了,就有可能被利用!因此,有一些工具可以幫助我們確保在代碼中減少錯誤,這是非常重要的。這個領域已經出現了一些工具,使我們的智能合約更加安全。
不過我還沒有使用過這部分的所有工具。我所做的少數審計已經使用了TrailofBits套件和MythX。你可以查看一下這些工具的其他評論,包括charingane和MattSolomon.
記住,這些工具并不總是能抓住每一個錯誤,一定要自己的能力!。
Slither
Slither正在成為靜態分析的首選工具之一。Slither由TrailofBits團隊建立,易于使用,可以捕捉工程師可能犯的許多簡單錯誤。我強烈建議大家嘗試一下這個開源的錯誤捕捉器!
MythX
MythX是Consensys的另一個工具,它是基于云的測試bug的工具,據說可以做更深入的挖掘。許多像Aave和我一樣的用戶喜歡它的深度。它確實對用戶有一個付費門檻,但如果你有錢的話,它是值得的。
Mythril
Mythril是MythX產品的分析工具的一個開源子集。這不是一個我已經深入研究過的工具,但它看起來會給你一些有希望的簡單結果。
Manticore
Manticore是另一個TrailofBits工具,但它不做靜態分析,而是做符號執行,它找出什么會觸發你的智能合約工作。如果你已經用Slither工作,你不妨也試試這個!
Echidna
接下來,TrailofBits又推出了Echidna。這是一個針對EVM合約的fuzzer,如果你正在使用TrailofBits的其他工具,你不妨再一次嘗試一下。
Securify
Securify是一個令人難以置信的開源工具,它可以尋找特定的漏洞。這是另一個你可以嘗試的工具!
10.監測和維護
我們的最后一節沒有圖片,因為對于監控,我通常使用很多自己的腳本。然而,我認為Openzeppelin的Defender和Tenderly是你應該100%熟悉的工具。它們都是允許你監控你的生產代碼并確保它們保持安全的工具!
如果你還沒有,我強烈建議你嘗試一下這兩個工具,并讓我知道你的想法。
總結
這是我迄今為止最大的一篇文章,它包含了一個龐大的工具清單。我知道有很多,但是你在這個領域建立的越多,你就越能意識到這些工具中的每一個對于快速建立應用程序是多么重要。
2022年將是瘋狂的一年,我希望我已經給了你一些想法,讓你知道今年應該嘗試什么,以建立你的驚人的、獨特的、鼓舞人心的web3應用程序。
讓我知道你認為我錯過了什么工具,請在評論部分告訴我!祝你在新的一年里過得愉快!讓我們把它搞個大的!
如果你想在今年開始你的區塊鏈之旅,請查看如何成為一名區塊鏈工程師,以及這份有10個優質的資源的清單。
Tags:ETHSOLAPPDAPETH2Surviving Soldiers中幣交易所app官網下載最新版本蘋果blockchainresearchandapplication
Web3在今年成為了一個非常流行的詞匯,人們經歷了NFT的狂熱,并且科技圈一些有敏銳嗅覺的人也在推特上開始大談Web3.
1900/1/1 0:00:00區塊鏈技術是中國新一代信息技術自主創新突破的重點方向,蘊含著巨大的創新空間。在過去幾年里,得益于國家政策的引導和支持,中國的區塊鏈產業正在蓬勃興起.
1900/1/1 0:00:00據CoinDesk1月21日報道,美國金融業監管局首席執行官RobertCook表示,隨著加密貨幣采用的增長,該自律機構將在今年研究對加密貨幣法規的潛在變化.
1900/1/1 0:00:00原文:《WhyWeb3?》原文作者:FredWilson,USV聯合創始人原文編譯:gm,律動BlockBeats最近,關于Web2與Web3的辯論越來越多.
1900/1/1 0:00:00據PYMNTS.com消息,12月20日,支付巨頭Visa宣布已經完成對Currencycloud的收購.
1900/1/1 0:00:00?鏈集市?·讓區塊鏈落地更簡單 《區塊鏈行業觀察》專欄·第67?篇作者丨DeepakGupta 圖片丨來源于網絡 盡管AI為改善人類生活做出了巨大貢獻,但它也存在可信度和可靠性的問題.
1900/1/1 0:00:00