溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Remix編譯和部署以太坊智能合約

發(fā)布時(shí)間:2021-12-29 14:10:33 來源:億速云 閱讀:329 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“如何使用Remix編譯和部署以太坊智能合約”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用Remix編譯和部署以太坊智能合約”吧!

Remix 是一個(gè)開源的 Solidity 智能合約開發(fā)環(huán)境,提供基本的編譯、部署至本地或測(cè)試網(wǎng)絡(luò)、執(zhí)行合約等功能。Solidity 是 以太坊Ethereum 官方設(shè)計(jì)和支持的開發(fā)語言,專門用于編寫智能合約。

本文希望將一個(gè)很簡單的代幣合約(只能發(fā)行和轉(zhuǎn)賬),部署在本地和測(cè)試網(wǎng)絡(luò)上,測(cè)試下它的功能。

詳細(xì)描述使用 Remix 的步驟及使用上可能碰到的問題。

之前開發(fā)過以太坊Ethereum智能合約,但沒有記錄過開發(fā)的過程和碰到的問題,覺得挺可惜。這次重新開始,從最基礎(chǔ)開始,一步步學(xué)習(xí)。

開發(fā)環(huán)境

不需要安裝,直接在任何瀏覽器啟動(dòng) Remix。

如何使用Remix編譯和部署以太坊智能合約

取得代幣合約

代幣合約的范例很多,Ethereum 官網(wǎng)有提供一個(gè)最小可執(zhí)行的代幣合約(MINIMUM VIABLE TOKEN):

pragma solidity ^0.4.0;
contract MyToken {
/* This creates an array with all balances */
    mapping (address => uint256) public balanceOf;
    
    /* Initializes contract with initial supply tokens to the creator of the contract */
    function MyToken(uint256 initialSupply) public {
        balanceOf[msg.sender] = initialSupply;              
        // Give the creator all initial tokens
    }
    
    /* Send coins */
    function transfer(address _to, uint256 _value) public {
        require(balanceOf[msg.sender] >= _value);           
        // Check if the sender has enough
        require(balanceOf[_to] + _value >= balanceOf[_to]); 
        // Check for overflows
        balanceOf[msg.sender] -= _value;                    
        // Subtract from the sender
        balanceOf[_to] += _value;                  
        // Add the same to the recipient
    }
}

這個(gè) MyToken 合約真的很簡單,只能做兩件事:

  1. 創(chuàng)建代幣:發(fā)起合約時(shí)創(chuàng)建指定數(shù)量的代幣,代幣擁有者是發(fā)起合約的 Ethereum 帳戶

  2. 轉(zhuǎn)移代幣:轉(zhuǎn)移指定數(shù)量的代幣到指定的 Ethereum 帳戶

至于一個(gè)完整的代幣合約,可參考ERC20 Token使用手冊(cè)。

使用 Remix 編譯合約

  1. 點(diǎn)右上角 + 新增一個(gè)合約 名稱任意只要擴(kuò)展名是 “.sol”。

如何使用Remix編譯和部署以太坊智能合約

  1. 復(fù)制合約內(nèi)容到該合約并編譯 Remix 默認(rèn)設(shè)置會(huì)自動(dòng)編譯,只要旁邊沒有蹦出紅色的 error 提示就代表編譯成功。

如何使用Remix編譯和部署以太坊智能合約

在本地部署合約

1.設(shè)置網(wǎng)絡(luò) 點(diǎn)選左上的 run。

如何使用Remix編譯和部署以太坊智能合約

Environment 選擇 JavaScript VM 代表所有資料都是存在本地(功能類似 testrpc)。它會(huì)提供 5 個(gè)虛擬賬戶每個(gè)有 100 ETH,隨便選擇一個(gè)賬戶(要記住后面一直要用)。

如何使用Remix編譯和部署以太坊智能合約

2.發(fā)送交易部署合約 選擇 MyToken。可以看到 create 按鈕。且已根據(jù)合約內(nèi)容顯示必須輸入 initialSupply(也就是要發(fā)行的代幣數(shù)量)。輸入一個(gè)數(shù)目點(diǎn)create,就可以發(fā)送交易部署合約。

如何使用Remix編譯和部署以太坊智能合約

