Pomaknite se na Remix IDE. Ustvari novo datoteko z imenom Faucet.sol
in v datoteko dodajte naslednjo vsebino:
Opomba: predvidevam, da že imate nameščen žeton v testnem omrežju Mumbai. Če še niste namestili svojega žetona, pojdite skozi to članek. Uporablja BSC, vendar lahko isto metodo uporabimo tudi za uvedbo žetona v testnem omrežju Mumbai. Samo MetaMask mora biti konfiguriran za delo s testnim omrežjem Mumbai.
Razmestil sem preprost žeton, imenovan »Vzorec srednjega žetona (SMT)” na testnem omrežju Mumbai za namene testiranja in ta pipa bo v intervalu petih minut spustila 1 žeton SMT (ki ga je mogoče spremeniti) na zahtevani naslov denarnice.
Torej sestavimo pogodbo in jo namestimo v testno omrežje Mumbai.
Za uvajanje jih potrebujemo nekaj testnet Matic žetoni. Korake za sestavljanje in uvajanje pogodbe z uporabo Remixa najdete tudi v zgoraj omenjenem članku. Med uvajanjem je tokenAddress
in ownerAddress
je treba sprejeti za inicializacijo pogodbe.
Pipa ima štiri načine:
send()
— Ta funkcija pošlje 1 SMT (privzeto) v zahtevano denarnico. Upoštevati je treba, da preslikava (nextRequestAt
) je bilo razglašeno za izvajanje mehanizma omejitve osnovne stopnje. Med dvema zaporednima klicema iz ene denarnice mora miniti vsaj pet minut.setTokenAddress
(naslov) — To metodo lahko uporabi lastnik/skrbnik pipe za posodobitev osnovnega naslova žetona. Na primer, če lansiramo novo različico žetona (npr. SMTv2), lahko tej metodi posredujemo nov naslov žetona, tako da začne iz pipe kapljati nov žeton namesto starega. To je nekoliko podobno "metodi adapterja", ki se uporablja v nadgradljivih pogodbah.setFaucetDripAmount
(uint256) — S to metodo lahko lastnik poveča ali zmanjša število žetonov, poslanih na zahtevo. Privzeta vrednost je 1 SMT.withdrawTokens
(naslov,uint256) - Lastnik pipe lahko to uporabi za umik žetonov iz pametne pogodbe.
Nekaj žetonov moramo ročno vložiti v pogodbo za pipo, takoj ko je pogodba uvedena.
Poleg. \ T send()
način, druge tri funkcije lahko prikliče samo lastnik pipe. Zato je onlyOwner
modifikator je posredovan.