Kuidas kasutada kliendi vihmapiiska ILMA ilma vesiniku API-d kasutamata

** Olen avaldanud videoõpetuse, mis järgib seda ajaveebi postitust samm-sammult **

Selle õpetuse mõistmiseks on oluline kõigepealt määratleda mõned mõisted.

Mõisted

Vesinik: ettevõte, mis on loonud toote - Hydro API.

Hydro API: API, mis kutsub üles Hydro nutikate lepingute funktsioone. Mis tahes muu rakendus, nagu ka Hydro API, saab funktsioone kutsuda ka Hydro nutilepingutes, kas käsitsi saitide kaudu nagu MyCrypto (nagu ma teen seda juhendit) või programmiliselt veebis3.

Mobiilirakendus hüdro: see on vesiniku loodud mobiilirakendus, mis ühendab lõppkasutajaid vesiniku API-ga. See loob kasutajatele HydroID-id, mis omakorda võimaldab neil hallata oma suhtlemist Hydro Nutikate lepingutega. Tänu Hydro API-le ei nõua see rakenduse enda natiivseid funktsioone.

HydroID: see on ID, mis on loodud kliendi poolel asuva Raindropi nutika lepingu kaudu. Ethereumi rahakoti jaoks saab luua ainult ühe HydroID. See ID on seotud hüdro nutikate lepingutega; näiteks kui kasutaja loob lumehelbe isiklike andmete haldamiseks, lingitakse tema ainulaadne ja mitteloetav lumehelbeke oma HydroID-ga. Vesiniku API loob HydroID-i ainult mobiilirakenduses HydroID olevate rahakottide jaoks, mis pole praegu mõeldud raha hoidmiseks; kolmandate osapoolte rakendused võiksid siiski HydroID-sid linkida MetaMaski rahakottide, looduslike rahakottide või muude rahakottidega, lähtudes nende rakenduste vajadustest.

Detsentraliseeritud projekt Hydro: Hydro tuumikmeeskond kirjutab nutikaid lepinguid, mis võimendavad HYDRO märki, et lisada ettevõtetele plokiahelaga täiustatud finantsteenuste funktsioone. Blockchaini arendajad kogu maailmas saavad probleeme vabalt ära tunda, teha tõmbustaotlusi või kirjutada oma lepinguid, mis võimendavad ka HYDRO-d, et tuua ettevõtetele blockchaini funktsioone.

Hüdroökosüsteem: see koosneb arendajatest, kes kirjutavad Hydro nutikaid lepinguid ja toetavad neid, ettevõtetest, kes kasutavad veebi3 otseühenduse loomiseks Hydro nutikate lepingutega, ja kõigist klientidest, keda need ettevõtted teenindavad.

HYDRO sidumine: HYDRO ökosüsteemis heade osalejate tagamiseks nõuavad teatavad Hydro nutikad lepingud arendajatelt HYDRO teatud tasakaalu säilitamist. Kliendi vihmapiiskade leping nõuab kõigi kasutajate registreerimiseks HYDRO tasakaalu. HYDRO žetoonilepingu omanik (meie meeskond) saab reguleerida vajalikku HYDRO panustatud summat (et saaksime seda vajadusel vähendada vastavalt märgise nappusele). See panusumma ei tohi aga kunagi ületada 111 111 111 HYDRO, kui luuakse HydroID kellegi teise nimel, ja 222 222, kui soovite ise HydroID luua. Seadsime selle ülempiiri detsentraliseerimise säilitamiseks, nii et kui kontrollime suurt osa kogupakkumisest, ei saa me konkurente hinnast välja viia. Tulevikus kavatseme luua omanikulepingu detsentraliseeritud omandistruktuuri, isegi vaatamata selle minimaalsele võimsusele.

Selle õpetuse ulatus

