บทเรียนที่ 1

Remix設置

歡迎來到《Remix中的以太坊Gas優化策略》課程第一章!

歡迎來到《Remix中的以太坊Gas優化策略》課程第一章!在開始本次課程的學習之前,想必大家已經具備了一定的以太坊智能合約開髮經驗,也應該註意到每筆交易和部署過程都會産生gas費用。Gas確保以太坊網絡健康運作,沒有垃圾信息,但這也意味著我們在智能合約中編寫的每一行代碼在執行時都可能花費實實在在的金錢。

如果您不是專家,那麽在開始之前,可以先閲讀以下文章增加了解:

什麽是以太坊?

什麽是智能合約?

什麽是Gas費?

在本課程中,我們將深入了解gas成本,併探討降低gas成本的方法。在開始優化技術之前,我們需要熟悉基礎概念和工具。第一課的重點是設置Remix開髮環境,併介紹以太坊中gas的核心概念。

設置Remix

爲什麽選擇Goerli測試網?

以太坊的測試網類似於主網,但開髮人員可以在不花費真正的以太幣(ETH)的情況下進行測試。由於Goerli測試網在以太坊社區中具有較高的穩定性和採用率,我們將使用它進行示例講解。

測試網和主網之間有什麽區別?

爲什麽選擇Remix?

Remix是一款專爲以太坊智能合約開髮而設計的開源工具,提供了一個用戶友好的環境,用於創建、部署和測試智能合約。它內置的靜態分析工具對我們課程的開展至關重要,有助於大家理解各個函數的gas消耗。

在Remix上設置Goerli測試網

  • 在瀏覽器中啟動Remix IDE。
  • 進入Deploy & Run Transactions
  • Environment下拉列錶中,選擇Injected Provider。此選項將使Remix連接到任何Web3提供商,如MetaMask。

  • 確保MetaMask與Goerli測試網連接。如果尚未設置,請將MetaMask中的網絡切換爲Goerli測試網。

  • 完成後,你的Remix現在應該顯示Goerli測試網和帳戶地址。

通過Remix在Goerli上部署基礎合約

Solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.9;

contract SimpleStorage {
    uint256 public storedValue;

    function set(uint256 value) public {
        storedValue = value;
    }

    function get() public view returns (uint256) {
        return storedValue;
    }
}
  1. 覆製以上合約代碼。

  2. 在Remix的Solidity選項卡下,單擊+圖標創建一個新文件,併將其命名爲SimpleStorage.sol

  3. 粘貼合約代碼。

  4. 進入Deploy & Run Transactions選項卡。

  5. 單擊Deploy按鈕。確認MetaMask交易。現在,你的合約便成功在Goerli測試網上部署了!(在部署合約前,請確保你的Metamask錢包中有足夠的GoerliETH。若需要GoerliETH,可以訪問https://goerlifaucet.com/併根據説明領取。)

思考

嘗試運行Remix中已部署的合約的setget函數,併註意gas消耗情況。思考以下問題:

  • 哪些操作會消耗更多的gas?
  • 函數的覆雜性與gas成本有何關繫?

對以上問題的思考有助於大家爲我們即將開始的gas優化課程奠定基礎。

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
แคตตาล็อก
บทเรียนที่ 1

Remix設置

歡迎來到《Remix中的以太坊Gas優化策略》課程第一章!

歡迎來到《Remix中的以太坊Gas優化策略》課程第一章!在開始本次課程的學習之前,想必大家已經具備了一定的以太坊智能合約開髮經驗,也應該註意到每筆交易和部署過程都會産生gas費用。Gas確保以太坊網絡健康運作,沒有垃圾信息,但這也意味著我們在智能合約中編寫的每一行代碼在執行時都可能花費實實在在的金錢。

如果您不是專家,那麽在開始之前,可以先閲讀以下文章增加了解:

什麽是以太坊?

什麽是智能合約?

什麽是Gas費?

在本課程中,我們將深入了解gas成本,併探討降低gas成本的方法。在開始優化技術之前,我們需要熟悉基礎概念和工具。第一課的重點是設置Remix開髮環境,併介紹以太坊中gas的核心概念。

設置Remix

爲什麽選擇Goerli測試網?

以太坊的測試網類似於主網,但開髮人員可以在不花費真正的以太幣(ETH)的情況下進行測試。由於Goerli測試網在以太坊社區中具有較高的穩定性和採用率,我們將使用它進行示例講解。

測試網和主網之間有什麽區別?

爲什麽選擇Remix?

Remix是一款專爲以太坊智能合約開髮而設計的開源工具,提供了一個用戶友好的環境,用於創建、部署和測試智能合約。它內置的靜態分析工具對我們課程的開展至關重要,有助於大家理解各個函數的gas消耗。

在Remix上設置Goerli測試網

  • 在瀏覽器中啟動Remix IDE。
  • 進入Deploy & Run Transactions
  • Environment下拉列錶中,選擇Injected Provider。此選項將使Remix連接到任何Web3提供商,如MetaMask。

  • 確保MetaMask與Goerli測試網連接。如果尚未設置,請將MetaMask中的網絡切換爲Goerli測試網。

  • 完成後,你的Remix現在應該顯示Goerli測試網和帳戶地址。

通過Remix在Goerli上部署基礎合約

Solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.9;

contract SimpleStorage {
    uint256 public storedValue;

    function set(uint256 value) public {
        storedValue = value;
    }

    function get() public view returns (uint256) {
        return storedValue;
    }
}
  1. 覆製以上合約代碼。

  2. 在Remix的Solidity選項卡下,單擊+圖標創建一個新文件,併將其命名爲SimpleStorage.sol

  3. 粘貼合約代碼。

  4. 進入Deploy & Run Transactions選項卡。

  5. 單擊Deploy按鈕。確認MetaMask交易。現在,你的合約便成功在Goerli測試網上部署了!(在部署合約前,請確保你的Metamask錢包中有足夠的GoerliETH。若需要GoerliETH,可以訪問https://goerlifaucet.com/併根據説明領取。)

思考

嘗試運行Remix中已部署的合約的setget函數,併註意gas消耗情況。思考以下問題:

  • 哪些操作會消耗更多的gas?
  • 函數的覆雜性與gas成本有何關繫?

對以上問題的思考有助於大家爲我們即將開始的gas優化課程奠定基礎。

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.