以太坊私网建立 (2) - 同一台电脑/不同电脑运行多个节点
接下来我们将在我们的私有网络连接两个节点。
先思考两个问题
- 决定存储区块链数据的目录
- 选择网络id,默认1为主网
为了在同一台机器能够运行两个节点,我们需要为不同的节点设置不同的port
和rpcport
。
开始编码
liyuechun:Desktop yuechunli$ cd 1015/
liyuechun:1015 yuechunli$ mkdir test
liyuechun:1015 yuechunli$ cd test/
liyuechun:test yuechunli$
查看你的ip地址
liyuechun:~ yuechunli$ ifconfig|grep netmask|awk '{print $2}'
127.0.0.1
192.168.1.5
10.20.0.8
打开节点
liyuechun:test yuechunli$ geth --networkid 123 --datadir data1 --rpc --rpcaddr 192.168.1.5 --rpcport 8989 --port 3000 console
WARN [10-15|08:20:18] No etherbase set and no accounts found as default
INFO [10-15|08:20:18] Starting peer-to-peer node instance=Geth/v1.7.1-stable-05101641/darwin-amd64/go1.9.1
INFO [10-15|08:20:18] Allocated cache and file handles database=/Users/liyuechun/Desktop/1015/test/hi/geth/chaindata cache=128 handles=1024
INFO [10-15|08:20:18] Writing default main-net genesis block
INFO [10-15|08:20:18] Initialised chain configuration config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Engine: ethash}"
INFO [10-15|08:20:18] Disk storage enabled for ethash caches dir=/Users/liyuechun/Desktop/1015/test/hi/geth/ethash count=3
INFO [10-15|08:20:18] Disk storage enabled for ethash DAGs dir=/Users/liyuechun/.ethash count=2
INFO [10-15|08:20:18] Initialising Ethereum protocol versions="[63 62]" network=123
INFO [10-15|08:20:18] Loaded most recent local header number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [10-15|08:20:18] Loaded most recent local full block number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [10-15|08:20:18] Loaded most recent local fast block number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [10-15|08:20:18] Regenerated local transaction journal transactions=0 accounts=0
INFO [10-15|08:20:18] Starting P2P networking
INFO [10-15|08:20:20] UDP listener up self=enode://032ff589bae471ab0884cce696a632fcb44ec9b7c33dfa5c06e547de099ed116360e74172c0398396588e6a374bf0dd7da1558e0a4899e9670d2ce7a1967cf11@[::]:3000
INFO [10-15|08:20:20] RLPx listener up self=enode://032ff589bae471ab0884cce696a632fcb44ec9b7c33dfa5c06e547de099ed116360e74172c0398396588e6a374bf0dd7da1558e0a4899e9670d2ce7a1967cf11@[::]:3000
INFO [10-15|08:20:20] IPC endpoint opened: /Users/liyuechun/Desktop/1015/test/hi/geth.ipc
INFO [10-15|08:20:20] HTTP endpoint opened: http://192.168.1.4:8545
Welcome to the Geth JavaScript console!
instance: Geth/v1.7.1-stable-05101641/darwin-amd64/go1.9.1
modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
>
多节点连接
Enode url
其实就是和另外一个节点互动的唯一的id
。
节点A
> admin.nodeInfo.enode
"enode://032ff589bae471ab0884cce696a632fcb44ec9b7c33dfa5c06e547de099ed116360e74172c0398396588e6a374bf0dd7da1558e0a4899e9670d2ce7a1967cf11@[::]:3000"
>
[::]
等价于192.168.1.5
,3000
是端口号。
节点B
如果是同一台电脑,需要设置不同的rcpport
和不同的port
。如果是不同的电脑,直接重复上面节点A的步骤即可。
> admin.addPeer("enode://032ff589bae471ab0884cce696a632fcb44ec9b7c33dfa5c06e547de099ed116360e74172c0398396588e6a374bf0dd7da1558e0a4899e9670d2ce7a1967cf11@[::]:3000")
> true
查看节点
> admin.peers
查看连接节点数
> web3.net.peerCount
1
>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2017-07-19 移动闭塞
2017-07-19 信号系统基本设备介绍——应答器
2017-07-19 行车闭塞
2017-07-19 计轴
2017-07-19 联锁
2017-07-19 SqlServer 查看缓存 并合理设置最大内存