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

幣圈網

創建一個目錄用于存放私有鏈數據

手把手教你搭建以太坊私有鏈:從零開始的實驗指南**


以太坊作為全球領先的智能合約平臺,其公有鏈雖然功能強大,但在某些場景下(如企業內部應用、數據隱私要求高的項目、開發測試等),搭建一條私有鏈或聯盟鏈更為合適,私有鏈允許參與者對交易數據進行完全控制,無需擔心公有鏈上的網絡擁堵和高昂Gas費用,本文將詳細介紹如何通過Geth(Go-Ethereum)客戶端,從零開始搭建一條簡單的以太坊私有鏈,并進行基本的交互實驗。

實驗目的

  1. 理解以太坊私有鏈的基本概念與搭建原理。
  2. 掌握使用Geth客戶端初始化、啟動私有鏈的方法。
  3. 學會在私有鏈上創建賬戶、查看賬戶信息、轉賬及部署簡單智能合約。
  4. 體驗私有鏈的運行機制與特點。

實驗環境準備

  1. 操作系統:Linux (Ubuntu 18.04/20.04)、macOS 或 Windows (本文以Linux為例)。
  2. Go語言環境:Geth是Go語言編寫的,需要安裝Go (建議1.16及以上版本)。
    # 安裝Go (以Ubuntu為例,具體版本請參考Go官網)
    sudo apt update
    sudo apt install golang-go
  3. Geth客戶端:可以從以太坊官方GitHub下載編譯好的二進制文件或自行編譯。
    # 下載并解壓Geth (示例版本v1.10.25,請替換為最新穩定版)
    wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.25-4167d45b.tar.gz
    tar -xzf geth-linux-amd64-1.10.25-4167d45b.tar.gz
    sudo cp geth-linux-amd64-1.10.25-4167d45b/geth /usr/local/bin/
    geth version # 驗證安裝
  4. 文本編輯器:如VS Code, Vim等,用于編寫智能合約。
  5. Solidity編譯器 (solc):用于編譯智能合約。
    # 安裝solc (通過npm,需先安裝Node.js)
    sudo apt install nodejs npm
    npm install -g solc

實驗步驟

設計創世區塊 (Genesis Block)

私有鏈的第一個區塊——創世區塊需要我們手動定義,創建一個名為custom.json的文件,內容如下:

{
  "config": {
    "chainId": 15,         // 私有鏈ID,避免與公有鏈沖突 (1-14為公有鏈保留)
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0
  },
  "alloc": {
    // 預分配一些以太坊給指定地址,可選
    "0x1234567890123456789012345678901234567890": {
      "balance": "100000000000000000000" // 100 ETH
    }
  },
  "coinbase": "0x0000000000000000000000000000000000000000",
  "difficulty": "0x4000",  // 初始難度,私有鏈可以設置低一些方便挖礦
  "extraData": "",
  "gasLimit": "0xffffffff",
  "nonce": "0x0000000000000042",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp": "0x00"
}

說明

  • chainId:私有鏈的唯一標識符,非常重要。
  • alloc:預分配地址和余額,方便初始測試。
  • difficulty:挖礦難度,私有鏈可以設置較低值,以便快速出塊。

初始化私有鏈

使用Geth的init命令,根據創世區塊文件初始化私有鏈數據目錄。

cd my_private_chain
# 使用創世區塊文件初始化
geth --datadir "./data" init ../custom.json

執行成功后,會在./data目錄下生成gethkeystorechaindata等文件夾,用于存儲鏈數據、賬戶信息和區塊數據。

啟動私有鏈節點

初始化完成后,啟動私有鏈節點。

geth --datadir "./data" --nodiscover --rpc --rpcaddr "0.0.0.0" --rpcport "8545" --rpcapi "db,eth,net,web3,personal" --mine --minerthreads 1 --console

