比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > USDT > Info

開發者必備手冊:構建區塊鏈應用程序最佳工具一覽_DAPP

Author:

Time:1900/1/1 0:00:00

原文作者: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是一種較新的編程語言,它在區塊鏈開發社區中越來越受歡迎。它是一種用于編寫智能合約的低級語言,因其存儲效率、簡單性和可靠性而備受贊譽。

以太坊開發者大會Devcon將延期舉辦,具體時間待定:根據以太坊博客消息,由于疫情等客觀原因,為了確保參會人員的安全,原定于今年8月初舉辦的以太坊開發者大會Devcon將推遲,具體時間待定,以官方公告為準。[2021/1/27 21:48:44]

問題是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與本節中列出的其他框架一樣好。

比特幣核心開發者Peter Todd指責Optimism開發者在以太坊主網上測試錯誤:以太坊二層擴容解決方案Optimism開發者發推表示,Optimistic虛擬機(OVM)依賴于其在6個月之前分叉的Geth版本,之后我們在分叉版本上發現了一個錯誤,但不清楚根本原因,直到昨晚,我們意識到該錯誤實際上存在于geth舊版本中,可能會導致尚未升級的節點不同步。由于在ethernodes.org上發現幾乎所有節點都進行了升級,因此我們決定測試該錯誤,但我們犯了一個錯誤,沒有考慮到未升級的少數節點。從這件事中學到的教訓是,永遠不要低估一個人的行為在去中心化網絡中所產生的影響。目前Geth團隊正在就如何使用開源軟件的獨特需求進行討論。對此,比特幣核心開發者PeterTodd發推稱,“結果證明所謂的以太坊分叉是由開發人員自己觸發的,開發人員為找出一個錯誤而在主網上進行測試。無論如何,這表明‘多實現方式’有多么瘋狂。”[2020/11/12 12:24:28]

Embark為dApp數據存儲、實時代碼測試和智能合約部署提供資源。此外,我們還可以訪問重要的插件,如Etherscan、Solc、Solium等。

集成開發環境(IDE)

集成開發環境(IDE)通過將核心開發工具組合成一個圖形用戶界面(GUI)來幫助應用程序開發。大多數IDE都具有代碼編譯、編輯、語法高亮顯示、構建自動化和調試等功能。

RemixIDE

Remix被許多區塊鏈開發人員認為是IDE的行業標準。使用RemixIDE,我們可以編譯、測試和調試智能合約—所有操作都可以通過一個直觀的界面完成。

RemixIDE是用JavaScript編寫的,我們可以在任何瀏覽器上使用它,我們也可以在自己的計算機上本地運行它(作為桌面應用程序)。它提供了一套全面的庫、插件和其他功能,以推動智能合約開發。

EthFiddle

EthFiddle是一個基于瀏覽器的IDE,用于編寫和調試Solidity代碼。如果我們在一個項目上與他人合作,那么LoomNetwork開發的EthFiddle是一個很好的工具,有了這個軟件,我們可以輕松地編輯、查找代碼片段,并與他人共享代碼片段以獲得反饋。

去中心化合成資產協議UMA宣布開發者挖礦計劃:11月4日,UMA宣布了一項旨在激勵開發者的挖礦計劃,他們聲稱這是對流動性挖礦的一種演進。從11月10日開始,RiskLabs基金會將每周向使用UMA部署合成資產的開發者支付總計50,000美元的UMA。[2020/11/4 11:36:17]

EthFiddle不像RemixIDE那樣功能豐富,但它能在演示文稿中共享代碼這一點卻很有用。它提供了設計良好的測試和原型功能,使其成為了所有區塊鏈開發人員的好工具。

Ethcode

我們也推薦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之前不需要閱讀智能合約。

聲音 | Grin++開發者:Mimblewimble可實現非交互式交易,萊特幣、Grin等將受益:Grin++錢包開發者David Burkett提出了一種支持Mimblewimble非交互式交易的提案,其可適用于萊特幣、Grin等區塊鏈項目。一月份在開發方面,已經為libmw確定了構建過程;構建了一個具有交易處理功能的健壯數據庫框架;在Grin++方面,已完成一個成功的計劃硬分叉。二月份的任務是實施萊特幣擴展區塊(EB)的共識規則,完成后即可開始將LBMW集成到現有的萊特幣代碼庫中。[2020/2/2]

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和幣安智能鏈。

測試區塊鏈網絡

默認情況下,大多數智能合約是不可變的,一旦代碼部署到區塊鏈上,就無法做出任何修改。因此,不鼓勵在以太坊主網上測試,因為我們不能在部署后進行更改。

Aeternity開發者平臺測試版已上線:據AE官方微博,AE開發者平臺測試版上線,已經可以基于AE測試版構建應用。Aeternity號稱新一代區塊鏈網絡,旨在重樹當今智能合約的底層協議。Aeternity的技術亮點是圖靈完備狀態通道(state channels)和去中心化預言機(oracles)。AE現價1.73美元,上漲7.19%。[2018/3/22]

為了解決這個問題,以太坊開發人員可以使用測試區塊鏈網絡(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還可以執行其他功能,如密鑰管理、讀取區塊鏈數據等。

總結

區塊鏈開發可能是一個令人興奮的過程,但前提是我們一開始就擁有正確的工具。創建一個強大的開發棧可以更容易地創建應用程序,并提高輸出的質量。

Tags:區塊鏈APPDAPPDAP區塊鏈的未來發展前景pptgate.io安卓下載appDAPPXdapp幣怎么從錢包提到交易所

USDT
以太坊合并 區塊鏈將受到什么影響呢?_POS

本文討論以太坊升級合并的相關問題一、ETH合并升級面臨的困難與進展實際上ETH早在2017年就開始提起轉PoS了,但是屢遭延期,難度在哪?其實ETH的合并升級提出時間更早.

1900/1/1 0:00:00
早期投資者所持有未釋放CTT釋放計劃公告_CTT

尊敬的CITEX用戶:根據CTT釋放規則,2019年11月13日起,早期投資者所持有未釋放CTT,將在兩年內完成釋放.

1900/1/1 0:00:00
美國對幣安(世界第五大代幣$BNB)調查_BNB

據知情人士透露,美國監管機構正在調查BinanceHoldingsLtd.是否在五年前加密貨幣交易所剛剛起步時通過出售數字代幣違反了證券規則.

1900/1/1 0:00:00
Huobi Global Will List ROUTE (Router Protocol) on June 8, 2022_Huobi

DearValuedUsers,HuobiGlobalisscheduledtolistROUTE(RouterProtocol)onJune8.

1900/1/1 0:00:00
現貨交易和合約交易的區別_BTC

現貨交易: 現貨市場中,您以即時交割方式購買和出售數字貨幣,訂單成交后您即刻擁有對應加密貨幣。 合約交易: 合約市場中,開倉后獲得的倉位是代表特定加密貨幣價值的合約.

1900/1/1 0:00:00
XT.COM關於暫停LOOP充提的公告_XT.com

尊敬的XT.COM用戶:因LOOP錢包升級維護,XT.COM現已暫停LOOP充提業務。給您帶來的不便,請您諒解!MixTrust(MXT)創世挖礦將于21點開始:據官方消息,MixTrust(M.

1900/1/1 0:00:00
ads