问题描述
一个人如何配置松露本身,
或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不包含用于限制轮询速率的内置机制,尽管我可能是错误的。
很抱歉,我找不到您想要的东西,但希望能满足您的需求。这个周末我将有更多的时间来查看源代码,如果发现其他任何问题,我将更新此答案。
更新:
在看到您提到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,
未指定时,pollingInterval
和deploymentPollingInterval
的默认值均为4000
;因此,上面的示例具有以下效果:在轮询块和运行truffle migrate
时,在JSON-RPC上将其 half 设为“ chatty”。