合約部署成功后,可以看到合約的使用界面。Remix 會(huì)自動(dòng)根據(jù)合約的內(nèi)容,產(chǎn)生對(duì)應(yīng)的合約使用界面??梢钥吹胶霞s有兩個(gè)功能:balanceOf(查詢余額) 和 transfer(轉(zhuǎn)移代幣)。

如何使用Remix編譯和部署以太坊智能合約

底下可以看到 log(記錄每一次的操作)。實(shí)際上部署合約是通過一個(gè) Ethereum 交易完成,點(diǎn) Details 可以看到這筆交易詳細(xì)資料。

如何使用Remix編譯和部署以太坊智能合約

執(zhí)行合約?—?查詢余額

1.選擇剛剛發(fā)起合約的賬戶

如何使用Remix編譯和部署以太坊智能合約

可以點(diǎn)右邊的按鈕復(fù)制

2.輸入賬戶 注意要用 “” 把賬戶括起來,示例:

"0xca35b7d915458ef540ade6068dfe2f44e8fa733c"

3.點(diǎn)擊 balanceOf

可以看到執(zhí)行結(jié)果,也就是目前這個(gè)賬戶的代幣余額。

如何使用Remix編譯和部署以太坊智能合約

可能的錯(cuò)誤情況

說明一點(diǎn),因?yàn)閿?shù)據(jù)傳輸是用 JSON 格式,所以要加上 “”。如果忘了 “” 就會(huì)在 log 中看到錯(cuò)誤提示:

如何使用Remix編譯和部署以太坊智能合約

執(zhí)行合約?—?轉(zhuǎn)移代幣

1.選擇要輸出的賬戶 選擇剛剛發(fā)起的合約的賬戶。

如何使用Remix編譯和部署以太坊智能合約

2.輸入要轉(zhuǎn)入的賬戶 選擇並復(fù)制另一個(gè)賬戶。在合約界面 transfer 后面的輸入位置,輸入轉(zhuǎn)入賬戶和要轉(zhuǎn)移的代幣數(shù)量。賬戶同樣需要用 “” 括起來,示例:

"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db", 10

3.點(diǎn)擊 transfer 點(diǎn)擊 transfer,成功后會(huì)看到 log 更新。

如何使用Remix編譯和部署以太坊智能合約

4.確認(rèn)余額更新 這時(shí)在查詢轉(zhuǎn)入賬戶的余額,就可以看到代幣余額增加啦!

如何使用Remix編譯和部署以太坊智能合約

錯(cuò)誤情況 如果選擇要轉(zhuǎn)出的賬戶代幣余額不足,這個(gè)交易就會(huì)失敗,會(huì)在 log 看到錯(cuò)誤提示。

如何使用Remix編譯和部署以太坊智能合約

在測(cè)試網(wǎng)絡(luò)部署合約

1.安裝 MetaMask 首先,要連到測(cè)試網(wǎng)絡(luò),這就要安裝 MetaMask。它是瀏覽器端的 Ethereum 錢包,可以連結(jié) Ethereum 公共和測(cè)試網(wǎng)絡(luò)。安裝后需要建立 Ethereum 賬號(hào),這個(gè)這里就不細(xì)講了。

成功啟動(dòng)后是這樣的。

如何使用Remix編譯和部署以太坊智能合約 如何使用Remix編譯和部署以太坊智能合約 如何使用Remix編譯和部署以太坊智能合約

我們選擇 Ropsten Test Net

2.選擇測(cè)試網(wǎng)絡(luò)

回到 Remix,這次 Environment 選擇 Injected Web3,Remix 會(huì)自動(dòng)連接 MetaMask。

如何使用Remix編譯和部署以太坊智能合約

成功連接后會(huì)看到和 MetaMask 相同賬號(hào)和 Ether 余額

3.部署合約 接著用同樣的方式,按 create 部署合約,就會(huì)看到 MetaMask 的彈出窗口。直接按 submit 發(fā)送交易。

如何使用Remix編譯和部署以太坊智能合約

稍等片刻(需要等交易被確認(rèn)),部署成功后合約的使用界面就會(huì)出來。

如何使用Remix編譯和部署以太坊智能合約 

到此,相信大家對(duì)“如何使用Remix編譯和部署以太坊智能合約”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI