首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Windows上使用IPC将geth连接到web3.py?

如何在Windows上使用IPC将geth连接到web3.py?
EN

Ethereum用户
提问于 2019-09-17 23:13:39
回答 1查看 1.6K关注 0票数 2

在详细描述问题之前,我将简要地解释一下我的设置。

我是在Windows 10和使用geth客户端的光同步模式,以及web3.py木星笔记本和Metamask作为钱包。

我已经成功地连接到Rinkeby网络通过一个因弗拉节点,但现在我想做同样的使用geth。

因此,基本上,我希望类似于web3.py这样的东西能够与geth客户机进行通信。这两者都运行在同一台机器上,因此我认为没有理由在web3.py中使用HTTP提供程序。

我想使用web3.py的IPCProvider,而且我已经尝试过了,但是到目前为止还没有成功。

在光模式下启动geth之后,我在木星中尝试了这个;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from web3 import Web3
w3 = Web3(Web3.IPCProvider(''))

我将IPCProvider括号保留为空,因为它自动检测windows中geth管道的路径,也就是说(我尝试以字符串的形式手动输入路径,但它给了我错误,所以我使用了自动检测)

\.\pipe\geth.ipc

并对jupyter中的“w3”变量进行检验;

位于0x00000266CBEDB 080的web3.main.Web3对象

这意味着它确实是一个web3实例。

然而;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w3.isConnected()

结果是假的。尽管geth成功地在后台运行。

此外,使用任意web3函数都会导致操作系统错误。

例如,如果我想要一个帐户的清单;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w3.eth.accounts

将给予;

OSError:(5,“CreateFile”,“访问被拒绝”)

从windows上可用的很少的文档中,我了解到windows使用命名管道进行进程间通信,其中一个进程写入管道,另一个进程从管道读取。但是,差不多就是这样,没有任何有用的指南或教程可以恰当地说明如何实际使用windows管道。

我只想用IPC连接web3.py到geth。这样我就可以从web3.py接口向geth客户机发送命令

由于几乎没有关于带有windows的geth IPC的信息,我完全迷失了方向。

请帮帮我

EN

回答 1

Ethereum用户

发布于 2021-06-17 16:08:03

IPC构造函数允许您为IPC路径传递None (使用默认的Geth路径)。str(Path(ipc_path).expanduser().resolve())存在一个问题。读取https://bugs.python.org/issue31842

您的解决方案是不指定IPC路径并依赖于self.ipc_path = get_default_ipc_path()

相关代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    def __init__(
        self,
        ipc_path: Union[str, Path] = None,
        timeout: int = 10,
        *args: Any,
        **kwargs: Any,
    ) -> None:
        if ipc_path is None:
            self.ipc_path = get_default_ipc_path()
        elif isinstance(ipc_path, str) or isinstance(ipc_path, Path):
            self.ipc_path = str(Path(ipc_path).expanduser().resolve())
        else:
            raise TypeError("ipc_path must be of type string or pathlib.Path")

尝试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w3 = Web3(Web3.IPCProvider())

或(当Python Issue31842被修复时)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w3 = Web3(Web3.IPCProvider(web3.providers.ipc.get_default_ipc_path()))
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/76036

