時(shí)間:2022-02-25|瀏覽:479
以太坊的應(yīng)用是以太坊整個(gè)生態(tài)市場(chǎng)熱度的支撐,那么如何在以太坊開(kāi)發(fā)應(yīng)用呢?
從2017年和2018年開(kāi)始,以太坊的應(yīng)用不斷出現(xiàn),現(xiàn)在形式多樣,但在開(kāi)發(fā)上可以分類。
區(qū)塊鏈的特點(diǎn)決定了區(qū)塊鏈應(yīng)用程序需要在鏈上部署,因此以太坊上的開(kāi)發(fā)工具主要是完成鏈上部署的工具。
一般的互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)會(huì)有前端和后端,前端只有用戶看到的部分,后端是應(yīng)用的管理部分。對(duì)于一個(gè)dapp,必須有前端,必須有鏈端,即部署智能合同部分。后端將有一些應(yīng)用程序,而不是應(yīng)用程序前端的管理部分。區(qū)別在于前端顯示的部分是否為了更好的體驗(yàn)而實(shí)現(xiàn)了一些中間優(yōu)化。
目前看到的defi,簡(jiǎn)單的nft dapp基本上只有鏈端和前端。本文將列出以太坊的官方參考dapp用于智能合約部署的框架工具和非框架工具的開(kāi)發(fā)。
開(kāi)發(fā)智能合約框架
Hardhat(JavaScript)
支持快速測(cè)試的最佳框架之一,提供最完整的教程和最簡(jiǎn)單的集成。JS框架的開(kāi)發(fā)者很容易使用,使用Waffle和Ethers.js測(cè)試,也可以和OpenZeppelin智能合約插件的可升級(jí)直接集成。
Truffle(JavaScript)
Truffle是以太坊智能合約的默認(rèn)開(kāi)發(fā)框架,為其他工具樹(shù)立了標(biāo)準(zhǔn)。很容易與工具Drizzle和Ganache集成。可升級(jí)Truffle支付團(tuán)隊(duì)賬戶,連續(xù)集成訪問(wèn)智能合同,可視化部署和監(jiān)控。它也可以與OpenZeppelin智能合約插件的可升級(jí)直接集成。
Brownie(Python)
Brownie可以說(shuō)是Python的Truffle,用Python編寫(xiě)的框架非常簡(jiǎn)單干凈,消除了使用JavaScript帶來(lái)的許多麻煩,可以使用這個(gè)框架輕松地來(lái)處理和部署智能合約。
Embark
Embark是一個(gè)整個(gè)DAPP框架是一個(gè)全棧區(qū)塊鏈平臺(tái)。例如,它可以是Chainlink合約部署到Kovan有一個(gè)網(wǎng)絡(luò)UI,允許在GUI與區(qū)塊鏈和合同互動(dòng)。是全棧解決方案的理想集成。
Waffle
Waffle被列為智能合同框架,可與任何其他框架一起使用,更原始、更簡(jiǎn)單、可定制的框架Hardhat默認(rèn)工具。
Dapp.tools
Dapp.Tools用Haskell支持各種插件的編寫(xiě),如OpenZeppelin。雖然設(shè)計(jì)極簡(jiǎn),但功能強(qiáng)大。這是一個(gè)對(duì)命令友好的簡(jiǎn)單框架。
Epirus
Epirus是一個(gè)開(kāi)源項(xiàng)目,像“Truffle還有一種付費(fèi)升級(jí)工具,用于使用Java的Web3實(shí)現(xiàn),有對(duì)Android支持,在行業(yè)內(nèi)使用Java智能合約平臺(tái)很少。Epirus有利于吸引更多Java工程師進(jìn)入這個(gè)行業(yè)。
非框架開(kāi)發(fā)工具
OpenZeppelin
OpenZeppelin是為智能合同工程師創(chuàng)建工具的平臺(tái)。有一些默認(rèn)設(shè)置,比如ERC20和ERC721工具可以在幾秒鐘內(nèi)導(dǎo)入合同并構(gòu)建代幣。
OpenZeppelin另一個(gè)重要方面是其可升級(jí)的合同功能。部署一個(gè)正在運(yùn)行的項(xiàng)目意味著必須部署一份代理合同,以支持需要進(jìn)行的任何變更。
Etherscan
Etherscan它是最受歡迎的區(qū)塊瀏覽器。當(dāng)用戶需要查看合同并部署內(nèi)容時(shí),ABI和合同地址。用戶通常很容易找到合同地址,但是他們可以得到它ABI但是很難。大多數(shù)框架都有一些驗(yàn)證插件。部署智能合同后,可以立即使用Etherscan驗(yàn)證。確保它可以在你的應(yīng)用程序中使用。
create-eth-app
create-eth-app使用平臺(tái)ReactJS為智能合約增加前端。它使用了許多新的React技巧,例如State Hooks,更容易構(gòu)建真正強(qiáng)大的前端。
eth.build
Eth.build以 為中心Web3.0 教育沙盒具有以下特點(diǎn):無(wú)代碼拖動(dòng)編程、完全開(kāi)源、直觀地理解以太坊的工作方式
Remix
IDE是基于瀏覽器的IDE,它用于智能合約的開(kāi)發(fā),也是以太坊智能合約的開(kāi)發(fā)IDE,對(duì)新手很友好。因?yàn)槭腔跒g覽器的IDE,不需要安裝,也不需要安裝Solidity操作環(huán)境,打開(kāi)即用。