Advertisement

解决Web3.eth.getAccounts获取账号地址为空的问题方法

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文将详细介绍在使用web3.js时遇到的“Web3.eth.getAccounts返回空数组”的问题,并提供相应的解决方案。 在旧版本的MetaMask中可以获取账号地址,因为默认情况下账户地址是公开的。但在2018年11月2日之后,MetaMask进行了更新,默认不公开任何帐户地址,因此需要请求用户授权来获取账号地址。 为了适应这次重大更新,在创建web3实例时稍微改进一下代码即可实现这一功能: ```javascript var web3Provider; if (window.ethereum) { web3Provider = window.ethereum; try { // 请求用户授权 await ethereum.enable(); } catch(error) { console.log(User denied account access); } } ``` 这段代码使用了web3.js版本0.2.0。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Web3.eth.getAccounts
    优质
    本文将详细介绍在使用web3.js时遇到的“Web3.eth.getAccounts返回空数组”的问题,并提供相应的解决方案。 在旧版本的MetaMask中可以获取账号地址,因为默认情况下账户地址是公开的。但在2018年11月2日之后,MetaMask进行了更新,默认不公开任何帐户地址,因此需要请求用户授权来获取账号地址。 为了适应这次重大更新,在创建web3实例时稍微改进一下代码即可实现这一功能: ```javascript var web3Provider; if (window.ethereum) { web3Provider = window.ethereum; try { // 请求用户授权 await ethereum.enable(); } catch(error) { console.log(User denied account access); } } ``` 这段代码使用了web3.js版本0.2.0。
  • WiFi无IP
    优质
    当您的设备连接到Wi-Fi网络但无法自动获取IP地址时,请参考此文章提供的解决方案。我们将详细介绍可能的原因及相应的解决步骤。 首先检查路由器是否正常工作,在确认路由器无故障的情况下重启它。如果问题仍未解决,请重新设置无线路由器的协议和密码。完成新设置后,删除手机中之前保存的相关网络连接记录,然后尝试重新链接新的配置信息。
  • JS栏中后面参数
    优质
    本文介绍了如何在JavaScript中提取URL地址栏问号后面(即查询字符串)的参数值,适用于需要动态加载数据或配置页面功能的场景。 介绍了如何用JavaScript获取地址栏问号后的参数,有需要的朋友可以参考这种方法。
  • DHCP无IP
    优质
    当电脑或设备通过DHCP服务器自动获取IP地址失败时,可以通过检查网络设置、重启路由器和 DHCP 服务器等步骤来解决问题。 这是从网上收集的资料,与大家分享DHCP中获取不到IP地址的问题解决方法,希望有所帮助。
  • WordPress中评论IP显示127.0.0.1
    优质
    本文介绍了解决在WordPress网站上遇到的评论者IP地址错误显示为本地回环地址“127.0.0.1”的问题,提供多种有效解决方案。 在WordPress博客环境中,评论IP地址显示为127.0.0.1通常是由于服务器配置或插件设置问题导致的。127.0.0.1是一个特殊的回环地址,表示本地主机,通常用于自环测试。在实际网络交互中,评论者的真实IP地址应被记录并展示以帮助博主管理评论,并防止恶意内容。 为解决这个问题,可以考虑以下几个方面: 1. **启用缓存插件**:有些缓存插件可能通过代理服务处理请求,导致原始IP地址变成127.0.0.1。关闭或调整这些设置可能会解决问题。 2. **PHP版本与WordPress版本的兼容性问题**:虽然更新这两个组件不会直接引发此问题,但有时会导致与其他现有代码冲突。 解决该问题的方法包括修改`wp-includes/comment.php`中的代码,但这不推荐使用,因为这会破坏自动更新功能。更好的方法是通过自定义函数或钩子来实现更改: 1. 在当前主题的`functions.php`文件中添加以下PHP代码: ```php function custom_comment_author_ip($commentdata) { if (!empty($_SERVER[HTTP_X_FORWARDED_FOR])) { $commentdata[comment_author_IP] = preg_replace(/[^0-9a-fA-F:.,]/, , $_SERVER[HTTP_X_FORWARDED_FOR]); } else { $commentdata[comment_author_IP] = preg_replace(/[^0-9a-fA-F:.,]/, , $_SERVER[REMOTE_ADDR]); } return $commentdata; } add_filter(pre_comment_author_IP, custom_comment_author_ip); ``` 该代码首先检查`$_SERVER[HTTP_X_FORWARDED_FOR]`变量,如果存在,则使用它作为评论者的IP地址;否则继续使用`$_SERVER[REMOTE_ADDR]`。这可以兼容各种服务器环境。 2. 保存文件并刷新网站,新的评论将显示正确的IP地址。记得定期备份以备不时之需。 此外,如果你的服务器配置了反向代理或负载均衡器,则需要进一步处理以获取第一个非127.0.0.1的IP地址;如果没有支持`HTTP_X_FORWARDED_FOR`头,则必须依赖于`REMOTE_ADDR`来取得IP地址。通过这些方法可以准确地记录评论者的IP,从而更好地维护博客社区的安全和秩序。
  • 通信与网络中无线网卡无IP
    优质
    本文章主要探讨在通信和网络环境中遇到的无线网卡无法自动获取IP地址的问题,并提供详细的解决方案。通过分析原因并给出配置和故障排查方法,帮助用户顺利解决问题。 一个无线网卡能够检测到接入点的信号但无法获取该接入点分配的IP地址的情况并不罕见。 当无线设备与接入点成功协商并建立数据链路后,通常会通过发送从端口67至68的UDP数据包请求动态主机配置协议(DHCP)来获得一个IP地址。如果局域网内的DHCP服务器能够响应这个请求,并且该服务器认为客户端是合法的,则它将分配一个IP地址给无线设备。 然而,当出现无法获取IP地址的情况时,可能是因为以下原因:首先,可能是由于无线设备与接入点之间的连接未能成功建立。即使信号强度足够高,接入点也可能拒绝无线设备的链接请求或身份验证尝试。例如,这可能是由于接入点当前处于忙碌状态或者配置有误导致的限制。 总结来说,在这种情况下需要检查的是网络环境是否支持DHCP服务以及客户端与服务器之间是否存在有效的通信通道和认证机制问题。
  • PythonMAC和IP
    优质
    本文介绍了如何使用Python编程语言来获取计算机系统的本地MAC地址与IP地址的具体方法。 本段落主要介绍了使用Python获取本机MAC地址和IP地址的方法,并涉及了获取系统相关信息的技巧。需要相关内容的朋友可以参考这篇文章。
  • TensorBoard
    优质
    本文将详细介绍在使用TensorFlow框架时遇到的TensorBoard无法显示数据的问题,并提供多种解决方案。 今天分享一篇关于解决TensorBoard显示空白问题的文章,希望能对大家有所帮助。一起看看吧。
  • LabVIEW中MAC
    优质
    本文介绍了在LabVIEW编程环境中如何有效获取计算机的MAC地址,详细阐述了几种实现方法及其应用场景。 LabVIEW可以用来获取MAC地址,这在软件注册过程中非常有用。
  • 00000000访违规和读错误
    优质
    本文章提供了解决计算机中出现的“地址00000000”访问违规及读取错误的有效方法,帮助用户诊断并修复此类系统问题。 解决“Access violation at address 00000000. Read of adress 00000000”这类错误的方法包括检查代码中是否存在非法的内存访问,确保所有指针在使用前已被正确初始化,并且指向有效的内存地址。此外,还需要确认程序是否尝试读取或写入超出数组边界的数据。通过调试工具定位具体出错位置并分析相关变量的状态是解决问题的关键步骤之一。