Denne serie af tutorial dokumenterer min proces med at bygge en Ethereum faucet på Ropsten Testnet. Udviklingen af en faucet blev båret ud af nødvendighed. I mine regelmæssige engagementer og workshops giver jeg ofte ETH’er ud til deltagerne for at lade dem prøve ting af. Men da jeg er ny til disse ting, er det ikke så ligetil at overføre ETH’er til dem simpelthen. Og nogle gange fungerer de forskellige Ropsten-haner derude ikke alt for pålideligt.
Så jeg byggede min egen vandhane.
Denne vejledning vil blive præsenteret i 4 dele:
- Ropsten Ethereum Faucet: Sådan fungerer det
- Ropsten Ethereum Faucet: Smart Contract
- Ropsten Ethereum Faucet: JSON Web Service
- Ropsten Ethereum Faucet: Web App
Faucet Logic
Her er, hvordan min Ropsten Faucet fungerer. Ved udformningen af faucet besluttede jeg, at brugeren skal kunne modtage gratis ETHs blot ved at fortælle Faucet sin Ropsten-tegnebogsadresse til Faucet. Og han skulle kunne gøre det uden at skulle have en Ethereum-tegnebog som MetaMask tilsluttet til sin browser.
I Faucet-webappen indtaster requesteren sin adresse og angiver det antal ETH’er, han ønsker at modtage. Faucet-webappen foretager et opkald til Ropsten Faucet, en Node.JS-baseret JSON-webservice, der kører på Glitch.com. Webtjenesten foretager et Smart Contract-opkald til Faucet Smart Contract på Ropsten Testnet for at anmode om en overførsel. Faucet Smart Contract udfører derefter en overførsel af den anmodede ETH til requesters wallet-adresse.
Da opkaldet for at overføre ETH fra faucet til wallet vil medføre transaktionsgebyrer (og jeg kunne ikke lade requester finansiere sin egen ETH-overførsel), er der oprettet en wallet til at finansiere disse overførsler i Faucet JSON Web Service.
Kør en Ethereum Ropsten-node med Quiknode
Få gratis ETH’er
Her er hvordan du får din gratis ETH. Besøg Ropsten Faucet på Glitch.com for at sikre dig, at Faucet Web Service er vågen. Her er det skærmbillede, du vil se, hvis den er vågen og klar til at gå. Hvis den ikke er vågen, vil et besøg på den vække den.
Næst skal du besøge Faucet-webappen. Kontroller, at Faucet faktisk indeholder ETH, som du kan hente. I skærmbilledet nedenfor står der, at der er 4 ETH’er i faucet. Hvis du ikke kan se nogen ETH’er her, så er det tid til at bidrage med nogle. Scroll ned i afsnittet om “Donering af ETH’er” for at få instruktioner om, hvordan du kan give nogle ETH’er til faucet. Alternativt kan du smide mig en besked, så fylder jeg den op igen.