Mac环境下Ethereum wallet连接geth

简介: Mac环境下Ethereum wallet连接geth

钱包客户端与geth相结合

在Windows环境下,本机启动geth节点之后,再启动Ethereum wallet钱包,Ethereum wallet钱包设置为私有网络链接,Ethereum wallet可以直接链接上geth客户端。


这样,我们既可以通过geth的console控制台进行命令操作,也可以通过Ethereum wallet客户端的图形界面很好的查看钱包的整体情况。比如可以通过Ethereum wallet很方便的发起交易和发布智能合约。


然而,在mac环境下启动Ethereum wallet钱包并不会直接连接上geth客户端的节点。今天我们就针对这个问题讲解一下,并延伸一些相关的知识点,


Mac下的相互连接

首选,我们解决一下在mac环境下,Ethereum wallet链接geth客户端的方案。


当我们同时启动geth节点和Ethereum wallet的时候,通过命令我们可以看到有两个geth进程在同时运行。


下面内容是本人通过ps命令看到的两个geth节点的内容。


ershixiongdeMacBook-Pro:MacOS zzs$ ps -ef | grep geth

 501  5641  5631   0 12:18下午 ??         0:00.25 /Users/zzs/Library/Application Support/Ethereum Wallet/binaries/Geth/unpacked/geth --dev --minerthreads 1 --ipcpath /Users/zzs/Library/Ethereum/geth.ipc

 501  5514     1   0 12:05下午 ttys000    0:06.94 /Users/zzs/develop/eth/geth/geth --datadir /Users/zzs/develop/eth/geth/data-test --rpc --rpcapi db,eth,net,web3,miner,personal --dev

1

2

3

很显然,Ethereum wallet钱包启动的时候也启动了一个geth节点,由于本人在Ethereum wallet启动的控制界面设置了solo网络,因此Ethereum wallet启动的时候默认添加了参数dev。


启动solo网络的方式是在“开发”菜单下面的“网络”菜单中的“Solo network”,如果留意一下会发现其实还有另外三个网络,一个是主网络,另外两个是不同的测试网络。 我们在不同的场景下,可以选择不同的网络。


image.png

image.png回归正题,很显然现在的情况两个程序运行了两个geth,它们之间没有太多关联,除了端口冲突等问题,那么我们具体怎么解决这个问题呢。


这又涉及到另外一个知识点。当我们通过geth客户启动一个节点之后,如果我们不添加console参数,那么我们怎么样才能再次进入console呢?重启节点添加console命令?这是最笨最不推荐的方式。其实我们可以通过attach命令进入,实例代码如下:


/Users/zzs/develop/eth/geth/geth attach ipc:Users/zzs/develop/eth/geth/data-test/geth.ipc

1

这样我们在不停止节点不重启节点的情况下就可以进入console进行相应的命令操作。


为了解决本篇的问题,我们同样可以利用attach命令来达到目的。

具体步骤:


启动Ethereum wallet,通过上面的命令我们已经知道它的rpc链接文件存在的路径为:


/Users/zzs/Library/Ethereum/geth.ipc

1

然后,我们启动geth节点的时候指定geth的ipcpath参数为上面的ipc路径,这样,它们就达到了共享一个ipc,Ethereum wallet钱包不会再单独启动一个geth节点,而会利用现有的geth节点。

geth的启动命令示例如下:


/Users/zzs/develop/eth/geth/geth --datadir /Users/zzs/develop/eth/geth/data-test --rpc --rpcapi db,eth,net,web3,miner,personal --ipcpath /Users/zzs/Library/Ethereum/geth.ipc --dev

1

下面我们看一下结果页面,看看ETH是不是多到不行不行的!


image.png其他方式

网络上也有建议如下操作的,博主没有进行尝试,大家如果感兴趣可自行尝试,先把代码贴出来:


$ /Applications/Mist.app/Contents/MacOS/Mist --rpc http://localhost:8545

1

也有这样启动的:


"/Applications/Ethereum Wallet.app/Contents/MacOS/Ethereum Wallet" --rpc http://localhost:8545

1

总结

本篇文章涉及到几个知识点:


Ethereum wallet连接geth的方法。

通过attach命令可以进入geth的console,默认geth.ipc命令在data目录下。

Ethereum wallet mac下的几种网络模式,Windows下自行对照。

注意事项:默认Ethereum wallet安装的目录中有空格,在mac环境下需注意空格的转换。

在启动过程中如果发现端口或程序冲突,请先关闭Ethereum Wallet,优先geth启动。


目录
相关文章
|
数据采集 API 开发者
爬虫:闲鱼商品详情数据接口(goodfish.item_get)
闲鱼的`goodfish.item_get`非官方API,其数据接口多为私有,适用于授权合作伙伴。获取商品详情数据可考虑官方合作、网络爬虫(需遵守反爬政策)、第三方API服务或直接联系闲鱼官方。合法合规使用数据至关重要。
|
Shell
Shell 文件或目录操作符(-e、-d、-f、-r、-w、-x)
Shell 文件或目录操作符(-e、-d、-f、-r、-w、-x)
715 0
|
传感器 Linux 芯片
Linux设备驱动之IIO子系统——IIO框架及IIO数据结构
Linux设备驱动之IIO子系统——IIO框架及IIO数据结构由于需要对ADC进行驱动设计,因此学习了一下Linux驱动的IIO子系统。本文翻译自《Linux Device Drivers Development 》--John Madieu,本人水平有限,若有错误请大家指出。
13828 0
|
10天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
8天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
388 130
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
2天前
|
存储 安全 前端开发
如何将加密和解密函数应用到实际项目中?
如何将加密和解密函数应用到实际项目中?
197 138
|
9天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
374 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)