#chainlink
Вопрос:
Мы развернули контракт VRF в mainnet и добавили его в наш основной контракт. Но есть проблема, мы установили лимит платы за 0,1 ССЫЛКУ вместо 2 ССЫЛОК, и теперь похоже, что это не работает. Можете ли вы дать нам решение этой проблемы.
constructor ()
VRFConsumerBase(
0xf0d54349aDdcf704F77AE15b96510dEA15cb7952, // VRF Coordinator
0x514910771AF9Ca656af840dff83E8264EcF986CA// LINK Token
)
{
keyHash = 0xAA77729D3466CA35AE8D28B3BBAC7CC36A5031EFDC430821C02BC31A238AF445;
**fee = 0.1 * 10 ** 18; // 0.1 LINK**
}
Ответ №1:
Ваше единственное решение здесь-повторно развернуть ваши контракты с правильным набором сборов.
Код, развернутый в блокчейне, неизменен, и, поскольку вы жестко закодировали плату, ее нельзя изменить. В будущем вы всегда можете создать функцию настройки, доступ к которой может получить только владелец контракта, которая позволяет вам изменять плату. Пример:
function setFee(uint256 _fee) public onlyOwner {
fee = _fee;
}
Эта функция использует собственный контракт OpenZeppelin для получения модификатора onlyOwner.