以太坊代幣開發:Web3 初學者指南

本文為 Web3 開發初學者提供簡單的逐步指南,說明如何使用 OpenZeppelin、Hardhat、Infura 和 MetaMask 在以太坊區塊鏈上開發並部署 ERC-20 代幣,包括部署至 Linea 測試網。

4 分鐘閱讀
以太坊代幣開發:Web3 初學者指南

對於 web3 開發的初學者來說,開發並部署自己的代幣是開始建構鏈上軟體、提升 Solidity 技能以及了解 web3 開發生命週期最熱門的方式之一。

在以太坊中,有各種代幣標準,這些標準是代幣必須遵循的預定義規則集,以確保與以太坊網路及其他 dapp 的相容性、合規性和互通性。

這些標準包括:用於同質化代幣的 ERC-20、用於非同質化代幣(NFT)的 ERC-721、用於多代幣類型的 ERC-1155、用於進階代幣功能的 ERC-777、用於證券型代幣的 ERC-1400,以及用於代幣化金庫的 ERC-4626。

在本篇文章中,我們將利用 OpenZeppelin 開發一個 ERC-20 代幣。OpenZeppelin 是一個提供安全且經過測試的標準智能合約模板實作的函式庫。我們將逐步介紹如何設定開發環境、撰寫代幣合約,以及在 Linea 二層網路上部署合約。

步驟一:使用 Hardhat 設定開發環境

在開始開發以太坊代幣之前,您需要先設定開發環境。本篇文章將使用 Hardhat。請依照以下步驟操作:

  1. 安裝 Node.js 和 npm:Node.js 是一個 JavaScript 執行環境,npm 是其套件管理工具。請從 Node.js 官方網站 下載並安裝。

  2. 建立新的 Hardhat 專案:開啟終端機,為您的專案建立一個新目錄並進入該目錄。接著執行:


mkdir my-token

cd my-token

npm init -y

npm install --save-dev hardhat

npx hardhat
複製
  1. 安裝必要的 Hardhat 外掛程式和 OpenZeppelin 合約


npm install @nomiclabs/hardhat-ethers ethers @openzeppelin/contracts
複製

步驟二:建立您的以太坊代幣

請依照以下步驟建立一個簡單的 ERC-20 代幣:

  1. 建立代幣合約:在您的 Hardhat 專案中,進入 contracts 目錄並建立一個名為 MyToken.sol 的新檔案。開啟此檔案並定義您的代幣合約:


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {

    constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {

        _mint(msg.sender, initialSupply);

    }

}
複製

此智能合約使用 OpenZeppelin 的函式庫,建立了一個名為「MyToken」、代號為「MTK」的 ERC-20 代幣。部署後,它會鑄造由部署者指定的初始代幣供應量,並將其分配至部署者的地址。

  1. 撰寫部署腳本:在 scripts 目錄中,建立一個名為 deploy.js 的新檔案,並新增以下程式碼以部署您的合約:


async function main() {

  const [deployer] = await ethers.getSigners();

  console.log("Deploying contracts with the account:", deployer.address);

  const MyToken = await ethers.getContractFactory("MyToken");

  const myToken = await MyToken.deploy(1000000);

  console.log("MyToken deployed to:", myToken.address);

}

main()

  .then(() => process.exit(0))

  .catch((error) => {

    console.error(error);

    process.exit(1);

  });
複製

上述腳本使用 Hardhat 和 ethers.js 部署「MyToken」智能合約,並以 1,000,000 個代幣的供應量進行初始化。它會取得部署者的地址並部署合約。

  1. 在本地編譯並部署您的合約:在終端機中,將您的合約編譯並部署至 Hardhat 提供的本地區塊鏈:


npx hardhat compile

npx hardhat run scripts/deploy.js --network localhost
複製

步驟三:將您的代幣合約部署至 Linea 測試網

現在我們已在本地開發並部署了 ERC-20 代幣,接下來要使用 Infura 和 MetaMask 將其部署至 Linea 測試網。請依照以下步驟,讓您的代幣在 Linea 測試網上線。

  1. 設定 Infura 帳戶:Infura 提供便捷的各種區塊鏈網路及其測試網存取服務。建立一個新專案,從支援的網路選單中選擇 Linea Sepolia 測試網,並複製專案 ID。

  2. 設定 MetaMask:開啟您的 MetaMask 錢包並進入網路設定區塊。在下拉選單中,確認「顯示測試網路」已開啟,然後選擇 Linea Sepolia 測試網。

  3. 取得 Linea Sepolia ETH:部署合約時,您需要 Linea Sepolia ETH 來支付 gas 費用。您可以前往 Linea Sepolia 官方水龍頭 取得一些 Linea ETH。

  4. 更新 Hardhat 設定:在您的 Hardhat 專案中,更新 hardhat.config.js 以加入 Linea 測試網設定:


require("@nomiclabs/hardhat-ethers");

require("dotenv").config();

module.exports = {

  solidity: "0.8.0",

  networks: {

    lineaTestnet: {

      url: `https://linea-sepolia.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,

      accounts: [`0x${process.env.PRIVATE_KEY}`],

      chainId: 59141

    }

  }

};
複製

確認您的 .env 檔案包含必要的環境變數:


INFURA_PROJECT_ID=your_infura_project_id

PRIVATE_KEY=your_private_key
複製
  1. 將您的合約部署至 Linea Sepolia 測試網

現在,執行以下指令將您的代幣合約部署至 Linea 測試網:


npx hardhat compile

npx hardhat run scripts/deploy.js --network lineaTestnet
複製

此腳本將使用連接至 MetaMask 的帳戶,把您的 ERC-20 代幣合約部署至 Linea 測試網。

透過 MetaMask Developer 提升您的 web3 dapp 開發能力

透過掌握以太坊代幣開發的基礎知識、設定開發環境,並遵循最佳實踐,您就能成功開發並部署自己的以太坊代幣。無論是建立新的加密貨幣還是將資產代幣化,以太坊都提供了將您的想法付諸實現所需的工具和生態系統。

如需更進階的開發需求,例如以太坊登入(SIWE)、EIP-6963 支援,以及透過 Snaps 與 MetaMask 的無縫整合,請造訪 MetaMask Developer 開發者入口網站。該平台提供全面的工具、API 和 SDK 套件,旨在簡化使用者引導流程,並讓開發者能夠為 MetaMask 使用者打造獨特的無需許可錢包連接及 dapp 內體驗。

AI 翻譯。可能包含錯誤。請務必核實資訊。

評價此翻譯
  • Kingsley Okonkwo
    Kingsley Okonkwo

    Kingsley 是一位經認證的以太坊區塊鏈開發者,目前擔任 Consensys 的技術寫作員,專注於開發者工具領域。在加入 Consensys 之前,Kingsley 曾在多個平台上擔任自由接案後端開發者,包括 GigsterBraintrust。他擁有 5 年的軟體開發經驗,熟練掌握 JavaScript(Node.js 與 React)、GoLang、SQL 及 Docker 等工具。Kingsley 擅長撰寫步驟式教學與操作指南,善用最新的 Web3 技術,協助開發者社群打造更優質的 dapp。他目前定居於杜拜,閒暇時喜歡打籃球和踢足球。

    閱讀所有文章