Projekti Hydro raames oleme kirjutanud mõned nutikad lepingud, mis võimendavad HYDRO sümboleid: serveripoolne vihmapiiskade nutileping, kliendipoolne vihmapiiskade nutikas leping ja lumehelveste nutikas leping. Kavatseme kirjutada rohkem lepinguid vastavalt meie tegevuskavale, et muuta Hydro märk veelgi dünaamilisemaks ja kasulikumaks. Kõigi meie arukate lepingute keskmes on HydroID. HydroID luuakse meie kliendirakenduse nutika lepingu kaudu ja see loob püsiva turvalise lingi kasutaja rahakotile, mis ühendab selle kasutaja kogu hüdroökosüsteemiga.

Selles õpetuses kasutan kliendi vihmapiiskade nutikat lepingut kasutaja jaoks HydroIDi loomiseks, mis lingib minu isikliku Trusti rahakotiga. Teen seda Rinkeby testnetis MyCrypto abil. Arendaja võiks kasutada veeb3, et helistada samadele funktsioonidele, millele ma helistan, ja ühendada see omaenda rakendusega. Näiteks võib pank, kes võib-olla soovib muuta Raindropi 2FA-le oma mobiilirakenduseks ja kasutada oma kaubamärki, selle asemel, et panna oma kasutajad alla laadima eraldi rakenduse, võib veeb3 kasutada nende funktsioonide integreerimiseks oma API-sse. Teise võimalusena soovib keegi, kes ehitab loomuliku rahakotifunktsiooniga lingitud stiilis sotsiaalmeediaplatvormi, kutsuda neid funktsioone, et genereerida kasutaja HydroID-sid, mis seoksid nende kasutajate lumehelveste mitte-muudetavate märkidega. Hydro Nutika lepingutega programmiliselt suhtlemise täielik ulatus on arendaja kujutlusvõime.

Testneti eetri ja märkide omandamine

Enne alustamist peate rinkeby testvõrgus omandama ETH ja HYDRO. ETH saamiseks järgige selles StackExchange vastuses toodud samme:

Järgmisena peate hankima testneti HYDRO märgid. Selleks minge MyCrypto lepingute lehele:

Ühendage rahakotiga - ma kasutasin selleks lihtsalt oma MetaMaski rahakotti. Kasutame Rinkeby Hydro märgi lepingut, mille leiate siit:

Jätke “vali olemasolev leping” tühjaks ja kleepige selle asemel eeterscan lingi vasakus ülanurgas olev aadress 0x4959c… väljale “lepingu aadress”. Kleepige hankelepingu ABI eetriskangast väljale ABI. Valige funktsioon getMoreTokens, määrake gaasi piirmäär ja genereerige tehing. Kui see on valmis, peaks teil olema võimalik vaadata Rinkeby testneti rahakotis aadressil 0x4959c 10 000 HYDRO-tunnust. Kui järgite neid samme Ethereumi põhivõrgus, peate HYDRO omandama kolmandalt isikult.

Kui oleme seadnud HYDRO peamiseks netomängu nõudeks 222 222 HYDRO, hoiame Rinkeby panustamisnõudena 10 000 HYDRO, et arendajatel oleks lihtne neid samme järgida ja testida.

Märkus * kogu selle õpetuse ajal ei kasuta te tegelikult neid 10 000 HYDRO-d. Teil pole lihtsalt võimalik neid funktsioone helistada, kui teie rahakoti saldo on 10 000 HYDRO. Seega, kui soovite kunagi kasutajate registreerimist lõpetada, võite kasutada oma panustatud HYDRO-d teiste HYDRO nutikate lepingute jaoks või anda teistele arendajatele või kolmandale osapoolele või jätta need lihtsalt oma kontole.

Kasutajate registreerimine kliendipoolse Raindrop Nutika lepingu kaudu

Nüüd, kui oleme loodud, saame alustada kliendipoolse Raindropi nutilepinguga suhtlemise tegelikku protsessi. Selleks on kaks võimalust: võite kas registreerida oma HydroID või delegeerida kellegi teise seda teie nimel tegema. Alustame lihtsamaga - oma HydroID registreerimisega. Enda HydroID registreerimiseks saate helistada kliendipoolse Raindropi lepingu funktsioonile signUpUser.

Naaske MyCrypto lepingute lehele, välja arvatud seekord kleepige Kliendipoolne Raindropi lepingu aadress, mis algab numbriga 0xb29…. Selle lepingu leiate järgmise eeterscan lehe vasakus ülanurgas. Võtke siit ka ABI:

