iT邦幫忙

2025 iThome 鐵人賽

0
AI & Data

AI 營養師 + Web3 數位健康護照系列 第 35

Day35. 認識 Remix:瀏覽器上的智能合約 IDE

  • 分享至 

  • xImage
  •  

10月的最後一個連假,今年的台灣設計展在彰化;六日剛好也是台中的鈴蘭通,誘惑真大~好險已經完賽了XD

一、認識 Remix

1. 關於 Remix

Day11 提到 VSCode 是 Web2 常用的本地 IDE。它支援模組化開發、測試框架、版本控制與 CI/CD,是正式專案的首選工具。

而在去中心化的世界裡,也有一個「瀏覽器版 VSCode」的存在:Remix

Remix 是一個功能強大的開源 IDE(整合開發環境),專門為開發者設計來撰寫、編譯、部署和偵錯智能合約(Smart Contract)。它最大的特色是完全基於瀏覽器,不需要安裝任何軟體,只需打開網頁,就能立即開始編寫去中心化應用程式(DApp)。


2. Remix 的優點

  • Remix 內建「Injected Provider」功能,能與 MetaMask 錢包無縫整合。

  • Remix VM 虛擬機,適合快速測試

  • 適合在原型驗證階段使用:

Remix 完全基於瀏覽器,不需要安裝 Node.js、Hardhat、Truffle 等工具。只要打開 remix.ethereum.org,就能立即開始開發。很適合在原型驗證階段使用。

3. 為什麼需要使用 Remix?

除了適合在原型驗證階段使用,能直接連接 MetaMask 錢包,最主要的原因是會用到 Solidity 語言,而 Remix 就是專門為 Solidity 語言打造的 IDE,可以直接在瀏覽器中撰寫 .sol 檔案,相當的方便。


二、VSCode 與 Remix 如何分工?

1. VSCode 與 Remix 的比較

在 Web3 專案中,Remix 與 VSCode 的關係並不是互相競爭;相反的,是各自扮演不同角色

功能面向 VSCode + Hardhat Remix IDE(瀏覽器)
安裝與啟動 需要安裝 Node.js、Hardhat 等 免安裝,打開網頁即用
編譯與部署 需撰寫部署腳本 內建編譯器與部署介面
測試支援 支援 TDD、unit test 僅支援手動測試
錢包整合 需額外串接 Web3.js/Web3.py 直接支援 MetaMask
適合階段 正式專案、多人協作 教學、原型、快速驗證
優勢 可擴充、模組化、測試完整 快速部署、免設定、即時互動

三、Remix 安裝與使用教學

step 1. 開啟 Remix 網頁

直接在瀏覽器輸入網址:https://remix.ethereum.org/

https://ithelp.ithome.com.tw/upload/images/20251024/20129220upYkvpWaHf.png


step 2. 認識 Remix 介面

Remix 的介面分為幾個主要區塊:

  • 檔案瀏覽器(File Explorer):位於左側,可以創建、管理或匯入 .sol 合約檔案。

  • 編碼區(Editor):介面中央,也就是撰寫 Solidity 程式碼的地方。

  • 功能面板(Side Panel):位於左側,包含:

    • 編譯器(Compiler)
    • 部署與交易(Deploy & Run Transactions)
    • 偵錯器(Debugger)
  • RemixAI:位於右側。跟 Colab & VSCode 一樣,都有提供 AI 助理的功能。


step 3. 開始編碼

在檔案瀏覽器中:

  • 點擊 contracts 資料夾
  • 點擊「New File」,命名為 MyContract.sol
  • 這樣就可以開始寫智能合約的程式碼了

或是直接將這一段程式碼貼到 MyContract.sol:

# solidity

// 指定程式碼的許可證類型為 MIT
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

// 宣告一個名為 'Storage' 的智能合約
contract Storage {

    // 狀態變數 (State Variable): 儲存在區塊鏈上的變數
    // 'public' 關鍵字會自動為此變數建立一個名為 'number' 的 getter(讀取)函式
    uint256 public number; 

    // 函式 (Function): 用來設定 'number' 的值
    // 'set' 函式接受一個名為 '_num' (無符號 256 位元整數) 的輸入參數
    function set(uint256 _num) public {
    
        // 'public' 允許任何人呼叫此函式 (這會花費 Gas,因為它修改了狀態)
        number = _num; // 將合約中的 'number' 狀態變數設定為輸入的 '_num' 值
    }

    // 函式 (Function): 用來讀取 'number' 的值
    function get() public view returns (uint256) {
    
        // 'public' 允許任何人呼叫
        // 'view' 表示此函式不修改區塊鏈上的任何狀態變數 (呼叫此函式不花費 Gas)
        // 'returns (uint256)' 表示函式會回傳一個無符號 256 位元整數
        
        // 回傳 'number' 狀態變數的當前值
        return number; 
    }
}

貼上後, Remix 會很貼心的提醒「If you don't fully understand it, please don't run this code.

https://ithelp.ithome.com.tw/upload/images/20251024/201292207pxwQaOmC5.png

針對這種情形,Remix 提供 AI(Ask RemixAI)的功能讓使用者諮詢,稍後會再介紹


step 4. 編譯合約

  • 點擊右側的「Compiler」圖示
  • 選擇 Solidity 版本(與 prague 一致)
  • 點擊「Compile MyContract.sol」

https://ithelp.ithome.com.tw/upload/images/20251024/20129220FlZpTopEfx.jpg

編譯成功後會看到綠色的Nike(勾勾)

https://ithelp.ithome.com.tw/upload/images/20251024/20129220CEFM0wcFnr.jpg


step 5. 部署合約

  • 切換到「Deploy & Run Transactions」面板
  • 在 Environment 選單中選擇:
    • Remix VM(快速測試)
    • Injected Provider - MetaMask(部署到測試網)

https://ithelp.ithome.com.tw/upload/images/20251024/20129220zAFB0OWRDr.png

  • 選擇合約 → 點擊「Deploy」

MetaMask 會跳出交易確認視窗,點擊「確認」即可部署。


四、認識 RemixAI

1. Ask RemixAI

Coding 的過程中,Remix 如果偵測到程式碼是用貼上的,就會出現警告視窗,底下有個「Ask RemixAI」的選項。看看 RemixAI 怎麼說 MyContract.sol

https://ithelp.ithome.com.tw/upload/images/20251024/20129220IocSPCjqzA.png

2. 功能介紹

  • 左下方有4個AI模型可以選擇

https://ithelp.ithome.com.tw/upload/images/20251024/20129220pRYEK0uxf2.png

  • 右下方「Create new workplace with AI」提供 AI 協作功能

https://ithelp.ithome.com.tw/upload/images/20251024/20129220vOjMowuF8w.png


五、Remix 與 MetaMask 的協作流程

Day32 已經安裝過 MetaMask,現在就可以試試在 Remix 登入 MetaMask

步驟一:編寫與編譯合約

  • 撰寫 Solidity 程式碼
  • 編譯成功後,準備部署

步驟二:連接 MetaMask 錢包

  • 在「Deploy & Run Transactions」選擇 Injected Provider
  • MetaMask 會跳出連接視窗 → 點擊「連接」
  • Remix 會顯示你的錢包地址與餘額

步驟三:部署合約

  • 選擇合約 → 點擊「Deploy」
  • MetaMask 會跳出交易確認 → 點擊「確認」

步驟四:驗證部署結果

  • Remix 下方 Console 顯示交易 Hash
  • 點擊 Hash → 開啟 Etherscan 查看交易狀態
  • Remix 會顯示合約實例 → 可直接互動測試

五、延伸閱讀


上一篇
Day34. Web3 環境建置與打卡專案初始化
系列文
AI 營養師 + Web3 數位健康護照35
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言