部署第一個合約

Remix介紹

Remix是一個網頁端的集成開發環境,可以用它在瀏覽器裡創建、運行、調試智能合約。它由以太坊基金會開發維護。通過solidity開發智能合約所需的一切都在Remix的web界面上提供了,所以開發者無需自行搭建開發環境了。 Remix可以大大簡化合約的部署方法,無需使用命令行界面即可方便的部署合約。

創建並部署第一個合約

  • 首先前往Remix:https://remix.ethereum.org並創建一個新得文件

  • 在 Remix 界面的左上角添加一個新文件,並輸入所需的文件名。

在這個新文件中,我們將粘貼如下代碼:

// SPDX-License-Identifier: MIT
pragma solidity >=0.5.17;

contract Counter {

    // Public variable of type unsigned int to keep the number of counts
    uint256 public count = 0;

    // Function that increments our counter
    function increment() public {
        count += 1;
    }

    // Not necessary getter to get the count value
    function getCount() public view returns (uint256) {
        return count;
    }

}

如果您曾經寫過程序,應該可以輕鬆猜到這個程序是做什麼的。下面按行解釋:

  • 第 3 行:定義了一個名為Counter的合約

  • 第 6 行:我們的合約存儲了一個無符號整型count,從 0 開始。

  • 第 9 行:第一個函數將修改合約的狀態並且increment()變量 count。

  • 第 14 行 : 第二個函數是一個 getter 函數,能夠從智能合約外部讀取count變量的值。請注意,因為我們將count變量定義為公共變量,所以這個函數是不必要的,但它可以作為一個例子展示。

第一个简单的智能合约到此结束。 正如您所知,它看上去像是 Java、C++这样的面向对象编程语言中的一个类。 现在可以运行我们的合约了。第一個簡單的智能合約到此結束。正如您所知,它看上去像是 Java、C++這樣的面向對象編程語言中的一個類。現在可以運行我們的合約了。

部署合約

當我們寫了第一個智能合約後,我們現在可以將它部署在區塊鏈中並運行它

在區塊鏈上部署智能合約實際上只是發送了一個包含已編譯智能合約代碼的交易,並且沒有指定任何收件人。

我們首先點擊左側的編譯圖標來編譯合約:

您可以選擇“自動編譯”選項,這樣當您在文本編輯器中保存內容時,合約始終會自動編譯。

然後切換到部署和運行交易屏幕:

在“部署和運行交易”屏幕上,仔細檢查顯示的合約名稱並點擊“部署”。在頁面頂部可以看到,當前環境為“JavaScript VM”,這意味著當前我們在本地測試區塊鏈上部署智能合約並交互,這樣測試可以更快,也不需要任何費用。

點擊“部署”按鈕後,您可以看到合約在底部顯示出來。點擊左側的箭頭展開,可以看到合約的內容。這裡有我們的變量counter、函數increment()和 getter getCounter()。

如果您點擊count或getCount按鈕,它將實際檢索合約的count變量的內容,並顯示出來。因為我們尚未調用increment函數,它應該顯示 0。

現在點擊按鈕來調用increment函數。您可以在窗口底部看到交易產生的日誌。當按下檢索數據按鈕而非increment按鈕時,您看到的日誌有所不同。這是因為讀取區塊鏈的數據不需要任何交易(寫入)或費用。因為只有修改區塊鏈的狀態需要進行交易。

在按下 increment 按鈕後,將產生一個交易來調用我們的increment()函數,如果我們點擊 count 或 getCount 按鈕,將讀取我們的智能合約的最新狀態,count 變量大於 0。

在下一个教程中在下一個教程中,我們將論述如何發布 PRC-20 Token

Last updated