ubuntu部署ETH节点(仅供学习参考)

本文档详细介绍了以太坊节点的安装、配置、启动脚本、转账操作、分叉更新处理以及如何查看节点信息。通过设置不同同步模式(全节点、轻节点)、挖矿、管理交易池和处理pending状态交易,确保节点稳定运行。同时提供了查看连接节点数量的方法,并列举了区块浏览器查询链接,是全面了解和管理以太坊节点的实用教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. git安装

sudo add-apt-repository ppa:git-core/ppa

sudo apt-get update

sudo apt-get install git

查看版本号

git --version

git version 2.19.1

2. geth安装

sudo apt-get install software-properties-common

sudo add-apt-repository -y ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install ethereum

获取geth 指令

geth --help

3. 导出配置文件

geth 
--syncmode "fast" 
--rpcapi="db,eth,net,web3,personal,web3" 
--rpc --rpcaddr 192.168.0.1(内网ip) 
--rpcport 3342 
--rpccorsdomain "*" 
--datadir "/mnt/www/walletdata/ethereum" 
--txpool.journal "/mnt/www/walletdata/transactions.rlp" 
--mine --miner.etherbase "0x000000"(miner地址)
--verbosity 3 
--maxpeers 200 
--maxpendpeers 200 
--allow-insecure-unlock 
--cache=8192 dumpconfig > "/mnt/www/walletdata/geth.toml"

下次直接使用下面指向来启动

--config /mnt/www/walletdata/geth.toml

4. 启动脚本

nohup geth 
--syncmode "light" 
--rpcapi="db,eth,net,web3,personal,web3" 
--rpc 
--rpcaddr 192.168.0.1
--rpcport 3342 
--rpccorsdomain "*" 
--datadir "/mnt/walletdata/ethereum" 
--verbosity 3 
--maxpeers 200 
--maxpendpeers 200 
--allow-insecure-unlock 
--cache=8192 >eth.log 2>&1 &
全节点:--syncmode "fast"

轻节点:--syncmode "light"

开启挖矿:--mine

miner.start(1)

miner.stop()

挖矿默认指定地址:--miner.etherbase "0x00000000......"

指定txpool的存储目录,下次节点重启会再次广播交易池的交易:

--txpool.journal "/mnt/www/walletdata/transactions.rlp"

控制台启动:

geth attach ipc:walletdata/ethereum/geth.ipc

查看链接的节点:

admin.peers

查看节点的地址列表:

admin.peers.forEach(function(p) {console.log(p.network.remoteAddress);})

查看本地节点信息,为了让其他节点链接:

admin.nodeInfo.enode

txpool.status

txpool.content

txpool.inspect

5. 转账

personal.unlockAccount('xxx')

eth.sendTransaction({from:'xxx',to:'xxx',value:web3.toWei(0.01)})

6. pending状态的单子处理

personal.unlockAccount("0x1111111111111111111","1234567890")

tx = eth.pendingTransactions[0]

eth.resend(tx, 20000000000, 21000)

7. 分叉后geth更新

sudo apt-get update

sudo apt-get install ethereum

apt-get install --only-upgrade geth

apt-get dist-upgrade // 更新已安装的软件包(识别并处理依赖关系的改变)

出现Please check that your locale settings:

echo "export LC_ALL=C" >> /root/.bashrc

source /root/.bashrc

8. 查看已连接节点数量

net.peerCount

9. 区块浏览器查询

英文: https://etherscan.io/

中文: https://cn.etherscan.com/

10. 文档

节点配置参数

https://ethereum.gitbooks.io/frontier-guide/content/installing_linux.html

<think>好的,用户的问题是在Ubuntu系统中配置eth1网卡使用DHCP获取IP地址。我需要结合之前的引用内容来解答。首先,用户提到的引用[1]中已经详细说明了如何配置eth0使用DHCP和静态IP,所以应该可以类似地应用到eth1上。用户的需求是配置eth1,所以步骤应该和配置eth0类似,但需要将接口名称改为eth1。首先,用户需要编辑网络配置文件/etc/network/interfaces,这点在引用[1]里提到过。那里面替换了有关eth0的行,所以同样的方法适用于eth1,只需要将eth0替换为eth1。接下来,用户需要将eth1的配置改为使用DHCP。具体来说,就是在文件中添加autoeth1和iface eth1 inet dhcp的部分。之后,重启网络服务或者使用dhclient命令来应用配置,这部分在引用[1]里也有提到,所以应该没问题。 另外,需要注意Ubuntu的不同版本可能使用不同的网络管理工具。比如,在较新的版本中可能使用Netplan,而旧版本使用ifupdown。用户的问题中提到的是编辑/etc/network/interfaces,所以可能用户使用的是旧版本的系统,比如Ubuntu16.04或更早。如果是新版本,可能需要使用Netplan的YAML配置文件,但用户没有提到,所以暂时按照传统方法处理。 还有,用户可能需要确认eth1接口是否存在,可以通过iplink命令查看。如果接口未启用,需要先启用。此外,DHCP服务器是否可用,网络连接是否正常,这些也是需要考虑的因素,但用户的问题主要集中在配置步骤上,所以先提供基本的配置方法。 总结一下,步骤应该是:编辑interfaces文件,添加eth1的DHCP配置,重启网络服务,验证IP获取情况。同时,需要提醒用户注意系统版本差异,以及可能的接口名称变化(比如ens33代替eth1),但用户明确提到eth1,所以按此处理。 最后,生成相关问题,可能涉及静态IP配置、不同Ubuntu版本的方法差异,以及网络服务管理命令等。</think>### Ubuntu配置eth1网卡使用DHCP获取IP地址的方法 #### **步骤1:编辑网络接口配置文件** 打开网络配置文件`/etc/network/interfaces`: ```bash sudo nano /etc/network/interfaces ``` #### **步骤2:添加eth1的DHCP配置** 在文件中添加以下内容(将原有eth1的配置替换为DHCP模式): ```bash auto eth1 iface eth1 inet dhcp # 声明eth1使用DHCP协议[^1] ``` #### **步骤3:应用配置** 执行以下命令使配置生效: ```bash sudo systemctl restart networking # 重启网络服务(适用于systemd系统) # 或 sudo /etc/init.d/networking restart # 传统SysVinit方式[^1] ``` 若需立即获取IP,可单独触发DHCP请求: ```bash sudo dhclient eth1 # 强制通过eth1请求DHCP地址[^1] ``` #### **步骤4:验证IP分配** 查看eth1的IP地址: ```bash ip addr show eth1 # 应显示类似"inet 192.168.x.x"的DHCP分配地址 ``` --- ### **关键原理** 1. **DHCP协议**: 动态主机配置协议通过`dhclient`向路由器请求IP地址、子网掩码、网关等网络参数,避免手动配置冲突。 2. **Ubuntu网络管理差异**: - **传统系统(如Ubuntu 16.04)**:使用`/etc/network/interfaces`文件管理接口[^1] - **新版本(如Ubuntu 18.04+)**:改用Netplan(配置文件在`/etc/netplan/*.yaml`) --- ### **示例配置文件片段** ```bash # /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 auto eth1 iface eth1 inet dhcp # eth1的DHCP配置 ``` --- ### **注意事项** 1. **接口名称兼容性**: 现代Linux系统可能使用可预测网络接口名(如`enp3s0`),需通过`ip link`确认实际接口名[^2]。 2. **NetworkManager冲突**: 若系统同时运行NetworkManager,需关闭其对eth1的管理: ```bash nmcli dev set eth1 managed no # 禁止NetworkManager管理eth1 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值