Как настроить трюфель для подключения к общедоступному узлу RSK Testnet?
Я использую следующую конфигурацию трюфеля
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*" // Match any network id
},
rsk_testnet: {
host: "https://public-node.testnet.rsk.co",
network_id: '31',
gasPrice: 59240000, // 0.5924 Gwei
}
},
solc: {
optimizer: {
enabled: false
},
version: "0.5.17",
evmVersion: 'petersburg'
},
};
Однако у меня возникают периодические ошибки с тайм-аутом сети. т.е.
Invalid JSON RPC response: "<html>\r\n<head><title>504 Gateway Time-out</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>504 Gateway Time-out</h1></center>\r\n</body>\r\n</html>\r\n"
at Object.InvalidResponse (node_modules\truffle-hdwallet-provider\dist\webpack:\truffle-hdwallet-provider\web3\node_modules\web3-core-helpers\src\errors.js:42:1)
at t.InvalidResponse [as onreadystatechange] (node_modules\truffle-hdwallet-provider\dist\webpack:\truffle-hdwallet-provider\web3\node_modules\web3-providers-http\src\index.js:92:1)
at t._a [as dispatchEvent] (node_modules\truffle-hdwallet-provider\dist\webpack:\truffle-hdwallet-provider\xhr2-cookies\dist\xml-http-request-event-target.js:27:61)
at t.dispatchEvent [as _setReadyState] (node_modules\truffle-hdwallet-provider\dist\webpack:\truffle-hdwallet-provider\xhr2-cookies\dist\xml-http-request.js:208:1)
at t._setReadyState [as _onHttpResponseEnd] (node_modules\truffle-hdwallet-provider\dist\webpack:\truffle-hdwallet-provider\xhr2-cookies\dist\xml-http-request.js:318:1)
at IncomingMessage._onHttpResponseEnd (node_modules\truffle-hdwallet-provider\dist\webpack:\truffle-hdwallet-provider\xhr2-cookies\dist\xml-http-request.js:289:47)
at IncomingMessage.emit (events.js:198:15)
at endReadableNT (_stream_readable.js:1139:12)
at processTicksAndRejections (internal/process/task_queues.js:81:17)
1 ответ
В твоей
truffle-config.js
файл:
(1) Установите переменную
testnetSeedPhrase
содержать действительную мнемоническую фразу BIP-39
(2) Установите переменную
gasPriceTestnet
чтобы указать цену на газ, которую вы хотите использовать, выраженную в Вэй.
(3) В экспортируемом
config
объект, установите значение
config.networks.testnet
быть следующим.
...
testnet: {
provider: () => new HDWalletProvider({
mnemonic: {
phrase: testnetSeedPhrase,
},
providerOrUrl: 'https://public-node.testnet.rsk.co/',
// Higher polling interval to check for blocks less frequently
pollingInterval: 15e3,
}),
// Ref: http://developers.rsk.co/rsk/architecture/account-based/#chainid
network_id: 31,
gasPrice: gasPriceTestnet,
networkCheckTimeout: 1e6,
timeoutBlocks: 100,
// Higher polling interval to check for blocks less frequently
// during deployment
deploymentPollingInterval: 15e3,
},
...
(4) Теперь вы можете бежать
truffle
подкоманды с выбранной сетью, например:
truffle migrate --network testnet
Обратите внимание, что эти параметры изначально нельзя было настраивать в Truffle, и для них были заданы жестко заданные значения по умолчанию. Они были добавлены специально для поддержки сетей с другим интервалом блокировки!
Контекст: