在項(xiàng)目開發(fā)初期,為了提升開發(fā)效率,我們通常會(huì)選擇在本地搭建一個(gè)測(cè)試鏈而非直接使用真實(shí)的公鏈。這時(shí),Ganache這款圖形化測(cè)試軟件(同時(shí)也提供命令行版本)便成為了我們的理想選擇。它能夠一鍵在本地搭建起以太坊區(qū)塊鏈的測(cè)試環(huán)境,并通過(guò)直觀的圖形界面展示區(qū)塊鏈的實(shí)時(shí)狀態(tài)。
Ganache默認(rèn)會(huì)為我們創(chuàng)建10個(gè)測(cè)試賬戶,同時(shí)監(jiān)聽地址設(shè)為https://127.0.0.1:7545。通過(guò)這個(gè)地址,我們可以實(shí)時(shí)查看到當(dāng)前區(qū)塊(Current Block)、燃?xì)鈨r(jià)格(* Price)以及燃?xì)馍舷蓿? Limit)等關(guān)鍵信息。
在智能合約的開發(fā)方面,我們選擇了以太坊官方全力支持的Remix IDE作為開發(fā)環(huán)境。在這個(gè)IDE中,我們編寫了一個(gè)簡(jiǎn)單的智能合約,它主要實(shí)現(xiàn)了對(duì)name和age變量的賦值與讀取功能。
接下來(lái),我們切換到Remix IDE的“run”標(biāo)簽頁(yè),并將環(huán)境(Environment)切換到“Web3 Provider”。然后,在對(duì)應(yīng)的輸入框中輸入我們測(cè)試鏈的地址:https://127.0.0.1:7545。這里,我們對(duì)三個(gè)選項(xiàng)進(jìn)行一下簡(jiǎn)單的說(shuō)明:
- “Javascript VM”:這是一個(gè)簡(jiǎn)單的Javascript虛擬機(jī)環(huán)境,適合在純粹練習(xí)智能合約編寫的時(shí)候使用。
- “Injected Web3”:這個(gè)選項(xiàng)用于連接到嵌入到頁(yè)面的Web3,例如連接到MetaMask這樣的錢包插件。
- “Web3 Provider”:這個(gè)選項(xiàng)用于連接到自定義的節(jié)點(diǎn),比如我們搭建的私有測(cè)試*。
如果連接成功,Remix IDE下方的“Account”選項(xiàng)會(huì)自動(dòng)選擇Ganache創(chuàng)建的*個(gè)賬戶地址。此時(shí),我們只需點(diǎn)擊“Create”按鈕,就可以將我們的智能合約部署到測(cè)試*中。
請(qǐng)注意,在部署完智能合約后,我們不要關(guān)閉Remix IDE的頁(yè)面。因?yàn)樵诤罄m(xù)編寫前端代碼時(shí),我們還需要用到智能合約的地址以及ABI(應(yīng)用程序二進(jìn)制接口)信息。這些信息將幫助我們與智能合約進(jìn)行交互,實(shí)現(xiàn)前端的功能需求。