复制
相关文章
python中bool函数_bool()函数以及Python中的示例
bool() function is used to convert a given value to the Boolean value (True or False) as per the standard truth testing procedures. It accepts a value (like an integer, list, maps, etc) and converts it into a Boolean value.
全栈程序员站长
2022/09/05
1.6K0
python中bool()函数
bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假。
全栈程序员站长
2022/09/03
1.3K0
Github Actions, yes! + docker, yes yes!
最近点开了一下Github Actions的技能树,在说真香之前,不得不说一下我踩过的这些前置任务的坑。找到这篇文章看的朋友大概也知道Github Actions是Github上的持续集成服务,它允许你在一些节点上(如提交代码,特定时间等)触发一些操作。这里我们实现自动部署应用到自己的服务器。
前端小哥哥
2023/05/04
3260
Github Actions, yes! + docker, yes yes!
python中bool函数用法_在python中bool函数的取值方法「建议收藏」
2.当对字符串使用bool函数时,对于没有值的字符串(也就是None或者空字符串)返回False,否则返回True。
全栈程序员站长
2022/08/12
2.9K0
python中string和bool的转
python中字符串“True” 和 “False"转为bool类型时, 不能通过bool(xx)强转。
py3study
2020/01/08
1.6K0
iOS检测是否有网络连接
如果你的工程里面是用的AFNetworking请求网络数据的话,那么可以直接使用 AFNetworkReachabilityManager.h来判断网络状态!如果是用的ASI的话,里面自带的有Reachability.m和 Reachability.h这两个类,下面会分开介绍这两个的使用方法。
用户7705674
2021/10/29
1.6K0
Flutter Boost 接入实践(iOS 篇)
我们给 Android 接入 Flutter Boost 之后,现在我们来看看如何给 iOS 工程(OC)接入 Flutter Boost。
QQ音乐前端团队
2020/04/22
2.9K0
C++基础----C++ 布尔类型(bool)及BOOL和bool的区别
C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。bool类型有只有两个值:true =1 、false=0。
Twcat_tree
2022/11/29
2.3K0
iOS-UIApplication详解iOS-UIApplication详解
iOS-UIApplication详解 ✨建议收藏,用到时候一查就明白了 xx_cc UIApplication简介 UIApplication对象是应用程序的象征。 每一个应用程序都有自己的UIApplication对象,而且是单例。 一个iOS程序启动后创建的第一个对象就是UIApplication对象。 通过UIApplication *app = [UIApplication sharedApplication];可以获得这个单例对象。 利用UIApplication对象能进行一些应用级别的操作。
xx_Cc
2018/05/10
1.6K0
iOS iOS与html进行交互
实现的 效果就是上边那样:首先通过webview 进行网络请求 然后进行显示。          然后点击下一页的按钮 通过js的响应显示另一个网页          最后通过下一页的按钮可以返回到首页。     本文仅仅是h5跟ios 的交互的入门 所以没有做细致的描述。 首先先说一下思路:我的项目中是那样的:首先h5从后台拿到数据,然后我请求h5的界面,然后通过h5的按钮进行选择,通过ios控制按钮到那个界面。 这个小demo不涉及数据传输,只是界面的交互。 1 我自己写了两个小网页。 代码如下 首页的
用户1219438
2018/02/01
2.4K0
iOS将单个控制器设为横屏、页面横屏
最近项目中拍照页面需要设置为横屏,需求如下 进入拍摄页面后将页面强制设为横屏,拍照结束后回复竖屏。 简述为:A->B(横屏) 屏幕快照 2016-07-29 下午5.50.02.png 1. 首先在
BY
2018/05/11
2.7K0
iOS13 Scene Delegate
iOS13以后,SceneDelegate将负责AppDelegate的某些功能。 window(窗口)的概念被window(场景)的概念所代替, 一个scene现在可以作为您应用程序的用户界面和内容的载体。iOS13以前一个应用程序可以有不止一个window,同样现在一个应用程序也可以有不止一个scene。
conanma
2021/11/04
5.6K0
iOS开发之抽屉效果实现
  说道抽屉效果在iOS中比较有名的第三方类库就是PPRevealSideViewController。一说到第三方类库就自然而然的想到我们的CocoaPods,今天的博客中用CocoaPods引入PPRevealSideViewController,然后在我们的工程中以代码结合storyboard来做出抽屉效果。   一.在工程中用CocoaPods引入第三方插件PPRevealSideViewController.     (1).在终端中搜索PPRevealSideViewController的版本
lizelu
2018/01/11
1.9K0
iOS开发之抽屉效果实现
iOS 微信支付开发流程
项目中要用到支付功能,需要支付宝支付、支付宝网页支付、微信支付、银联支付、Apple_pay,所以打算总结一下,方便以后的查阅,也方便大家, 用到的地方避免再次被坑。 今天我们就主要介绍一下微信支付,其他支付也写了对应教程,并且给出了连接。
网罗开发
2021/01/29
1.6K0
iOS 微信支付开发流程
c语言调用bool函数,C语言中 bool的用法
布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。
全栈程序员站长
2022/09/01
3.5K0
c语言调用bool函数,C语言中 bool的用法
iOS开发技巧篇
在iOS开发中,有一些技巧可以提高程序猿的开发效率。 1,Xcode真机调试 Xcode 7推出之前,想要真机调试,iOS开发者必须花$99购买苹果开发者账号,而且步骤繁琐,需要下载证书认证。随着苹果公司推出了Xcode 7之后,大幅度的简化了真机调试的步骤。但是如果要测试推送等,还是需要证书的。 第一步:准备Mac电脑,Apple ID, iPhone手机,Xcode 集成开发环境; 第二步:打开Xcode选择屏幕左上角Xcode->Preferences->Account。 第三步,点击左下角的+
xiangzhihong
2018/02/06
1.7K0
iOS开发技巧篇
iOS数据持久化
// // AppDelegate.m // // import "AppDelegate.h" import "Person.h" @interface AppDelegate () @end @implementation AppDelegate (void)dealloc { [_window release]; [super dealloc]; } (BOOL)application:(UIApplication )application didFinishLaunchingWith
大师级码师
2021/10/29
5230
xcode11新增SceneDelegate文件
好久之前跟新到Xcode11,跟新完成后打开以前老项目并未有什么太大变化,也就没有在意,今天新建一个项目,创建完成后,发现多了个SceneDelegate的.m和.h文件,这是什么鬼?它有什么用呢?
honey缘木鱼
2019/12/11
1.9K0
iOS开发系列——第一个iOS程序和运行过程
这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的原理、机制
Kris大鲨
2018/05/05
2K5
iOS开发系列——第一个iOS程序和运行过程
点击加载更多

相似问题

回到AppDelegate

14

如何将AppDelegate类添加到AppDelegate.cs中?

13

无法将BOOL设置为yes

21

NSUserDefaults registerDefaults to set initial BOOL - BOOL值的存在是否返回YES

21

设置BOOL类型的默认值为YES

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文