Blockchain 配置方法

FreeGuideOnline 最新 2026-07-15

bash sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install -y ethereum


macOS 可使用 Homebrew:
```bash
brew tap ethereum/ethereum
brew install ethereum

创建账户与数据目录

# 创建数据目录
mkdir ~/eth-node
# 创建新账户(记住密码)
geth --datadir ~/eth-node account new

连接网络并启动节点

以太坊网络分为主网和多个测试网。以 Sepolia 测试网为例:

geth --sepolia --datadir ~/eth-node --http --http.api eth,net,web3,personal --http.addr "0.0.0.0" --http.port 8545 --allow-insecure-unlock --syncmode "snap" --verbosity 3

关键参数说明:

  • --sepolia:连接 Sepolia 测试网,若连接主网则省略
  • --syncmode "snap":使用快照同步,速度较快;可选 full 全量同步
  • --http 及相关参数:开放 JSON‑RPC 接口,便于 MetaMask 或 DApp 连接
  • --allow-insecure-unlock:允许通过 HTTP 解锁账户(仅用于开发环境)

配置文件方式启动

创建 config.toml 文件:

[Eth]
NetworkId = 11155111   # Sepolia 网络 ID
SyncMode = "snap"

[Node]
DataDir = "/home/user/eth-node"
HTTPHost = "0.0.0.0"
HTTPPort = 8545
HTTPModules = ["eth", "net", "web3", "personal"]
HTTPCors = ["*"]
WSHost = "0.0.0.0"
WSPort = 8546

然后使用:

geth --config config.toml

Hyperledger Fabric 环境配置

Fabric 是企业级许可链,配置其开发环境需要多个组件。

安装依赖与工具

安装 Docker 和 Docker Compose

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# 安装 docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

安装 Fabric 二进制文件和镜像

curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.5.5 1.5.7

脚本会下载 fabric-samples 仓库以及指定版本的二进制文件和 Docker 镜像。

启动测试网络

进入 fabric-samples/test-network 目录:

cd fabric-samples/test-network
./network.sh up createChannel -c mychannel -ca

该命令会启动一个包含两个组织的网络,创建名为 mychannel 的通道,并启用证书颁发机构。

部署链码(智能合约)

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-javascript -ccl javascript

这会将 asset-transfer-basic 链码打包并部署到通道上。

网络关闭与清理

./network.sh down

Bitcoin 核心配置 (bitcoind)

Bitcoin 核心客户端使用 bitcoin.conf 文件进行配置。

安装 Bitcoin Core

Ubuntu 下添加官方 PPA:

sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install -y bitcoin-qt bitcoind

基本配置文件

创建 ~/.bitcoin/bitcoin.conf

# 运行测试网,主网可省略此行
testnet=1

# 数据存储目录
datadir=/mnt/btc_data

# 允许 JSON-RPC 访问
server=1
rpcuser=myuser
rpcpassword=strongpassword_here
rpcallowip=127.0.0.1
rpcport=8332

# 同步配置
dbcache=4096
txindex=1

启动节点:

bitcoind -daemon

调整节点连接与网络

# 最大连接数
maxconnections=40
# 指定种子节点
seednode=seed.bitcoin.sipa.be
# 仅通过 Tor 网络
proxy=127.0.0.1:9050

智能合约开发框架配置

开发 DApp 离不开 Truffle、Hardhat 等框架,它们大大简化了编译、部署和测试流程。

Hardhat 配置实战

Hardhat 是当前最灵活的以太坊开发环境。

初始化项目

mkdir my-dapp && cd my-dapp
npm init -y
npm install --save-dev hardhat @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
npx hardhat

配置 hardhat.config.js

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

module.exports = {
  solidity: "0.8.19",
  networks: {
    hardhat: { },  // 内置网络
    sepolia: {
      url: "https://sepolia.infura.io/v3/YOUR_PROJECT_ID",
      accounts: ["0x你的私钥"]
    },
    localhost: {
      url: "http://127.0.0.1:8545"
    }
  }
};

使用 Alchemy 或 Infura 作为远程节点服务商,需提前注册并获取项目 ID。

Truffle 配置

Truffle 更成熟,适合大型项目。

安装与初始化

npm install -g truffle
mkdir my-truffle && cd my-truffle
truffle init

配置 truffle-config.js

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*"
    },
    sepolia: {
      provider: () => new HDWalletProvider(mnemonic, `https://sepolia.infura.io/v3/PROJECT_ID`),
      network_id: 11155111,
      gas: 5500000
    }
  },
  compilers: {
    solc: {
      version: "0.8.19"
    }
  }
};