Denna serie av handledning dokumenterar min process att bygga en Ethereum faucet på Ropsten Testnet. Utvecklingen av en faucet föddes ur en nödvändighet. I mina regelbundna engagemang och workshops ger jag ofta ut ETHs till deltagarna för att låta dem prova saker. Men eftersom jag är nybörjare på dessa saker är det inte så enkelt att helt enkelt överföra ETHs till dem. Och ibland fungerar de olika Ropsten-kranarna där ute inte alltför tillförlitligt.
Så jag byggde min egen kran.
Den här handledningen kommer att presenteras i 4 delar:
- Ropsten Ethereum Faucet: Hur den fungerar
- Ropsten Ethereum Faucet: Smart Contract
- Ropsten Ethereum Faucet: JSON Web Service
- Ropsten Ethereum Faucet: Web App
Faucet Logic
Här är hur min Ropsten Faucet fungerar. När jag utformade kranen bestämde jag mig för att användaren ska kunna få gratis ETHs helt enkelt genom att meddela kranen sin Ropsten-plånboks adress. Och han ska kunna göra det utan att behöva ha en Ethereum-plånbok som MetaMask ansluten till sin webbläsare.
I Faucet-webbapplikationen anger den sökande sin adress och uppger hur mycket ETH han vill ta emot Faucet-webbapplikationen ringer ett anrop till Ropsten Faucet, en Node.JS-baserad JSON-webbtjänst som körs på Glitch.com. Webbtjänsten gör ett Smart Contract-samtal till Faucet Smart Contract på Ropsten Testnet för att begära en överföring. Faucet Smart Contract utför sedan en överföring av den begärda ETH:n till den begärandes plånboksadress.
Då anropet för att överföra ETH:n från faucet till plånbok kommer att medföra transaktionsavgifter (och jag kunde inte låta den begärande finansiera sin egen ETH-överföring), inrättas en plånbok för att finansiera dessa överföringar i Faucet JSON Web Service.
Kör en Ethereum Ropsten-nod med Quiknode
Få gratis ETHs
Här är hur du får din gratis ETH. Besök Ropsten Faucet på Glitch.com för att se till att Faucet Web Service är vaken. Här är skärmdumpen du kommer att se om den är vaken och redo att gå igång. Om den inte är vaken kommer ett besök att väcka den.
Nästan besöker du Faucet Web App. Kontrollera att Faucet verkligen innehåller ETH som du kan hämta. Skärmbilden nedan visar att det finns 4 ETH i kranen. Om du inte ser några ETH här är det dags att bidra med några. Scrolla ner i avsnittet ”Donera ETHs” för instruktioner om hur du kan ge några ETHs till kranen. Alternativt kan du skicka ett meddelande till mig så fyller jag på den.
Du måste känna till din plånboks adress. Så här hämtar du den om du använder MetaMask. Se till att du är på Ropsten Testnet. Klicka sedan på din adress för att kopiera den.
Plasta in din adress i textfältet Wallet Address i Faucet. Klicka sedan på .
Häng kvar ett tag. Du bör se nya ETHs i din plånbok.
Donera ETHs
Här är hur du kan donera ETHs till Ropsten Faucet. Besök Faucet Smart Contract på Etherscan.
Du kan bara göra det här om du har ett Ethereum Wallet-plugin, till exempel MetaMask, anslutet i din webbläsare. Klicka på ”Contract”, följt av ”Connect to Web3”.
Klicka sedan på ”Write Contract”. Ange det ETH-belopp du vill bidra med till kranen och klicka på .
Bekräfta överföringen.
Besök sedan Faucet Web App igen. Tack för ditt bidrag till Ropsten Faucet!
Vad händer härnäst?
Källkoderna för de här projekten finns i mitt Github-förråd.
I nästa del av den här handledningen kommer jag att förklara koderna bakom Faucet Smart Contract. Stay tuned!
Om du gillade den här handledningen kanske du också vill läsa:
- Rösta på en blockkedja:
- Minimum Viable Ethereum Mobile Wallet: En implementering av en DApp för röstning på Ethereum: En React Native-baserad mall som jag konstruerat för projekt som kräver en mobil Ethereum-plånbok.
- Deploy a Private Ethereum Blockchain in 10 Minutes with Kaleido:
- Smart Contract Explained by Demonstration: Förklarar ett privat Ethereum Blockchain på ett ögonblick: En demo av en DApp för smartkontrakt med en Escrow-tjänst – enligt min åsikt det snabbaste sättet att förklara vad Blockchain är för en lekman.
- Ethereum IOT Kid Grounding Device: En jordningsanordning för barn: Mitt försök att införliva Blockchain med Internet of Things.
- Lotteri som smartkontrakt: Distributed Lottery, ett försök att bygga ett lotterisystem på Ethereum Blockchain.
Få de bästa mjukvaruaffärerna direkt i din inkorg