Web3小白

Web3小白

玩转Web3,我是Web3小白!

從零開始搭建Web3應用:以太坊、Metamask與Solidity實踐教程

搭建一個 Web3 應用,核心就是連接區塊鏈網絡、管理用戶錢包和編寫智能合約。以太坊是目前最主流的智能合約平台,Metamask 作為主流錢包工具,方便用戶管理資產和簽名交易,Solidity 則是以太坊智能合約的主要編程語言。下面一步步帶你從零開始,搭建一個簡單的 Web3 應用。

以太坊 以太幣 Ethereum ETH

連接以太坊網絡#

要和以太坊交互,首先需要連接到以太坊節點。常用的方式是通過 Web3.js 或 Ethers.js 這兩個 JavaScript 庫。這裡推薦用 Ethers.js,API 簡潔,易上手。

`import { ethers } from "ethers";

const provider = new ethers.providers.Web3Provider(window.ethereum);`

這段代碼會調用瀏覽器中安裝的 Metamask 錢包,自動連接用戶當前選中的以太坊網絡。用戶首次訪問時,Metamask 會彈出授權請求,允許你的應用訪問錢包地址。

使用 Metamask 管理錢包#

Metamask 不僅是錢包,更是用戶身份的入口。通過它,用戶可以簽名交易、管理資產。

請求用戶授權訪問錢包地址:

`async function requestAccount() {

await window.ethereum.request({ method: 'eth_requestAccounts' });

}`

調用這個函數後,用戶會看到 Metamask 彈窗,確認授權。授權成功後,可以通過 provider 獲取用戶地址:

`const signer = provider.getSigner();

const userAddress = await signer.getAddress();

console.log ("當前用戶地址:", userAddress);`

這樣就完成了錢包連接和用戶身份獲取。

編寫簡單的 Solidity 智能合約#

Solidity 是以太坊智能合約的主流語言。寫一個簡單的合約,比如一個存儲數字的合約:

`// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract SimpleStorage {

uint256 private storedData;

function set(uint256 x) public {

    storedData = x;

}

function get() public view returns (uint256) {

    return storedData;

}

}`

這個合約有兩個函數:set用來存儲數字,get用來讀取數字。

部署智能合約#

部署合約需要用到開發環境,比如 Remix IDE,或者使用 Hardhat、Truffle 等框架。這裡推薦用 Remix,操作簡單。

  1. 打開 Remix IDE
  2. 新建文件,粘貼上面的 Solidity 代碼。
  3. 選擇合適的編譯器版本,點擊編譯。
  4. 連接 Metamask 錢包,選擇測試網(例如 Goerli)。
  5. 點擊部署,Metamask 會彈出交易確認,確認後等待區塊確認。

部署成功後,會得到合約地址。

在前端調用智能合約#

部署合約後,前端通過合約地址和 ABI 與合約交互。

`const contractAddress =" 你的合約地址 ";

const contractABI = [/* Remix 編譯後生成的 ABI */];

const contract = new ethers.Contract(contractAddress, contractABI, signer);

// 調用 set 函數

async function setValue(value) {

const tx = await contract.set(value);

await tx.wait();

console.log ("存儲成功");

}

// 調用 get 函數

async function getValue() {

const value = await contract.get();

console.log ("當前存儲值:", value.toString ());

}`

調用setValue會發起交易,用戶需要在 Metamask 確認。調用getValue是只讀操作,不需要交易費。

國內用戶訪問交易所備用域名推薦#

在幣圈操作中,訪問交易所官網是常態。國內用戶可以使用 超鏈導航 提供的交易所備用域名,保證訪問穩定:

這些備用域名能幫助用戶快速訪問交易所最新官方地址,避免因網絡波動導致無法訪問。

總結#

搭建 Web3 應用的關鍵是連接以太坊網絡、管理用戶錢包和編寫智能合約。通過 Ethers.js 和 Metamask,前端可以輕鬆實現錢包連接和交易簽名。Solidity 智能合約負責業務邏輯,部署到測試網後即可調用。國內用戶在幣圈操作時,使用 超鏈導航 提供的交易所備用域名,能保證訪問順暢。掌握這些基礎,Web3 應用開發不再難,動手實踐是最好的學習方式。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。