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节点的内容。

  1. ershixiongdeMacBook-Pro:MacOS zzs$ ps -ef | grep geth
  2.  501  5641  5631   012:18下午??         0:00.25/Users/zzs/Library/ApplicationSupport/EthereumWallet/binaries/Geth/unpacked/geth --dev --minerthreads 1--ipcpath /Users/zzs/Library/Ethereum/geth.ipc
  3.  501  5514     1   012: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

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

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

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

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

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

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

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

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

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

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

  1. /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

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

其他方式

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

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

也有这样启动的:

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

总结

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

  • Ethereum wallet连接geth的方法。
  • 通过attach命令可以进入geth的console,默认geth.ipc命令在data目录下。
  • Ethereum wallet mac下的几种网络模式,Windows下自行对照。
  • 注意事项:默认Ethereum wallet安装的目录中有空格,在mac环境下需注意空格的转换。
  • 在启动过程中如果发现端口或程序冲突,请先关闭Ethereum Wallet,优先geth启动。
目录
相关文章
|
7月前
|
Java 关系型数据库 MySQL
mac,linux环境的基础工具安装【jdk,tomcat】
mac,linux环境的基础工具安装【jdk,tomcat】
94 1
|
7月前
|
Go iOS开发 MacOS
手把手教你在Mac上从零搭建Go语言开发环境
手把手教你在Mac上从零搭建Go语言开发环境
413 0
|
8月前
|
前端开发 开发工具 git
mac前端开发环境
mac前端开发环境
123 0
|
29天前
|
Java
Mac环境下反编译apk
Mac环境下反编译apk
21 0
|
2月前
QT 5.14.2版本 MAC环境安装部署流程
QT 5.14.2版本 MAC环境安装部署流程
|
9月前
|
数据库
MAC Navicat 连接 MySql
MAC Navicat 连接 MySql
104 0
|
5月前
|
Linux Shell 开发工具
Git 安装和配置教程:Windows - Mac - Linux 三平台详细图文教程,带你一次性搞 Git 环境
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发领域。随着开源和云计算的发展,Git已经成为了开发者必备的工具之一。本文将为大家介绍Git在Windows、Mac和Linux三个平台上的安装和配置方法,带你一次性搞定Git环境
1601 0
|
5月前
|
iOS开发 MacOS
mac AnyConnect 连接报错 Posture Assessment Failed: Hostscan Initialize error.
mac AnyConnect 连接报错 Posture Assessment Failed: Hostscan Initialize error.
mac AnyConnect 连接报错 Posture Assessment Failed: Hostscan Initialize error.
|
5月前
|
Java 数据库
Mac下使用DBeaver连接GBase数据库
Mac下使用DBeaver连接GBase数据库
97 0
|
6月前
|
Linux 数据安全/隐私保护
Mac连接linux的办法(自带终端和iterm2)
Mac连接linux的办法(自带终端和iterm2)