原文作者:EmmanuelAwosika
原文標題:《20BlockchainDevelopmentTools》
原文編譯:ChinaDeFi
據報道,現在區塊鏈是發展最快的領域之一。隨著區塊鏈項目(DeFi、NFT、DAO)的激增,對區塊鏈開發人員的需求也在直線上升。
如果已經在區塊鏈上進行了構建,或者計劃構建,那么這里有關于創建區塊鏈應用程序的一些最佳工具的介紹。
編程語言
要開發區塊鏈應用程序,就需要學習一種編程語言。這些語言可以讓我們創建智能合約代碼,以作為應用程序的后端。
Solidity
目前,Solidity是區塊鏈開發中最流行的編程語言。它是一種高級的,面向對象的語言,它從其他語言(尤其是C)中借鑒了一些元素。
許多開發人員更喜歡學習Solidity,是因為被看作是事實上的區塊鏈的以太坊使用了Solidity來編寫智能合約。除此之外,Solidity是圖靈完備的,允許我們創建功能豐富的復雜應用程序。
學習Solidity是作為區塊鏈開發人員開始旅程的一個很好的開端。Solidity的流行意味著我們可以訪問為初學者設計的有用的教程、指南和文檔。
Solidity也可以在其他區塊鏈上運行,只要它們與以太坊虛擬機(EVM)兼容。這就意味著我們可以在兼容EVM的區塊鏈上部署項目,如幣安智能鏈、Avalanche、Polygon、MaticNetwork等。
Vyper
Solidity并不是創建智能合約的唯一語言。一種流行的替代方案是Vyper——一種基于Python且兼容EVM的語言。
雖然Vyper的功能和流行程度不如Solidity,但對于熟悉Python的開發人員來說,它是理想的選擇。此外,Vyper的簡單架構減少了軟件錯誤,簡化了智能合同審計。
Rust
Rust是一種較新的編程語言,它在區塊鏈開發社區中越來越受歡迎。它是一種用于編寫智能合約的低級語言,因其存儲效率、簡單性和可靠性而備受贊譽。
以太坊開發者Tim Beiko:以太坊網絡實施EIP-1559后baes費用達到150 Gwei:推特網友詢問,以太坊在實施EIP-1559后,為了讓ETH的供應開始減少,網絡交易量需要持續到什么程度(銷毀率超過區塊獎勵)?以太坊開發者Tim Beiko表示,在當前的gas限制下,baes費用達到150 gwei(區塊獎勵為133,一些用于區塊獎勵),PoW鏈將通貨緊縮。在鏈PoS上,按照目前的每日發行量(約1100 ETH),在11 gwei情況下,將通貨緊縮。但是在合并后,鑒于驗證節點收入(來自交易費用/MEV)的增加,PoS發行量可能會增加,因此“通貨緊縮數字”也會更高(將大于11 gwei)。
據悉,EIP-1559試圖通過引入固定費用和銷毀機制來降低交易費,預計使以太坊區塊鏈的收費市場更加可預測并緩解擁堵。[2021/7/16 0:56:51]
問題是Rust不兼容EVM,所以我們不能在以太坊和EVM兼容鏈上部署項目。但是像Solana,Terra,NEAR,Polkadot和Elrond這樣較新的鏈可以使用Rust,所以學習這門語言仍然是一項很好的投資。
框架
從頭構建去中心化應用程序(dApp)可能是一項困難的任務,特別是如果我們必須自己處理每一個微小的細節。幸運的是,我們可以受益于「即插即用」基礎設施的軟件框架,以便輕松創建dapp。
框架附帶了用于創建、測試和部署代碼的資源(庫和工具)。從頭開始編寫dApp是沒有必要的,因為我們可以使用現成包,然后添加額外的功能。此外,大多數框架都是由經驗豐富的工程師開發和優化的,所以它們都是強大、高效和通用的。
Truffle
在我們的區塊鏈開發框架列表中,第一個就是Truffle。Truffle是一個基于javascript的框架,用于開發、測試和部署智能合約。它仍然是區塊鏈行業中最常用的框架之一。
Truffle提供了創建功能齊全的dApp所需的資源,它可以提供從內置的智能合約創建工具到測試區塊鏈的環境。它還具有現成的庫,使得構建以太坊dApp的前端更容易。
Hardhat
聲音 | Grin核心開發者:Mimblewinble擴展模塊開發已開始:Grin核心開發人員David Burkett于12月29日發布項目十二月進度報告,在經過數月規劃后,Mimblewinble擴展模塊開發已正式開始,12月工作主要集中在重組Grin ++和LTC之間共享核心邏輯上,涉及到所有日志記錄、序列化、加密、錯誤處理和通用數據結構(標頭/區塊/ 交易),其中大部分代碼都是為Grin ++編寫的。此外,David Burkett還發布了2020年1月工作計劃,包括:1、確定構建方法:由于代碼現在將分布在幾個存儲庫中,因此需要稍微復雜一些的構建過程,目前傾向于使用libbitcoin構建系統的簡化版本;2、定義所有LTC模型:確定標頭和內核(包括簽名)的確切字段和序列化格式;3、將數據庫實現移至libmw-core,進行清理以匹配新標準,并加入完整的測試;4、2020年1月將為Grin開發一種更快的同步機制,LTC將直接從中受益。[2019/12/30]
Hardhat是另一個被強烈推薦給智能合約開發者的框架。與Truffle一樣,Hardhat是一個基于javascript的框架,用于在以太坊上創建、測試、部署和調試應用程序。
Hardhat是一個全面的工具平臺,它抽象出與區塊鏈軟件開發相關的大多數底層通用功能。因此,我們可以專注于更重要的任務,比如為dApp構建核心基礎設施。
Embark
Embark是一個完整的棧開發框架,它允許我們同時構建dApp的前端和后端。雖然位列列表的最后,但Embark與本節中列出的其他框架一樣好。
Embark為dApp數據存儲、實時代碼測試和智能合約部署提供資源。此外,我們還可以訪問重要的插件,如Etherscan、Solc、Solium等。
集成開發環境(IDE)
集成開發環境(IDE)通過將核心開發工具組合成一個圖形用戶界面(GUI)來幫助應用程序開發。大多數IDE都具有代碼編譯、編輯、語法高亮顯示、構建自動化和調試等功能。
RemixIDE
Remix被許多區塊鏈開發人員認為是IDE的行業標準。使用RemixIDE,我們可以編譯、測試和調試智能合約—所有操作都可以通過一個直觀的界面完成。
聲音 | 前BTC核心開發者:比特幣無法在企業方面實現某些目標:在2019年共識大會上,前比特幣核心開發者Jeff Garzik表示,穩定幣正在將去中心化金融推向下一個階段。Garzik稱,就產品而言,我們處于代際轉變。穩定幣將繼續存在,現在人們正在此基礎上進行建設。此外,Garzik認為,由于可以相對容易和簡單地確保比特幣的安全,現在比特幣仍然有意義,但是他承認比特幣不夠靈活,無法在企業方面實現某些目標。(ambcrypto)[2019/10/9]
RemixIDE是用JavaScript編寫的,我們可以在任何瀏覽器上使用它,我們也可以在自己的計算機上本地運行它(作為桌面應用程序)。它提供了一套全面的庫、插件和其他功能,以推動智能合約開發。
EthFiddle
EthFiddle是一個基于瀏覽器的IDE,用于編寫和調試Solidity代碼。如果我們在一個項目上與他人合作,那么LoomNetwork開發的EthFiddle是一個很好的工具,有了這個軟件,我們可以輕松地編輯、查找代碼片段,并與他人共享代碼片段以獲得反饋。
EthFiddle不像RemixIDE那樣功能豐富,但它能在演示文稿中共享代碼這一點卻很有用。它提供了設計良好的測試和原型功能,使其成為了所有區塊鏈開發人員的好工具。
Ethcode
我們也推薦Ethcode,一個用于開發以太坊智能合約的VisualStudioCode插件。Ethcode為編寫、調試和單元測試合約代碼提供了一個初學者友好的開發環境。
代碼是開源的,新的開發人員可以在需要時尋求支持。Ethcode適用于Vyper和Solidity,可以將智能合約部署到以太坊主網和Goerli測試網等。
API和SDK
除了框架和IDE之外,API和SDK也是Web3開發者最重要的工具之一。幫助區塊鏈工程師解決開發過程中遇到的具體問題,并幫助dApp的創建。
為了簡化不同軟件之間的交互,設計了一個API(ApplicationProgrammingInterface)。通過使用API請求數據來改進dApp,我們可以在現有功能的基礎上進行構建。
動態 | Pundi X將推出一個面向企業和區塊鏈開發者的開放平臺:據美通社消息,區塊鏈支付服務提供商Pundi X宣布將很快開放名為Open Platform的平臺,供開發者和公司在XPOS、XWallet和XPASS中列出數字通證。該平臺還將允許在相同的生態系統中創建定制的XPASS卡。[2019/5/3]
SDK是「軟件開發工具包」的簡稱,是針對特定平臺構建應用程序的軟件產品集合。區塊鏈開發SDK降低了構建特定于平臺的dapp的復雜性。
AlchemyNFTAPI
隨著NFT價值的飆升,許多開發人員開始將注意力轉向這個行業。如果打算創建一個NFT應用,Alchemy的NFTAPI是一個完美的工具。
AlchemyNFTAPI允許開發人員在用戶友好的界面中顯示不同NFT的元數據。它跨多個鏈(以太坊、Polygon,、Flow等)工作,所以買家在選擇NFT方面有更大的靈活性。
NFTAPI抽象了NFT交互所涉及的大多數技術任務。通過將NFTAPI集成到我們的平臺中,買家在驗證和購買NFT之前不需要閱讀智能合約。
ThirdwebSDK
ThirdwebSDK對于構建Web3應用程序或將Web3特性集成到現有應用程序非常有用。例如,我們可以在我們的應用程序中添加「連接錢包」特性,而不需要編寫代碼。
Thirdweb可以用于以下方面:
創建NFT市場
在不編寫代碼的情況下啟動NFT
為治理、社區成員資格和其他目的創建代幣
編程版稅分成NFT
Thirdweb目前支持Fantom,Avalanche,Ethereum和Polygon,并承諾在未來支持更多的鏈。雖然智能合約可以免費使用,但Thirdweb通過收取代幣合約未來版稅的5%來賺錢。
MoralisAPI和SDK
Moralis是一個Web3開發平臺,提供API和SDK,以加快區塊鏈開發周期。MoralisSDK通過提供現成的功能降低了構建全功能dApp的復雜性,例如:
以太坊開發者正面臨EIP-999提案分歧:據Coindesk報道,以太坊可能正處于分裂的邊緣。在上周的以太坊開發者會議上,在一項EIP-999的代碼提案討論中,以太坊可能被分裂為兩個相互競爭的鏈條。贊成這一提案的人認為,目前的代碼經常會丟失以太幣,而反對方則認為新的代碼不僅會帶來安全問題,還會破壞整個平臺的完整性。目前的投票顯示,大多數人反對代碼變更,但投票方式也受到了很多批評。[2018/4/25]
用戶身份驗證
發送和獲取交易
監聽智能合約事件
與智能合約互動
Moralis的跨鏈Web3API還可以聚合關于賬戶余額、代幣、鏈上交易等的全面信息。它支持最流行的鏈,包括Avalanche,Polygon,Ethereum和幣安智能鏈。
測試區塊鏈網絡
默認情況下,大多數智能合約是不可變的,一旦代碼部署到區塊鏈上,就無法做出任何修改。因此,不鼓勵在以太坊主網上測試,因為我們不能在部署后進行更改。
為了解決這個問題,以太坊開發人員可以使用測試區塊鏈網絡(testnet)來測試dapp。測試網絡可以讓我們看到智能合約在區塊鏈上如何工作,允許我們在啟動它之前找到缺陷。
本地區塊鏈(Ganache)
Ganache是用于以太坊開發的本地區塊鏈,可以作為命令行工具或桌面應用程序使用。區塊鏈開發人員可以使用Ganache部署智能合約和執行測試。
Ganache工具擁有用戶友好的界面,可以訪問調試信息和區塊鏈數據(帳戶、區塊、交易)。我們還可以配置其他元素,如區塊時間,以滿足我們的開發需求。
公共測試網絡(Ropsten/Rinkeby)
我們可以使用Ropsten、Goerli或Rinkeby等公共測試網來代替Ganache。主要的區別是Ganache可以離線使用,不需要在線訪問。
一些開發人員更喜歡公共測試網,因為它們模擬了以太坊的行為,可能更適合測試假設。例如,Ropsten使用類似于以太坊主網的工作證明共識。
雖然測試網是免費使用的,但我們需要在瀏覽器錢包中測試以太幣(ETH)才能完成交易。
預言機
雖然智能合約有令人興奮的應用程序,但它們的功能有限,因為它們只能訪問存儲在鏈上的信息。這給任何構建依賴外部信息來執行功能的智能合約的開發人員帶來了問題。
這就是預言機發揮作用的地方。
區塊鏈預言機從不同的來源收集真實世界的信息,并將其傳遞給運行在區塊鏈上的智能合約。這些信息可以以多種形式顯示:實時價格、天氣信息、體育結果等等。
選擇去中心化的預言機是很重要的,因為它們更難被惡意的參與者操縱,并且(主要)提供可靠的信息。許多流行的dapp,如Kyber、Synthetix和Compound,都使用去中心化的預言機來執行智能合約。
Chainlink
目前,Chainlink是市場份額領先的去中心化預言機解決方案。Chainlink于2017年推出,為多個區塊鏈的智能合約提供「可靠和防篡改」數據。
通過Chainlink,我們可以將智能合約連接到現實世界的各種數據源。例如,我們可以創建一個dApp,獎勵預測現實事件結果的用戶。
其他去中心化預言機解決方案包括BandProtocol,Witnet和UniversalMarketAccess(UMA)。這些應用激勵選定的先知提供準確的信息,保持鏈下數據的完整性。
區塊鏈節點供應商
在構建dApp時,我們將需要與區塊鏈交互—無論是讀取鏈上數據還是向區塊鏈寫入數據。為此,我們那需要連接到區塊鏈節點;區塊鏈節點保存了整個區塊鏈的歷史記錄,可以發送/查詢區塊鏈數據。
問題是維護完整的以太坊節點是昂貴的、耗時的和復雜的。因此,建議區塊鏈開發人員使用區塊鏈節點提供者(node-as-a-service)。節點提供程序為客戶端處理區塊鏈基礎設施,使我們可以專注于構建和擴展dApp。
AlchemySupernode
如果我們正在尋找合適的區塊鏈節點提供商,那么AlchemySupernode值得一試。Supernode提供了一套完整開發的API,用于與區塊鏈交互并獲取關鍵的區塊鏈數據。
使用該工具,連接到區塊鏈網絡層就像注冊和接收API密鑰一樣簡單。該服務不僅適用于以太坊,也適用于其他項目——因此在使用區塊鏈方面會有充分的靈活性。
Alchemy的「節點即服務」工具還有以下優點:
免費注冊
隨量擴展基礎設施
增強的API
可靠
Supernode旨在適應我們的需求,并提供無縫的可擴展性。這樣,我們就不會因為節點基礎設施而失眠,并且我們的用戶可以享受更好的體驗。
如果我們想了解其他可用項目,還可以查看其他節點提供程序。包括QuickNode、Infura、GetBlock、BlockDaemon和Chainstack。
分析
在構建dapp時,許多Web3開發人員很快發現跟蹤鏈上活動是困難的。在大多數情況下,在獲得關鍵的應用程序信息(如實時使用信息、用戶采納率和代幣指標)之前,我們需要做一些繁重的工作。
然而,如果我們想要改進dApp并擴大用戶基礎,分析這些數據點是很重要的。為此,我們需要使用像AlchemyMonitor這樣的工具,它可以更容易地為我們的Web3應用程序進行分析。
AlchemyMonitor
AlchemyMonitor是一個強大的,專門用于監控dApp基礎設施和獲得用戶活動的工具。AlchemyMonitor提供dApp健康狀況的實時更新,并可以顯示API調用、錯誤率和響應時間。
AlchemyMonitor儀表板還可以跟蹤dApp的使用情況,并為用戶行為提供有用的見解。它還有一個漂亮的自動警報系統,可以在我們的dApp出現重大故障之前盡早標記問題。
AlchemyNotify
開發人員并不是唯一需要dApp活動實時信息的人;用戶也需要知道dApp上發生了什么。例如,用戶可能想知道在dApp中執行的交易是否成功。
這就是為什么使用AlchemyNotify推送通知服務是一個很好的主意。添加推送通知到我們的dApp可能是優秀和糟糕用戶體驗的區別。Notify為應用程序用戶提供以下信息:
交易通知;
解決活動警報;
Gas價格警報,以及更多。
安全工具
如果今年有什么啟示的話,那就是安全性應該是任何區塊鏈項目的第一優先級。加強智能合約的安全性比在我們的新dApp中添加花哨的功能更值得考慮。以下是今年一些最大的漏洞:
AxieInfinity(被黑6.15億美元)
InverseFinance(被黑1500萬美元)
ElephantMoney(被黑2250萬美元)
還有更多的黑客攻擊,但這些應該會給我們一個基本的概念,智能合約安全是一件嚴肅的事情。如果沒有正確的安全措施,這可能會破壞我們的聲譽并阻止用戶采用。
Octopus
在我們的加強智能合約安全性的工具列表中,首先是Octopus,這是一個用于對智能合約代碼進行詳細分析的解決方案。Octopus提供了符號執行、調用流分析和控制流分析——所有這些都可以幫助我們發現合約錯誤并在為時已晚之前修復它們。
Mythril
下一個是Mythril,ConsenSys支持的智能合約安全工具。Mythril用于分析以太坊虛擬機(EVM)字節碼,并使用污染分析、符號執行和污染解決來識別以太坊軟件中的漏洞。
Securify
最后,我們還有Securify——一個由以太坊基金會支持的智能合約掃描器。Securify可以檢測多達37個不同的軟件漏洞,并為基于Solidity的智能合約實現上下文特定的分析。
錢包
如果我們要創建dApp,我們需要一個錢包來存放資金,即使它是測試以太幣(ETH)。為此,我們可以在幾分鐘內在瀏覽器中設置一個加密貨幣錢包。
MetaMask
我們建議使用MetaMask,因為除了持有ETH,它還提供了很多功能。作為一個瀏覽器擴展,MetaMask注入Web3jsAPI到網站中,這允許用戶直接在他們的瀏覽器與dapp交互。MetaMask還可以執行其他功能,如密鑰管理、讀取區塊鏈數據等。
總結
區塊鏈開發可能是一個令人興奮的過程,但前提是我們一開始就擁有正確的工具。創建一個強大的開發棧可以更容易地創建應用程序,并提高輸出的質量。
DearKuCoinUsers,FollowingtheannouncementfromthePaxosteam.
1900/1/1 0:00:006月7日消息,加密稅務和會計平臺Ledgible宣布完成2000萬美元A輪融資,EJFCapital旗下EJFSilvergateVenturesFund領投.
1900/1/1 0:00:00DearKuCoinUsers,ThedepositandwithdrawalservicesofElrondNetwork(EGLD)arenowopen.韓國檢方已凍結Do Kwon此前轉移.
1900/1/1 0:00:00摘要:當前數字貨幣由于BTC和ETH等加密資產波動性很大,所以我們需要穩定幣。但是穩定幣與美元掛鉤,美元也會貶值,會影響購買力.
1900/1/1 0:00:00今天開盤,不出所料又是一次畫門行情,如今的市場是存量博弈的市場,也可以叫負和博弈,沒有新資金進來,場內互割,最后還要被徐明星趙長鵬收個手續費……這種無盡的震蕩沒有趨勢的行情.
1900/1/1 0:00:00尊敬的CITEX用戶:為維護投資者利益,CITEX平臺幣CTT銷毀90億,完成銷毀后,CTT總量為10億CTT.
1900/1/1 0:00:00