據報道,現在區塊鏈是發展最快的領域之一。隨著區塊鏈項目(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是一種較新的編程語言,它在區塊鏈開發社區中越來越受歡迎。它是一種用于編寫智能合約的低級語言,因其存儲效率、簡單性和可靠性而備受贊譽。
問題是Rust不兼容EVM,所以我們不能在以太坊和EVM兼容鏈上部署項目。但是像Solana,Terra,NEAR,Polkadot和Elrond這樣較新的鏈可以使用Rust,所以學習這門語言仍然是一項很好的投資。
DefiLlama開發者:Defillama網站遭遇惡意控制,已推出新網站llamadotfi:3月19日消息,鏈上數據分析網站DefiLlama開發者0xngmi發推表示DefiLlama團隊因Defillama網站遭遇惡意控制,已推出分叉版本的新網站llamadotfi。0xngmi解釋稱控制Defillama推特賬戶和域名的人決定發行Token,遭到團隊中所有人的反對。
0xngmi提醒用戶不要相信來自DefiLlama的任何消息和Token。[2023/3/19 13:13:29]
框架
從頭構建去中心化應用程序(dApp)可能是一項困難的任務,特別是如果我們必須自己處理每一個微小的細節。幸運的是,我們可以受益于「即插即用」基礎設施的軟件框架,以便輕松創建dapp。
框架附帶了用于創建、測試和部署代碼的資源(庫和工具)。從頭開始編寫dApp是沒有必要的,因為我們可以使用現成包,然后添加額外的功能。此外,大多數框架都是由經驗豐富的工程師開發和優化的,所以它們都是強大、高效和通用的。
Truffle
在我們的區塊鏈開發框架列表中,第一個就是Truffle。Truffle是一個基于javascript的框架,用于開發、測試和部署智能合約。它仍然是區塊鏈行業中最常用的框架之一。
Truffle提供了創建功能齊全的dApp所需的資源,它可以提供從內置的智能合約創建工具到測試區塊鏈的環境。它還具有現成的庫,使得構建以太坊dApp的前端更容易。
Hardhat
Hardhat是另一個被強烈推薦給智能合約開發者的框架。與Truffle一樣,Hardhat是一個基于javascript的框架,用于在以太坊上創建、測試、部署和調試應用程序。
Hardhat是一個全面的工具平臺,它抽象出與區塊鏈軟件開發相關的大多數底層通用功能。因此,我們可以專注于更重要的任務,比如為dApp構建核心基礎設施。
Embark
Embark是一個完整的棧開發框架,它允許我們同時構建dApp的前端和后端。雖然位列列表的最后,但Embark與本節中列出的其他框架一樣好。
Solana手機Saga啟動開發者測試版DVT-1預售:8月18日消息,Solana手機Saga啟動開發測試版DVT-1預售活動,將在第三季度為希望了解Saga和SMS的開發人員提供3,500臺DVT-1測試版手機,接受USDC或信用卡付款。
據悉,為了有資格獲得Saga DVT-1,參加預售的開發者需要在預購表中填寫GitHub帳戶。[2022/8/18 12:33:23]
Embark為dApp數據存儲、實時代碼測試和智能合約部署提供資源。此外,我們還可以訪問重要的插件,如Etherscan、Solc、Solium等。
集成開發環境(IDE)
集成開發環境(IDE)通過將核心開發工具組合成一個圖形用戶界面(GUI)來幫助應用程序開發。大多數IDE都具有代碼編譯、編輯、語法高亮顯示、構建自動化和調試等功能。
RemixIDE
Remix被許多區塊鏈開發人員認為是IDE的行業標準。使用RemixIDE,我們可以編譯、測試和調試智能合約—所有操作都可以通過一個直觀的界面完成。
RemixIDE是用JavaScript編寫的,我們可以在任何瀏覽器上使用它,我們也可以在自己的計算機上本地運行它(作為桌面應用程序)。它提供了一套全面的庫、插件和其他功能,以推動智能合約開發。
EthFiddle
EthFiddle是一個基于瀏覽器的IDE,用于編寫和調試Solidity代碼。如果我們在一個項目上與他人合作,那么LoomNetwork開發的EthFiddle是一個很好的工具,有了這個軟件,我們可以輕松地編輯、查找代碼片段,并與他人共享代碼片段以獲得反饋。
EthFiddle不像RemixIDE那樣功能豐富,但它能在演示文稿中共享代碼這一點卻很有用。它提供了設計良好的測試和原型功能,使其成為了所有區塊鏈開發人員的好工具。
Ethcode
我們也推薦Ethcode,一個用于開發以太坊智能合約的VisualStudioCode插件。Ethcode為編寫、調試和單元測試合約代碼提供了一個初學者友好的開發環境。
代碼是開源的,新的開發人員可以在需要時尋求支持。Ethcode適用于Vyper和Solidity,可以將智能合約部署到以太坊主網和Goerli測試網等。
聲音 | 比特幣核心開發者:比特幣塊獎勵減半,BTC將跌至美聯儲設定的2%通貨膨脹率以下:比特幣核心開發者、Casa的技術總監Jameson Lopp發推特表示,距進入比特幣通貨膨脹的第四個時代(比特幣塊獎勵減半)不到6個月,那時BTC將跌至美聯儲設定的2%的通貨膨脹率以下。[2019/11/18]
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之前不需要閱讀智能合約。
ThirdwebSDK
ThirdwebSDK對于構建Web3應用程序或將Web3特性集成到現有應用程序非常有用。例如,我們可以在我們的應用程序中添加「連接錢包」特性,而不需要編寫代碼。
Thirdweb可以用于以下方面:
創建NFT市場
在不編寫代碼的情況下啟動NFT
為治理、社區成員資格和其他目的創建代幣
編程版稅分成NFT
動態 | HTC明年啟動區塊鏈交易系統,整合VR內容、開發者及線下資源:HTC VIVE ORIGINALS總經理陳思銘表示,為了讓內容及商業管道能夠對接,HTC將在明年將啟動“區塊鏈版權交易商用系統”,她的公司還將推出內容管理和區塊鏈驗證系統,以“幫助內容創作者,文化創意工作者和線下渠道整合他們的資源。(Variety)[2019/9/4]
Thirdweb目前支持Fantom,Avalanche,Ethereum和Polygon,并承諾在未來支持更多的鏈。雖然智能合約可以免費使用,但Thirdweb通過收取代幣合約未來版稅的5%來賺錢。
MoralisAPI和SDK
Moralis是一個Web3開發平臺,提供API和SDK,以加快區塊鏈開發周期。MoralisSDK通過提供現成的功能降低了構建全功能dApp的復雜性,例如:
用戶身份驗證
發送和獲取交易
監聽智能合約事件
與智能合約互動
Moralis的跨鏈Web3API還可以聚合關于賬戶余額、代幣、鏈上交易等的全面信息。它支持最流行的鏈,包括Avalanche,Polygon,Ethereum和幣安智能鏈。
測試區塊鏈網絡
默認情況下,大多數智能合約是不可變的,一旦代碼部署到區塊鏈上,就無法做出任何修改。因此,不鼓勵在以太坊主網上測試,因為我們不能在部署后進行更改。
為了解決這個問題,以太坊開發人員可以使用測試區塊鏈網絡(testnet)來測試dapp。測試網絡可以讓我們看到智能合約在區塊鏈上如何工作,允許我們在啟動它之前找到缺陷。
本地區塊鏈(Ganache)
Ganache是用于以太坊開發的本地區塊鏈,可以作為命令行工具或桌面應用程序使用。區塊鏈開發人員可以使用Ganache部署智能合約和執行測試。
Ganache工具擁有用戶友好的界面,可以訪問調試信息和區塊鏈數據(帳戶、區塊、交易)。我們還可以配置其他元素,如區塊時間,以滿足我們的開發需求。
動態 | 報告:LTC開發者總數從去年1月的40個下降到7月份的3個:總部位于加州的加密資產管理公司Electric Capital今天發布了一份報告,報告指出,“在過去兩年中,開發公共代幣的開發人員數量增加了一倍。不過,Litecoin(LTC)開發者總數從2018年1月的40個下降到7月份的3個。[2019/3/7]
公共測試網絡(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區塊鏈證據保全怎么操作流程Wrapped Elrond區塊鏈dapp開發框架區塊鏈dapp開發語言
于2022年5月20日-5月27日舉辦「520最××眼神挑戰」已經結束,今天是投票的最后一彈! 5月28日·最終彈 為你喜歡的作品投票叭~ 0102 金色數藏平臺今日首發“夏日尋蹤 · 遇見廣西.
1900/1/1 0:00:00如何判斷一個項目是不是龐氏,關鍵在于它是否具有正向的外部性。正如物理學的能量守恒定律一樣,如果一個系統,它沒有正向的外部性,那必然是一個龐氏.
1900/1/1 0:00:00互聯網在發展中世界的迅速發展對世界上貧窮國家人民的生活方式產生了明顯的影響。由于互聯網的連接,數百萬人擺脫了貧困,獲得了更好的教育機會.
1900/1/1 0:00:00導語 北京時間2022年5月27日凌晨,XtoEarn的頭部項目StepN官方發布通告,宣布因GPS數據不符合中國大陸監管等原因,將于7月15日停止對中國大陸地區用戶的服務.
1900/1/1 0:00:00核心觀點: Web3項目是一種新型公司,應該用新的方式、結合項目獨特性去為它們估值。近期,我們見證了Web3項目前所未有的爆發式發展,它在Web2平臺和服務的基礎上,實現了去中心化的愿景.
1900/1/1 0:00:006月2日消息,銀行業巨頭高盛最近發布了第十一版年度保險調查,加密貨幣首次被包括在內。這項針對328名首席投資官和首席財務官的調查顯示,6%的受訪者已經投資或正在考慮投資加密貨幣.
1900/1/1 0:00:00