【问题标题】:How to connect to a protected infura project with web3?如何使用 web3 连接到受保护的 infura 项目?
【发布时间】:2019-09-26 12:34:27
【问题描述】:

我在节点 js 中使用 web3 来创建带有 infura 项目的新 Web3.providers.HttpProvider,其配置为“所有请求都需要项目密码”

infura:

https://infura.io/docs/gettingStarted/authentication

说明 curl 调用是:

curl --user :YOUR-PROJECT-SECRET \ https://.infura.io/v3/YOUR-PROJECT-ID

我用过:

const client = new Web3(new Web3.providers.HttpProvider('https://YOUR-PROJECT-SECRET@<network>.infura.io/v3/YOUR-PROJECT-ID');

它不起作用。

请问如何将 --user 标记及其值添加到新的 Web3.providers.HttpProvider 中?

提前致谢!

【问题讨论】:

    标签: node.js web3js


    【解决方案1】:

    我正在回答我的问题:

    我解决了它在 YOUR-PROJECT-SECRET 之前添加“:”,如下所示:

    const client = new Web3(new Web3.providers.HttpProvider('https://:YOUR-PROJECT-SECRET@<network>.infura.io/v3/YOUR-PROJECT-ID');
    

    现在可以使用了!

    【讨论】:

    • 这种方法有多安全?有没有其他方法可以解决这个问题?
    • 这是为了基本的安全连接。如果您想要更高的安全性,您可以在 Infura 项目中使用 JWT 配置。通过使用以太坊地址、用户代理和 HTTP Origin 标头允许列表添加额外的安全层来确保请求的完整性。如果您知道您只会在安全环境(例如您的后端 Web 应用程序)中与 Infura API 交互,您可以在项目的配置页面中的安全部分下切换需要私有机密设置。
    • 小心,如果您在客户端代码中使用它,它将是公开的。不确定用“秘密”来做这件事是否是个好主意......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2019-07-19
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多