Próbuję uzyskać losową liczbę z Cainlink VRF, Więc cześć Śledź ten demo krok po kroku: https://www.youtube.com/watch? v = jqzwariqh5s

Oto, co skopiowałem na remiksie:

pragma solidity 0.6.6;

import "https://raw.githubusercontent.com/smartcontractkit/chainlink/master/evm-contracts/src/v0.6/VRFConsumerBase.sol";

contract RandomNumberConsumer is VRFConsumerBase {
    
    bytes32 public keyHash;
    uint256 public fee;
    uint256 public randomResult;
    
    constructor() VRFConsumerBase(
            0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9, // VRF Coordinator
            0xa36085F69e2889c224210F603D836748e7dC0088  // LINK Token
        ) public
    {
        keyHash = 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4;
        fee = 0.1 * 10 ** 18; // 0.1 LINK
    }
    

    function getRandomNumber(uint256 userProvidedSeed) public returns (bytes32 requestId) {
        return requestRandomness(keyHash, fee, userProvidedSeed);
    }

    function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override {
        randomResult = randomness.mod(50).add(1);
    }
}

Po kliknięciu GetRandomNumber zawsze otrzymuję ten błąd: Błąd kodowania argumentów: Błąd: Nieprawidłowy łańcuch bigera (argument = "Wartość", wartość = "", Kod = Invalid_Argument, Wersja = bigerumber / 5.0.8)

A dzięki ReflestraRandomnes otrzymuję ten błąd: Błąd kodowania argumentów: Błąd: Nieprawidłowa wartość argumentacji (argument = "Wartość", wartość = "", kod = Invalid_Argument, wersja = bajty / 5.0.5)

1
Yvonnick U 15 kwiecień 2021, 21:55

2 odpowiedzi

Najlepsza odpowiedź

Dodaj numer seed do funkcji, a następnie kliknij go.

Ponadto, upewnij się, że Funduj go z linkiem.

Ponadto ReflektorRandomnes jest tylko wywoływany przez Chainlink VRF, więc nie martwi się o tę część.

enter image description here

1
Patrick Collins 15 kwiecień 2021, 19:09

Wygląda na to, że nie przechodzisz userProvidedSeed jako argument do getRandomNumber()

Spróbuj umieścić dowolny numer do pola obok metody getRandomNumber w remiksie, a następnie kliknij metodę.

Ponadto ReflektorRandomnes jest tylko wywołany przez Cainlink VRF, więc nie martw się o dzwonienie do tej funkcji.

1
Zak Ayesh 15 kwiecień 2021, 19:08