10月的最後一個連假,今年的台灣設計展在彰化;六日剛好也是台中的鈴蘭通,誘惑真大~好險已經完賽了XD
在 Day11 提到 VSCode 是 Web2 常用的本地 IDE。它支援模組化開發、測試框架、版本控制與 CI/CD,是正式專案的首選工具。
而在去中心化的世界裡,也有一個「瀏覽器版 VSCode」的存在:Remix。
Remix 是一個功能強大的開源 IDE(整合開發環境),專門為開發者設計來撰寫、編譯、部署和偵錯智能合約(Smart Contract)。它最大的特色是完全基於瀏覽器,不需要安裝任何軟體,只需打開網頁,就能立即開始編寫去中心化應用程式(DApp)。
Remix 完全基於瀏覽器,不需要安裝 Node.js、Hardhat、Truffle 等工具。只要打開 remix.ethereum.org,就能立即開始開發。很適合在原型驗證階段使用。
除了適合在原型驗證階段使用,能直接連接 MetaMask 錢包,最主要的原因是會用到 Solidity 語言,而 Remix 就是專門為 Solidity 語言打造的 IDE,可以直接在瀏覽器中撰寫 .sol 檔案,相當的方便。
在 Web3 專案中,Remix 與 VSCode 的關係並不是互相競爭;相反的,是各自扮演不同角色
| 功能面向 | VSCode + Hardhat | Remix IDE(瀏覽器) |
|---|---|---|
| 安裝與啟動 | 需要安裝 Node.js、Hardhat 等 | 免安裝,打開網頁即用 |
| 編譯與部署 | 需撰寫部署腳本 | 內建編譯器與部署介面 |
| 測試支援 | 支援 TDD、unit test | 僅支援手動測試 |
| 錢包整合 | 需額外串接 Web3.js/Web3.py | 直接支援 MetaMask |
| 適合階段 | 正式專案、多人協作 | 教學、原型、快速驗證 |
| 優勢 | 可擴充、模組化、測試完整 | 快速部署、免設定、即時互動 |
直接在瀏覽器輸入網址:https://remix.ethereum.org/

Remix 的介面分為幾個主要區塊:
檔案瀏覽器(File Explorer):位於左側,可以創建、管理或匯入 .sol 合約檔案。
編碼區(Editor):介面中央,也就是撰寫 Solidity 程式碼的地方。
功能面板(Side Panel):位於左側,包含:
RemixAI:位於右側。跟 Colab & VSCode 一樣,都有提供 AI 助理的功能。
在檔案瀏覽器中:
contracts 資料夾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.」

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

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

Remix VM(快速測試)Injected Provider - MetaMask(部署到測試網)
MetaMask 會跳出交易確認視窗,點擊「確認」即可部署。
Coding 的過程中,Remix 如果偵測到程式碼是用貼上的,就會出現警告視窗,底下有個「Ask RemixAI」的選項。看看 RemixAI 怎麼說 MyContract.sol



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