如何在松露中配置不同的轮询间隔?

问题描述

一个人如何配置松露本身, 或Truffle的HDWalletProvider使得轮询间隔不同?

我希望我的Truffle实例在JSON-RPC上不那么“闲谈”, 当它提交交易并等待结果时, 正在从认值开始缩短轮询间隔。

在以下文档中找不到该选项:


truffle-config.js中的networks中:

    testnet: {
      provider: () => new HDWalletProvider(
        SEED_PHRASE,'https://localhost:4444/',),gasPrice: Math.floor(GAS_PRICE),networkCheckTimeout: 1e3,},

解决方法

不确定HDWalletProvider,并且像您一样,找不到有关其轮询速率的任何文档。浏览源代码后,我得出的结论是,HDWalletProvider不包含用于限制轮询速率的内置机制,尽管我可能是错误的。

I have,however,found a wallet provider implementation that does support it,and has the usage documented.

很抱歉,我找不到您想要的东西,但希望能满足您的需求。这个周末我将有更多的时间来查看源代码,如果发现其他任何问题,我将更新此答案。

更新: 在看到您提到pollingInterval的{​​{1}}字段之后,您可以访问Web3ProviderEngine实例的相应engine.pollingInterval字段。如果您对TypeScript中的对象实例化和字段不清楚,建议您打开有关该主题的另一个问题,或者细读this question之类的现有资源。

祝你好运!

,

修补了@truffle/hdwallet-provider,以添加pollingInterval。 现在可以在 truffle@5.1.52

修补了truffle,以添加deploymentPollingInterval。 现在可以在 truffle@5.1.53

示例:

    testnet: {
      provider: () => new HDWalletProvider({
        mnemonic: {
          phrase: SEED_PHRASE,},providerOrUrl: 'http://localhost:4444',pollingInterval: 8000,}),gasPrice: Math.floor(GAS_PRICE),networkCheckTimeout: 8000,deploymentPollingInterval: 8000,

未指定时,pollingIntervaldeploymentPollingInterval的默认值均为4000;因此,上面的示例具有以下效果:在轮询块和运行truffle migrate时,在JSON-RPC上将其 half 设为“ chatty”。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...