韩国av不卡_日本美女久久久_少妇88av_国产黑丝在线视频_色花堂视频_天天想夜夜爽

幣圈網(wǎng)

CentOS 7 下搭建以太坊(Geth)節(jié)點(diǎn)全指南

以太坊作為全球領(lǐng)先的智能合約平臺(tái),其去中心化特性離不開眾多節(jié)點(diǎn)的支持,搭建自己的以太坊節(jié)點(diǎn),不僅可以參與網(wǎng)絡(luò)共識(shí)(如成為驗(yàn)證者,在PoS機(jī)制下),還能更安全、自主地與區(qū)塊鏈進(jìn)行交互,部署和測試智能合約等,本文將詳細(xì)介紹如何在 CentOS 7 操作系統(tǒng)上,使用 Geth(Go-Ethereum)客戶端搭建一個(gè)以太坊全節(jié)點(diǎn)。

準(zhǔn)備工作

  1. 硬件要求

    • CPU:至少 2 核,推薦 4 核或以上。
    • 內(nèi)存:至少 4GB RAM,推薦 8GB 或以上,對(duì)于全節(jié)點(diǎn),16GB 更佳。
    • 存儲(chǔ):至少 500GB 可用磁盤空間(SSD 強(qiáng)烈推薦,因?yàn)橥絽^(qū)塊數(shù)據(jù)需要大量隨機(jī)讀寫),建議 1TB 或更大,因?yàn)閿?shù)據(jù)會(huì)持續(xù)增長。
    • 網(wǎng)絡(luò):穩(wěn)定的互聯(lián)網(wǎng)連接,建議帶寬 10Mbps 或以上,上行帶寬尤為重要,因?yàn)楣?jié)點(diǎn)需要為其他節(jié)點(diǎn)提供數(shù)據(jù)。
  2. 軟件環(huán)境

    • 操作系統(tǒng):CentOS 7 64-bit
    • 用戶權(quán)限:具有 sudo 權(quán)限的非 root 用戶(推薦)
    • 網(wǎng)絡(luò)連接:確保服務(wù)器可以訪問互聯(lián)網(wǎng),并且所需的端口(默認(rèn) 30303 TCP/UDP)是開放的。
  3. 更新系統(tǒng): 在開始之前,建議先更新系統(tǒng)軟件包到最新版本:

    sudo yum update -y

安裝必要依賴

Geth 的編譯和運(yùn)行需要一些基礎(chǔ)的依賴庫,我們使用 yum 來安裝它們:

sudo yum groupinstall "Development Tools" -y
sudo yum install wget git make gcc-c   -y

安裝 Go 語言環(huán)境

Geth 是用 Go 語言編寫的,因此需要先安裝 Go 環(huán)境。

  1. 下載 Go: 訪問 Go 官方下載頁面 獲取最新版本的 Linux 64-bit 安裝包,我們假設(shè)下載的是 go1.21.0.linux-amd64.tar.gz:

    wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz
  2. 解壓并安裝 Go: 將下載的 Go 壓縮包解壓到 /usr/local 目錄下:

    sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
  3. 配置 Go 環(huán)境變量: 編輯 ~/.bash_profile 文件,添加 Go 的路徑:

    echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bash_profile
    echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
    echo 'export GOBIN=$GOPATH/bin' >> ~/.bash_profile

    然后使配置生效:

    source ~/.bash_profile
  4. 驗(yàn)證 Go 安裝: 執(zhí)行以下命令,如果顯示 Go 版本號(hào),則表示安裝成功:

    go version

編譯并安裝 Geth

  1. 克隆 Geth 源碼倉庫: 從 GitHub 上克隆 Geth 的最新源碼:

    git clone https://github.com/ethereum/go-ethereum.git
  2. 進(jìn)入源碼目錄并編譯

    cd go-ethereum
    make geth

    這個(gè)過程可能需要一些時(shí)間,具體取決于你的 CPU 性能。

  3. 驗(yàn)證 Geth 安裝: 編譯完成后,geth 可執(zhí)行文件會(huì)生成在 build/bin/ 目錄下,你可以將其復(fù)制到系統(tǒng) PATH 中的某個(gè)目錄,/usr/local/bin

    sudo cp build/bin/geth /usr/local/bin/

    然后驗(yàn)證:

    geth version

啟動(dòng)以太坊節(jié)點(diǎn)

