如何在 Truffle 中配置不同的轮询间隔?
How to configure a different polling interval in Truffle?
如何配置 Truffle 本身,
或 Truffle 的 HDWalletProvider
使得轮询间隔不同?
我希望我的 Truffle 实例在 JSON-RPC 上不那么“健谈”,
当它已经提交交易并正在等待结果时,
从默认值开始减少轮询间隔。
我无法在以下文档中找到此选项:
- https://www.trufflesuite.com/docs/truffle/reference/configuration#networks
- https://github.com/trufflesuite/truffle/tree/master/packages/hdwallet-provider#instantiation
在truffle-config.js
内,在networks
内:
testnet: {
provider: () => new HDWalletProvider(
SEED_PHRASE,
'https://localhost:4444/',
),
gasPrice: Math.floor(GAS_PRICE),
networkCheckTimeout: 1e3,
},
不确定 HDWalletProvider,并且像您一样找不到任何关于它的轮询率的文档。浏览源代码后,我得出的结论是 HDWalletProvider 不包含用于 poll-rate 限制 的 built-in 机制,尽管我可能是不正确的。
抱歉,我找不到您要找的东西,但希望这能满足您的需要。本周末我将有更多时间查看源代码,如果发现任何其他内容,我将更新此答案。
更新:
在看到您提到 Web3ProviderEngine
的 pollingInterval
字段后,您可以访问 HDWalletProvider
实例的相应 engine.pollingInterval
字段。如果您不清楚 TypeScript 中的对象实例化和字段,我建议您就该主题打开另一个问题,或者仔细阅读现有资源,例如 .
祝你好运!
已修补 @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,
},
未指定时,pollingInterval
和deploymentPollingInterval
的默认值都是4000
;因此,上面的示例在轮询块时以及在 运行 truffle migrate
上具有使 half 成为 JSON-RPC 上的“健谈”的效果。
如何配置 Truffle 本身,
或 Truffle 的 HDWalletProvider
使得轮询间隔不同?
我希望我的 Truffle 实例在 JSON-RPC 上不那么“健谈”, 当它已经提交交易并正在等待结果时, 从默认值开始减少轮询间隔。
我无法在以下文档中找到此选项:
- https://www.trufflesuite.com/docs/truffle/reference/configuration#networks
- https://github.com/trufflesuite/truffle/tree/master/packages/hdwallet-provider#instantiation
在truffle-config.js
内,在networks
内:
testnet: {
provider: () => new HDWalletProvider(
SEED_PHRASE,
'https://localhost:4444/',
),
gasPrice: Math.floor(GAS_PRICE),
networkCheckTimeout: 1e3,
},
不确定 HDWalletProvider,并且像您一样找不到任何关于它的轮询率的文档。浏览源代码后,我得出的结论是 HDWalletProvider 不包含用于 poll-rate 限制 的 built-in 机制,尽管我可能是不正确的。
抱歉,我找不到您要找的东西,但希望这能满足您的需要。本周末我将有更多时间查看源代码,如果发现任何其他内容,我将更新此答案。
更新:
在看到您提到 Web3ProviderEngine
的 pollingInterval
字段后,您可以访问 HDWalletProvider
实例的相应 engine.pollingInterval
字段。如果您不清楚 TypeScript 中的对象实例化和字段,我建议您就该主题打开另一个问题,或者仔细阅读现有资源,例如
祝你好运!
已修补 @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,
},
未指定时,pollingInterval
和deploymentPollingInterval
的默认值都是4000
;因此,上面的示例在轮询块时以及在 运行 truffle migrate
上具有使 half 成为 JSON-RPC 上的“健谈”的效果。