原文作者: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是一種較新的編程語言,它在區塊鏈開發社區中越來越受歡迎。它是一種用于編寫智能合約的低級語言,因其存儲效率、簡單性和可靠性而備受贊譽。
以太坊開發者:MakerDAO保險庫以1155美元的均價出售了6.5萬枚ETH:6月13日消息,據以太坊開發者mariano.eth的推文,MakerDAO保險庫于今日11:56以1155美元的均價出售了6.5萬枚ETH來償還債務和降低風險,這給Oasis.app帶來了15萬的交易費。[2022/6/13 4:21:52]
問題是Rust不兼容EVM,所以我們不能在以太坊和EVM兼容鏈上部署項目。但是像Solana,Terra,NEAR,Polkadot和Elrond這樣較新的鏈可以使用Rust,所以學習這門語言仍然是一項很好的投資。
框架
從頭構建去中心化應用程序(dApp)可能是一項困難的任務,特別是如果我們必須自己處理每一個微小的細節。幸運的是,我們可以受益于「即插即用」基礎設施的軟件框架,以便輕松創建dapp。
框架附帶了用于創建、測試和部署代碼的資源(庫和工具)。從頭開始編寫dApp是沒有必要的,因為我們可以使用現成包,然后添加額外的功能。此外,大多數框架都是由經驗豐富的工程師開發和優化的,所以它們都是強大、高效和通用的。
Truffle
在我們的區塊鏈開發框架列表中,第一個就是Truffle。Truffle是一個基于javascript的框架,用于開發、測試和部署智能合約。它仍然是區塊鏈行業中最常用的框架之一。
Truffle提供了創建功能齊全的dApp所需的資源,它可以提供從內置的智能合約創建工具到測試區塊鏈的環境。它還具有現成的庫,使得構建以太坊dApp的前端更容易。
Hardhat
Hardhat是另一個被強烈推薦給智能合約開發者的框架。與Truffle一樣,Hardhat是一個基于javascript的框架,用于在以太坊上創建、測試、部署和調試應用程序。
Hardhat是一個全面的工具平臺,它抽象出與區塊鏈軟件開發相關的大多數底層通用功能。因此,我們可以專注于更重要的任務,比如為dApp構建核心基礎設施。
Embark
Embark是一個完整的棧開發框架,它允許我們同時構建dApp的前端和后端。雖然位列列表的最后,但Embark與本節中列出的其他框架一樣好。
以太坊開發者Tim Beiko正在以太坊測試網Ropsten測試EIP-1559:以太坊開發者Tim Beiko表示,希望以太坊Ropsten測試網巨鯨發送給其1000至10000 ETH,用于測試EIP-1559。
據悉,EIP-1559試圖通過引入固定費用和銷毀機制來降低交易費用,由V神于2018年首次提出。該提案是一個對以太坊交易機制進行優化的機制,旨在使以太坊網絡上的交易費用更加可預測,解決當前“按需付費”的收費模式問題。另外,EIP 1559的收費結構將自動適應網絡需求。[2021/5/27 22:49:32]
Embark為dApp數據存儲、實時代碼測試和智能合約部署提供資源。此外,我們還可以訪問重要的插件,如Etherscan、Solc、Solium等。
集成開發環境(IDE)
集成開發環境(IDE)通過將核心開發工具組合成一個圖形用戶界面(GUI)來幫助應用程序開發。大多數IDE都具有代碼編譯、編輯、語法高亮顯示、構建自動化和調試等功能。
RemixIDE
Remix被許多區塊鏈開發人員認為是IDE的行業標準。使用RemixIDE,我們可以編譯、測試和調試智能合約—所有操作都可以通過一個直觀的界面完成。
RemixIDE是用JavaScript編寫的,我們可以在任何瀏覽器上使用它,我們也可以在自己的計算機上本地運行它(作為桌面應用程序)。它提供了一套全面的庫、插件和其他功能,以推動智能合約開發。
EthFiddle
EthFiddle是一個基于瀏覽器的IDE,用于編寫和調試Solidity代碼。如果我們在一個項目上與他人合作,那么LoomNetwork開發的EthFiddle是一個很好的工具,有了這個軟件,我們可以輕松地編輯、查找代碼片段,并與他人共享代碼片段以獲得反饋。
EthFiddle不像RemixIDE那樣功能豐富,但它能在演示文稿中共享代碼這一點卻很有用。它提供了設計良好的測試和原型功能,使其成為了所有區塊鏈開發人員的好工具。
Ethcode
開發者在Avalanche和以太坊間建立新橋接機制:區塊鏈開發集團ChainSafe、Protofire、Hashquark、POANetwork、Avascan和Meter.io共同在Avalanche和以太坊區塊鏈網絡之間建立了新的橋接機制。該橋接機制將允許DeFi工具的用戶在兩個生態系統之間轉移他們的資產。它的創建還意味著以太坊上的DeFi項目的開發人員將能夠為用戶提供一個可替代的交易平臺。(The Block)[2021/2/9 19:16:45]
我們也推薦Ethcode,一個用于開發以太坊智能合約的VisualStudioCode插件。Ethcode為編寫、調試和單元測試合約代碼提供了一個初學者友好的開發環境。
代碼是開源的,新的開發人員可以在需要時尋求支持。Ethcode適用于Vyper和Solidity,可以將智能合約部署到以太坊主網和Goerli測試網等。
API和SDK
除了框架和IDE之外,API和SDK也是Web3開發者最重要的工具之一。幫助區塊鏈工程師解決開發過程中遇到的具體問題,并幫助dApp的創建。
為了簡化不同軟件之間的交互,設計了一個API(ApplicationProgrammingInterface)。通過使用API請求數據來改進dApp,我們可以在現有功能的基礎上進行構建。
SDK是「軟件開發工具包」的簡稱,是針對特定平臺構建應用程序的軟件產品集合。區塊鏈開發SDK降低了構建特定于平臺的dapp的復雜性。
AlchemyNFTAPI
隨著NFT價值的飆升,許多開發人員開始將注意力轉向這個行業。如果打算創建一個NFT應用,Alchemy的NFTAPI是一個完美的工具。
AlchemyNFTAPI允許開發人員在用戶友好的界面中顯示不同NFT的元數據。它跨多個鏈(以太坊、Polygon,、Flow等)工作,所以買家在選擇NFT方面有更大的靈活性。
NFTAPI抽象了NFT交互所涉及的大多數技術任務。通過將NFTAPI集成到我們的平臺中,買家在驗證和購買NFT之前不需要閱讀智能合約。
以太坊核心開發者:正在從以太坊代碼庫中刪除Whisper:以太坊核心開發者Péter Szilágyi剛剛發推稱,正在從以太坊代碼庫中刪除Whisper,并打算將其移至對應存儲庫存檔。據悉,Whisper是以太坊的一個通用的分布式通信協議,此前主要用于網絡信息傳送。[2020/7/22]
ThirdwebSDK
ThirdwebSDK對于構建Web3應用程序或將Web3特性集成到現有應用程序非常有用。例如,我們可以在我們的應用程序中添加「連接錢包」特性,而不需要編寫代碼。
Thirdweb可以用于以下方面:
創建NFT市場
在不編寫代碼的情況下啟動NFT
為治理、社區成員資格和其他目的創建代幣
編程版稅分成NFT
Thirdweb目前支持Fantom,Avalanche,Ethereum和Polygon,并承諾在未來支持更多的鏈。雖然智能合約可以免費使用,但Thirdweb通過收取代幣合約未來版稅的5%來賺錢。
MoralisAPI和SDK
Moralis是一個Web3開發平臺,提供API和SDK,以加快區塊鏈開發周期。MoralisSDK通過提供現成的功能降低了構建全功能dApp的復雜性,例如:
用戶身份驗證
發送和獲取交易
監聽智能合約事件
與智能合約互動
Moralis的跨鏈Web3API還可以聚合關于賬戶余額、代幣、鏈上交易等的全面信息。它支持最流行的鏈,包括Avalanche,Polygon,Ethereum和幣安智能鏈。
測試區塊鏈網絡
默認情況下,大多數智能合約是不可變的,一旦代碼部署到區塊鏈上,就無法做出任何修改。因此,不鼓勵在以太坊主網上測試,因為我們不能在部署后進行更改。
為了解決這個問題,以太坊開發人員可以使用測試區塊鏈網絡(testnet)來測試dapp。測試網絡可以讓我們看到智能合約在區塊鏈上如何工作,允許我們在啟動它之前找到缺陷。
Nervos Network發布3款開發工具 為CKB開發者提供更多便利:7月1日,Nervos宣布推出三款新工具Capsule、Lumos,以及Polyjuice,旨在為CKB開發者提供最大賦能,在Nervos 更好地完成開發工作。Capsule提供了使用Rust編程語言構建CKB腳本的解決方案。Lumo在CKB之上設計提供了一個基于JavaScript/TypeScript的框架,可以大大加快DApp的開發速度。Polyjuice是Nervos CKB之上的以太坊兼容層,充分展示了在Nervos CKB上應用Account Model的可行性。[2020/7/1]
本地區塊鏈(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還可以執行其他功能,如密鑰管理、讀取區塊鏈數據等。
總結
區塊鏈開發可能是一個令人興奮的過程,但前提是我們一開始就擁有正確的工具。創建一個強大的開發棧可以更容易地創建應用程序,并提高輸出的質量。
采訪及撰文:Nansen受訪者:Fiskantes,ZeePrimeCapital創始合伙人 編譯:Amber 在結束了早期自詡為「以及其他資本」的階段后.
1900/1/1 0:00:00Polkadot生態研究院出品,必屬精品 背景 不知不覺波卡插槽拍賣已經來到了第18次,同時,Kusama首批crowdloan也已經全部解鎖返還.
1900/1/1 0:00:00據慢霧區消息,6月7日,EqualizerFinance遭受閃電貸攻擊。慢霧安全團隊以簡訊形式將攻擊原理分享如下:1.EqualizerFinance存在FlashLoanProvider與Va.
1900/1/1 0:00:00尊敬的BIKA用戶: 新用戶注冊最高送88U贈金,首創500倍杠杠創新體驗,讓您玩轉合約交易!活動時間:2022年06月09日-2022年06月16日MXC抹茶:警惕假冒官方工作人員的網絡或電話.
1900/1/1 0:00:00據最新消息,截至6月6日,SUN.io上的2pool(USDD/USDT)LP礦池質押價值已突破4億美元,APY高達21.84%.
1900/1/1 0:00:00尊敬的AAX用戶: 為了答謝新老用戶對AAX的大力支持與認可,AAX現在開啟“邀請好友參與競猜,最高贏取300USDT贈金”活動.
1900/1/1 0:00:00