參數說明

  • --datadir "./data":指定數據目錄。
  • --nodiscover:禁止節點自動發現其他節點,適用于私有鏈。
  • --rpc:啟用HTTP-RPC服務。
  • --rpcaddr "0.0.0.0":RPC服務監聽地址,0.0.0.0表示監聽所有網絡接口。
  • --rpcport "8545":RPC服務端口,默認8545。
  • --rpcapi "db,eth,net,web3,personal":允許通過RPC調用的API列表。
  • --mine:開啟挖礦。
  • --minerthreads 1:挖礦線程數,根據CPU核心數調整。
  • --console:啟動后自動進入JavaScript控制臺,方便交互。

啟動后,節點會開始嘗試挖礦,由于我們設置了較低的難度,出塊會很快,如果沒有預分配地址或預分配地址沒有解鎖,節點會使用默認的coinbase地址挖礦。

私有鏈交互 (通過Geth控制臺)

當看到miner.start()返回的哈希值,并且區塊高度開始增長時,表示節點運行正常,我們可以在Geth控制臺進行以下操作:

  1. 查看賬戶信息

    // 查看當前賬戶列表
    personal.listAccounts
    // 應該能看到預分配的地址(如果解鎖了)和默認的coinbase地址
    // 查看當前使用的賬戶(默認為coinbase)
    eth.coinbase
  2. 創建新賬戶

    // 創建一個新賬戶,并設置密碼(注意:控制臺輸入密碼不會顯示)
    personal.newAccount("your_password")
    // 記住返回的新賬戶地址
  3. 解鎖賬戶

    // 解鎖賬戶,以便進行交易(如轉賬、部署合約)
    personal.unlockAccount(eth.coinbase, "your_coinbase_password")
    // 解鎖預分配的賬戶(如果需要)
    // personal.unlockAccount("0x1234567890123456789012345678901234567890", "alloc_password")
  4. 轉賬 (發送ETH)

    // 從coinbase賬戶向新創建的賬戶轉賬1 ETH
    // 參數:發送方,接收方,金額(單位:wei),單位
    eth.sendTransaction({from: eth.coinbase, to: "0x新創建的賬戶地址", value: web3.toWei(1, "ether")})
    // 查看交易狀態,返回交易哈希
    // 交易被打包后,接收方余額會增加
  5. 查看余額

    // 查看指定地址的余額(單位:wei)
    web3.eth.getBalance("0x1234567890123456789012345678901234567890")
    // 轉換為ether顯示
    web3.fromWei(web3.eth.getBalance("0x1234567890123456789012345678901234567890"), "ether")
  6. 停止/開始挖礦

    // 停止挖礦
    miner.stop()
    // 開始挖礦
    miner.start(1) // 1為線程數

部署和調用智能合約 (可選)

  1. 編寫智能合約: 創建一個簡單存儲合約SimpleStorage.sol
     

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 中文字幕精品视频在线 | 亚洲黄色片在线观看 | 日韩三级av| 精品成人一区二区三区 | 四虎成人免费 | 亚洲午夜视频在线 | 欧美成人精品欧美一级私黄 | 婷婷色五| 国产精品成人在线观看 | 国产无限资源 | 国产精品1 | 久草手机在线 | 91亚洲国产成人精品性色 | 丝袜超碰| 在线免费观看亚洲 | 久久久久久国产精品视频 | 国产成人免费在线 | 国产亚洲精品久久久 | 啪啪五月天 | 91色中文| 久久久三级 | 久久精品一级片 | 金瓶狂野欧美性猛交xxxx | 免费激情网| 国产五月天婷婷 | 中文字幕在线观看视频网站 | 久久久小视频 | 欧美精品在线一区 | 天天操天天爱天天干 | va婷婷在线免费观看 | 国产xxx视频| 日韩久久在线 | 欧美日韩一级在线 | 毛片网站免费观看 | 国产在线观看你懂的 | 永久黄网站 | 神马影院久久 | 日本少妇做爰全过程毛片 | 国产亚洲区| 国产美女视频一区 | 日韩av在线播放观看 |