Geth 提供了多種啟動(dòng)方式,這里我們介紹最常用的同步方式。

  1. 創(chuàng)建數(shù)據(jù)目錄(可選,但推薦):

    mkdir -p ~/ethereum/data
  2. 啟動(dòng) Geth 節(jié)點(diǎn)

    • 同步區(qū)塊數(shù)據(jù): 首次啟動(dòng)時(shí),Geth 需要從其他節(jié)點(diǎn)同步區(qū)塊鏈上的所有數(shù)據(jù),這個(gè)過程可能非常耗時(shí),從幾個(gè)小時(shí)到幾天甚至幾周不等,取決于你的網(wǎng)絡(luò)速度和硬件性能。

      主網(wǎng)同步(默認(rèn)): 這是最慢的同步方式,會(huì)下載并驗(yàn)證所有歷史區(qū)塊數(shù)據(jù)。

      geth --datadir ~/ethereum/data --syncmode full --http --http.addr "0.0.0.0" --http.port "8545" --http.api "eth,net,web3,personal"
      • --datadir: 指定數(shù)據(jù)存儲(chǔ)目錄。
      • --syncmode full: 全同步模式,下載所有區(qū)塊和狀態(tài)數(shù)據(jù),也可以選擇 --syncmode snap(快速同步,目前推薦,下載狀態(tài)根而不是全部狀態(tài)數(shù)據(jù),速度更快)。
      • --http: 啟動(dòng) HTTP-RPC 服務(wù),方便通過 Web3.js 等庫與節(jié)點(diǎn)交互。
      • --http.addr "0.0.0.0": 允許任何 IP 地址訪問 HTTP-RPC 服務(wù)(生產(chǎn)環(huán)境建議限制為特定 IP)。
      • --http.port "8545": HTTP-RPC 服務(wù)端口。
      • --http-api: 指定開放的 API 接口。

      測試網(wǎng)同步(Ropsten 測試網(wǎng)): 如果你想在測試網(wǎng)上進(jìn)行測試,可以指定測試網(wǎng)名稱:

      geth --datadir ~/ethereum/data --testnet --syncmode full --http --http.addr "0.0.0.0" --http.port "8545"
    • 后臺(tái)運(yùn)行: 為了讓節(jié)點(diǎn)在后臺(tái)持續(xù)運(yùn)行,可以使用 nohup 命令,并將輸出重定向到日志文件:

      nohup geth --datadir ~/ethereum/data --syncmode snap --http --http.addr "0.0.0.0" --http.port "8545" --http.api "eth,net,web3,personal" > ~/ethereum/geth.log 2>&1 &
      • nohup: 使得命令在用戶退出登錄后仍然運(yùn)行。
      • > ~/ethereum/geth.log 2>&1: 將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤都重定向到日志文件。
    • 查看同步狀態(tài): 在另一個(gè)終端窗口,你可以使用以下命令查看同步進(jìn)度:

      geth attach ~/ethereum/data/geth.ipc

      進(jìn)入控制臺(tái)后,輸入:

      eth.syncing

      如果返回 false,表示同步已完成,如果返回一個(gè)對(duì)象,則表示仍在同步,currentBlock 是當(dāng)前同步到的區(qū)塊號(hào),highestBlock 是網(wǎng)絡(luò)最高區(qū)塊號(hào)。

常用管理命令

  1. 停止節(jié)點(diǎn): 如果你使用了 nohup,可以通過查找進(jìn)程 ID (PID) 來停止它:

    ps aux | grep geth
    # 找到 geth 的 PID,然后執(zhí)行
    kill <PID>

    如果節(jié)點(diǎn)正在前臺(tái)運(yùn)行,直接按 Ctrl C 即可。

  2. 查看日志

    tail -f ~/ethereum/geth.log
  3. 管理賬戶: 你可以通過 Geth 控制臺(tái)創(chuàng)建和管理賬戶:

    geth attach ~/ethereum/data/geth.ipc

    控制臺(tái)命令:

    // 創(chuàng)建新賬戶
    personal.newAccount("your_password")
    // 查看賬戶列表
    eth.accounts
    // 查看賬戶余額
    eth.getBalance(eth.accounts[0])

注意事項(xiàng)與最佳實(shí)踐

  1. 磁盤空間:密切關(guān)注磁盤空間使用情況,區(qū)塊鏈數(shù)據(jù)會(huì)持續(xù)增長,考慮定期清理舊數(shù)據(jù)或使用更大的存儲(chǔ)。
  2. 防火墻:確保服務(wù)器的防火墻規(guī)則允許 30303 端口(TCP 和 UDP)的入站和出站連接,以便與其他節(jié)點(diǎn)通信,如果啟用了 HTTP-RPC,確保 8545 端口(或其他你設(shè)置的端口)的訪問是安全的。
    sudo firewall-cmd --permanent --add-port=30303/tcp
    sudo firewall-c

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品国产91 | 天天干夜夜 | 97色碰| 国产福利影视 | 视频一区欧美 | 伊人综合久久 | 日本黄色大片免费 | 欧美va在线观看 | 成人激情视频 | a中文字幕| 色视频导航 | 午夜视频在线免费播放 | 中文字幕在线视频免费观看 | 国产亚洲精品久久久 | 精品久久久久久久久久 | 欧美精品入口蜜桃 | 日韩在线视频网址 | 亚洲狼人天堂 | 91精品久久久久久粉嫩 | 91色国产 | 欧美一级免费视频 | 成人首页 | 日韩有码一区 | 欧美午夜久久 | 日本一二三区在线观看 | 午夜激情在线观看 | 成年人免费网站视频 | 草草影院国产第一页 | 亚洲蜜臀av乱码久久精品蜜桃 | 日韩亚洲天堂 | 日韩免费视频 | 蜜桃天堂| 丰满少妇乱子伦精品看片 | 日韩在线影院 | 成人欧美一区二区三区黑人免费 | 看国产毛片 | 免费av免费看 | 91久久久久久久久久久 | 中文字幕偷拍 | 人人超碰97| 日本wwww色 |