Valige funktsioon signUpDelechedUser, mis võtab ainsa parameetri casedUserName. Sisestage kasutajanimi, mille soovite registreerida. Kuna neid kasutajanimesid hoitakse avalikus plokiahelas, genereerib HydrogenAPI selle välja jaoks juhuslikud tähtnumbrilised 7 märgistikku; kuna ma teen seda käsitsi väljaspool HydrogenAPI, registreerin lihtsalt kasutajanime AnuragHydro.

Siin näete kinnitatud tehingut:

Nüüd huvitavama lähenemisviisi jaoks: HydroID registreerimine teise kasutaja nimel. See on kasulik kolmandate osapoolte rakendustele, kes soovivad oma kasutajad ühendada hüdroökosüsteemiga. Kellegi teise kasutajaks registreerimiseks peate te neilt koguma kaks asja:

  1. neilt allkirjastatud kiri - see teade peab olema keccak 256 räsi loendist „Loo RaindropClient hüdrokonto“
  2. nende avalik aadress

Vesinikus rakendamisel salvestame kasutaja mobiilseadmes võtmepaari Hydro kaudu. See privaatvõti allkirjastab sõnumi ja saadab allkirjastatud sõnumi koos nende avaliku aadressiga meie API-le, mis loob nende hüdroID.

Selle õpetuse jaoks ja protsessi käsitsi läbimiseks kasutan MyCrypto allkirjastamisfunktsioone. Minema:

Ja veenduge, et olete sisse loginud uue ja eraldi eeterumiaadressiga, mille jaoks te volitatud registreerumist teostate. Minu avalik aadress on 0x3c5 ... Peate kleepima sõnumi räsi „Loo RaindropClient hüdrokonto“ - räsi saate hankida siit:

ja see peaks välja tulema järgmine: 96c9259001bd030923ed09cd77ac733c1f82fe843ed92337c2b3953346d5a522. Lisage 0x esiosa ja allkirjastage sõnum:

Kui olete selle teinud, peaks allkiri ilmuma allpool:

Sellelt allkirjalt peate koguma “r” ja “v”. Selle saate teha, kleepides allkirja kindla laiusega tekstiredaktorisse (ma kasutan aatomit) ja toimides järgmiselt.

  1. eemaldage algusest peale 0x
  2. jagage saadud nöör kolmeks reaks. Veenduge, et viimane rida oleks 2 tähemärgi pikkune ning esimene ja teine ​​rida oleksid võrdse pikkusega.
  3. Lisage kahe esimese rea algusesse 0x.

Praegu peaks allkiri välja nägema umbes selline

4. väärtus “v” on praegu kuueteistkümnendsüsteemis ja see tuleb teisendada kümnendvormingusse. Selle muundamise saate teha siin:

1c kümnendkoha täpsusega on 28, seega on minu v väärtus 28.

Nüüd oleme kogunud kasutajalt, kellele plaanime registreerimist, järgmist:

avalik aadress = 0x3c5…

r = 0x02c9….

s = 0x7a5c….

v = 28

Ja selle kasutaja nimetame HydroID-ga AnuragHydro3.0

Nüüd peame naasma MyCrypto nutiklubi Hydro Client-Raindrop juurde, välja arvatud nüüd, et funktsiooni signUpUser asemel kutsume funktsiooni signUpDelechedUser. Sisestage ülaltoodud parameetrid järgmiselt:

Ja siin on eduka eetrisüsteemi kinnitus:

Ja voila! Olete eraldi kasutaja käsitsi registreerinud. Programmiliselt võite helistada kõigile neile samadele funktsioonidele ühtemoodi ja registreerida kasutajaid massiliselt.

Andke mulle teada, kui saate neid samme edukalt korrata või integreerida see protsess omaenda rakendusele natiivseks! Teise võimalusena saate oma kasutajatel alati alla laadida mobiilirakenduse Hydro ja registreeruda Hydro API kaudu Hydrogeni veebisaidil ning ühendada oma rakendus lihtsalt Hydro API-ga.