Moje potovanje, da postanem validator na Ethereum 2.0

blog 1NewsDevelopersEnterpriseBlockchain ExplainedDogodki in konferencePressGlasila

Naročite se na naše novice.

Email naslov

Spoštujemo vašo zasebnost

Pojasnjeno na HomeBlogBlockchain

Moje potovanje, da postanem validator na Ethereum 2.0

To je prvi v nizu člankov, ki opisujejo, kako lahko posameznik s ~ 32 ETH in tehničnim znanjem sodeluje pri zagonu verige svetilnikov Ethereum, ki ga je ustvaril Coogan Brennan, 25. novembra 2020, objavljeno 25. novembra 2020

tok validacijskega toka

Slika: Slika zgoraj, Ben Edgington iz Tekuja (ki prav tako piše bistveno Eth2.news glasilo), opisuje korake, ki jih bomo izvedli v naslednjih treh objavah v spletnem dnevniku. 

Opomba: Medtem ko je potekel rok za vključitev validatorjev v dogodek Genesis za verigo svetilnikov, lahko ljudje še vedno položijo 32 ETH v pogodbo o vplačilu po spodnjih korakih. Po besedah ​​Alexa Tudoracheja iz Eth2stats, ko se veriga začne 1. decembra, 12:00 UTC, 2020, bodo posamezniki, ki od 24. novembra 12:00 UTC, 2020 naložijo na genezo, v čakalni vrsti in bodo sledili običajnemu postopku aktivacije. 

  1. Uvod
  2. Izjava o omejitvi odgovornosti
  3. Materiali in zahteve
  4. Pridobitev 32 ETH na MetaMask
  5. Pregled lansirne ploščice
  6. Generacija ključev
  7. Povezovanje Ethereum 1.0 in 2.0 ter zaklepanje 32 ETH
  8. Zaključek

1. Uvod

To je prvi v nizu člankov, ki opisujejo, kako lahko posameznik s ~ 32 ETH in tehničnim znanjem sodeluje pri zagonu verige svetilnikov Ethereum, faza 0 projekta Ethereum 2.0. Preden se lotimo prvega koraka pošiljanja ETH na pogodbo o vplačilu in pridobivanja naših potrjevalnih ključev, bi rad razpravljal o nekaterih motivacijah za Ethereum 2.0.

Ethereum se bo kmalu podal na novo in razburljivo potovanje na neznano ozemlje za katero koli omrežje blockchain. Prehod s Proof of Work na Proof of Stake je najpomembnejša sprememba protokola v kratki zgodovini javnih verig blokov. Najbližji ekvivalent bi bil Ločena priča (ali SegWit) trda vilica Bitcoina – prilagoditev načinu obdelave velikosti blokov v Bitcoin omrežju. Ta sprememba, razmeroma majhna v primerjavi z Ethereum 2.0, je povzročila sporen, grenk boj in na koncu privedla do razdrobljenosti skupnosti Bitcoin.  

Uvedba Ethereum 2.0 naredi SegWit videti kot zamenjava pnevmatik. Obstajata dva glavna razloga, zakaj bi se ta skupnost lotila tako pomembne predelave. Prvič, skupnost Ethereum je skupnost razvijalcev. Razvijalci izdelka ne lansirajo in se ga nikoli več ne dotaknejo. Nenehno napotimo, opazujemo, razpravljamo in ponavljamo ideje in delo, ki ga ustvarjamo. Ta cikel spremljajo visoke ravni načrtovanja, modeliranja in usklajevanja v številnih ekipah, ki bi jih v drugih okoljih lahko šteli za tekmece. Ko pride do napak, se skupnost združi, da jih reši na najboljši možen način.

Drugi razlog, da se lotevamo tega novega, je ta verjamemo, da javni blockchains še zdaleč niso v polnem potencialu. Dokaz dela je bila nepreizkušena hipoteza, ko se je Bitcoin začel leta 2009. Velika večina ljudi ni verjela, da bi lahko rešili problem dvojne porabe, razen z uporabo zaupanja vrednih posrednikov. Bitcoin in druga omrežja Proof of Work so zdaj dokazali, da lahko monetarni sistem izvajamo kot peer-to-peer protokol (jaz vam pošiljam denar) brez tretje osebe.

Dokazovanje te točke je bil šele začetek. Skupnost Ethereum je dobila vzdevek Bitcoin 2.0 ob prvem razvoju: prepoznal je pomanjkljivosti operacijskega sistema Bitcoin in začel z razširitvijo zmogljivosti protokolov peer-to-peer. Ethereum 1.0 bo z leti še naprej napredoval, ko bomo poleg njega gradili 2.0, toda kot je dejal Vitalik Buterin v nedavnem Reddit AMA:

»Če ste danes tukaj v Ethereumu, ne bi smeli biti tukaj, ker menite, da si veljavna pravila (ekonomska ali tehnična) zaslužijo zaščito in stabiliziranje za vsako ceno, ampak zato, ker verjamete, kam gre ekosistem. […] Sodelovanje v Ethereumu je delno napoved, da je načrt dober in da bomo po koncu postopka nadgradnje dejansko prišli do mesta, kjer je omrežje učinkovito in stabilno ter močno in lahko postane osnova pomembnih deli svetovnega gospodarstva “


Dokaz vložka v tej fazi Ethereuma 2.0 je pravzaprav stava na sposobnost razvijalcev in skupnosti Ethereum, ki so že toliko zgradili, da še več prinesejo širšemu svetu. Pričakovati morate, da boste zaklenili vsa sredstva, ki ste jih vložili v to pogodbo o vplačilu vsaj dve leti, najverjetneje dlje. Ne podcenjujte tveganj in vlagajte le tisto, kar si lahko privoščite, da izgubite. Vendar s prispevanjem k temu prvemu koraku sodelujete v potencialno zgodovinskem trenutku, da potisnete javne verige blokov v naslednjo stopnjo razvoja.

Začnimo.

2. Omejitev odgovornosti

To objavo pišem kot uslužbenec ConsenSys in nekdo, ki namerava dejansko vložiti v verigo svetilnikov. Prva izjava pomeni, da dajem prednost izdelkom ConsenSys (izdelki ConsenSys so običajno najboljši v razredu za Ethereum, imam pa tudi dostop do inženirskih skupin, ki mi lahko pomagajo odgovoriti na vprašanja in odpraviti težave). Slednja izjava pomeni, da optimiziram glede na stroške in enostavnost uporabe: nimam na tisoče ETH, da bi prinesel znatne nagrade, zato uporabljam nekaj bližnjic. Prav tako ne želim vzdrževati strežnika v svojem stanovanju za stroškovne in logistične namene, zato za gostovanje vozlišča validatorja uporabljam Amazon Web Services (AWS). To je storitev, ki jo poznam kot razvijalec in je virtualna, tako da lahko do nje dostopam od kjer koli zaradi vzdrževanja. (Sprva sem razmišljal o uporabi 8 GB RAM-a Raspberry Pi, vendar nisem hotel skrbeti zaradi internetne povezave, zaradi česar je moč spletnega mesta še vedno vklopljena, pregrevanja in hitrosti ali če moj pes brcne moj prenosnik, ko me ni To je možnost in Ethereum na ARM je skupina, ki zagotavlja materiale za vložitev Ethereum 2.0 na Raspberry Pi) 

Mnogi ljudje v kripto skupnosti se ne bi strinjali z uporabo končne točke Infura namesto z lokalnim odjemalcem Ethereum 1.0 in gostovanjem na AWS (del Amazonovega golijata). To so odločitve, ki sem jih sprejel, da bi bil vlog na Ethereum 2.0 čim bolj enostaven in dostopen posameznikom, vendar imam kompromise glede decentralizacije in zasebnosti. Lahko pa upoštevate spodnjo vadnico za široko usmeritev in izberete, da zaženete lastnega odjemalca in gostitelja Ethereum 1.0 lokalno. Pravzaprav, če lahko to storite, bi vas spodbujal! 

3. Materiali in zahteve

Tu so materiali, ki jih bomo potrebovali, in splošni koraki, ki jih bomo sprejeli v treh objavah:

Materiali

  • Triletna zavezanost k vložitvi 32 ETH in vzdrževanju vozlišča validatorja
  • 32 ETH (plus <1 ETH za stroške plina)
  • 717,12 USD (triletna cena rezerviranega primerka za primerek m5.xlarge) + 120 (enoletni stroški 100 GB prostora za shranjevanje, konzervativno ob predpostavki, da je skoraj polna kapaciteta) = 837,12 USD, plačanih tekom leta AWS
  • Razširitev MetaMask (brezplačna namestitev
  • Račun Infura (prosti nivo)

Koraki

  1. Pridobite 32 ETH na MetaMask, Walkthrough Launchpad
  2. Konfigurirajte primerek AWS (triletna obveznost, lahko manj, vendar prihranite denar z več časa in ste zaklenjeni), okrepite varnostne funkcije
  3. Uvozite ključe za preverjanje, zaženite Teku, nadzor namestitve 

Skozi ta postopek se sprehaja nekaj odličnih, splošnejših vadnic, in sicer predstavitev Mara Schmiedt in Collina Myersa v biltenu Bankless. Ta vadnica bo drugačna, ko se bom sprehajal skozi svoj lasten postopek vstavljanja in dodal korake, specifične za mojo splošno nastavitev.

4. Pridobitev 32 ETH na MetaMask

Tako najlažji kot najtežji korak te vadnice. Medtem ko to pišem, Ethereum preživlja nizko ceno, ki dramatično poveča stroške vložka (Evan Van Ness je čudovit prispevek ki izsledi stroške potrjevanja za več mesecev, začenši z marcem 2019, ko je nakup 32 ETH do oktobra 2020 stal 3200 USD, ko stane 12.000 USD). Nekaj ​​ljudi je že nekaj časa kupilo in, hm, HODLed Ethereum. Če v letu 2010 svoje pištole niste pihali na pici, se imejte za srečnega strateškega vlagatelja.

Zakaj potrebujemo denarnico na podlagi brskalnika, kot je MetaMask? Tok zaklepanja ETH v depozitni pogodbi na omrežju Ethereum 1.0 Mainnet in povezovanje z verigo Ethereum 2.0 Beacon zahteva neke vrste nežen ples. Obe verigi uporabljata različne razrede kriptografije, zato moramo ustvariti povsem nove vrste kriptografskih ključev. Ti ključi pa morajo biti povezani z našimi naslovi Ethereum 1.0 z 32 ETH. Zelo zapleteno bi bilo, če bi to storili sami, zato sta Ethereum Foundation in ConsenSys ustanovila spletno mesto, ki ureja postopek, imenovan Vzletna ploščad. Za interakcijo s tem spletnim mestom pa potrebujemo denarnico v brskalniku s ključi Ethereum 1.0, povezanimi z našim 32 ETH stanjem. Kasneje se bomo lotili tega, toda želel sem sporočiti, zakaj to počnemo.

Če nimate nobenega etra (osnovna valuta za omrežje Ethereum): Kupite lahko neposredno na MetaMask. ETH lahko kupite tudi na certificiranih borzah, kot je Dvojčka, vendar bodite opozorjeni, da obstaja obsežen postopek KYC in Gemini bo vodil in lahko predložil evidence lokalnim, državnim in nacionalnim državnim agencijam. Če imate žetone ERC-20, ne pa tudi etra: Priporočam, da novo funkcijo zamenjav MetaMask uporabite neposredno v denarnici MetaMask, ki združuje decentralizirane izmenjevalnike izmenjav, kot sta Uniswap in AirSwap, da dobite najboljše cene in najnižje omrežnine. Če je vaš ETH v denarnici strojne opreme Trezor ali Ledger, Priporočam, da sledite tem korakom, da denarnico povežete z MetaMask. Uporabljam MetaMask, vendar Ethereum Foundation priporoča tudi denarnice, ki temeljijo na brskalnikih Portis ali Trdna

Zame je bilo to nekoliko živčno, ko sem videl na razpolago precejšen znesek denarja z neposrednim kriptografskim podpisom. Verjetno je pravi čas, da se čudite neverjetni moči kripto, da lahko to podarite posameznikom, hkrati pa ljudi opomnite, naj poskrbijo, da ste varnostno kopirali zasebne ključe ali opozorilne fraze..

5. Pregled lansirne ploščice

Slika: Launchpad.ethereum.org

Zdaj, ko imamo za skrbništvo 32 ETH, lahko gremo na Launchpad.ethereum.org, spletnem mestu Launchpad, ki smo ga že omenili. Mara in Collinov vodnik brez bank zelo dobro prehaja začetno stran (prikazano spodaj) in večina je samoumevna, vendar sem želel nekaj osebno interpretirati:

Prvi štirje koraki (Pregled, Prijava, Odgovornosti, in Rezanje) so osnovni povzetek Ethereuma 2.0, stališča in vaše odgovornosti kot preveritelja. V bistvu mehanizem soglasja Proof of Stake sloni na tem, da “rudarji” (v jeziku Proof of Work) svoj denar dajo tja, kjer so njihova usta, namesto da bi porabili ogromno CPU za reševanje ugank Proof of Work. To je 32 ETH, namiznih vložkov za sodelovanje v konsenzu o dokazilu o vložku. 

In ker je omrežje še v razvoju, za validatorje še ni izhoda (kaj če najdete kramp DAO v novem omrežju? Ne moremo vas pustiti zapustiti …). Torej, vsi so na dolge poti. (ki zajema Zamuda pri prenosu in Zaveza)

Nazadnje, če se v omrežju “obnašate napačno” (bodisi zaradi zlonamernosti bodisi zaradi nevednosti ali slučajnosti), boste kaznovani. V Ethereumu 2.0 se imenuje rezanje. Pozitivna stran je, da če se pravilno obnašate kot potrjevalnik, dobite “nagrade za rudarstvo”, povezane z omrežjem (o tem bomo razpravljali kasneje). Na hitro se odvračilno / spodbudno ravnovesje razlikuje od dokazil o delu, kjer obstajajo samo spodbud da rudarji ne bi sabotirali omrežja in se pravilno obnašali. 

Sledi ključni sistem, ki sem ga že omenil. Sistem za podpis ključev, ki ga bo Ethereum 2.0 uporabljal, je BLS. Nisem strokovnjak za kriptografijo, vendar BLS prevzema to, da omogoča strnitev več digitalnih podpisov v enega preverljivega. To je koristno pri zbiranju potrdil o svetilniku (“Glasovi glede veljavnosti drobnega bloka ali svetilnika”). Za nas najprimernejša shema BLS se razlikuje od sheme, ki se uporablja za Ethereum 1.0.

Za več informacij o BLS glejte to nit od Jeffa Colemana ali ta prispevek Reddita o zgodovini razvoja BLS za Ethereum 2.0

Spreminjanje sheme zasebnega ključa za veliko javno omrežje bi bilo skoraj nemogoče. Ker pa bo Ethereum 2.0 deloval skupaj z Ethereum 1.0, so razvijalci jedra pripravili pametno rešitev, ki je klasičen stisk rok:

Vzletna ploščad

V zgornjem diagramu modri ključ in polja predstavljajo Ethereum 1.0 in njegovo kriptografsko shemo, rdeči ključ in polja pa Ethereum 2.0 in njegovo kriptografsko shemo. Depozitna pogodba, ki obstaja na Ethereum 1.0 Mainnet, omogoča uporabniku, da dokaže, da ima zasebne ključe za Ethereum 1.0 in Ethereum 2.0. To deluje tako:

Transakcijo, predloženo v pogodbo o depozitu na Ethereum 1.0, mora podpisati zasebni ključ Ethereum 1.0 (tako kot vsako transakcijo, predloženo na Mainnet-u). Vendar je ta transakcija ovita okoli drugega podpisa zasebnega ključa, zasebnega ključa Ethereum 2.0. Veriga svetilnikov spremlja pogodbo o vplačilu na Ethereum 1.0, če se pogodbi predloži veljavna transakcija s pravilnim stanjem, veriga svetilnikov nato odvije prvo plast šifriranja in dostopa do druge plasti, digitalnega podpisa Ethereum 2.0. To se uporablja za potrditev naslova potrjevalnika Ethereum 2.0 in njegovo povezavo z naslovom Ethereum 1.0.

Za ljudi, ki poznajo Solidity, je tu transakcija, ki je sklenjena s pogodbo Ethereum 1.0 z obkroženim parametrom podpisa BLS:

Tu je še en parameter (poverilnice za umik), o katerem nismo razpravljali, kar je v bistvu ključ za enkratni umik 32 ETH, ko nam to dovolijo. To bomo ustvarili tudi z Launchpadom.

Kot lahko vidite, gre za zapleten postopek, ki bi za posameznega uporabnika zahteval samostojno delo. Launchpad nam daje voden postopek za pomoč in zmanjšanje zapletenosti.

Naslednji trije oddelki (Zaveza, Tveganje za zgodnje posvojitve in Potrditev) so še zadnji opomnik o tvegani in dolgoročni zavezi sodelovanja v Ethereum 2.0 

Za več informacij o terminologiji Ethereum 2.0 in razumevanju vloge preverjalnika glejte dva odlična dela Alexa Tudoracheja Demistificirani pogoji Ethereuma 2.0 in Validatorjevo potovanje po svetilniški verigi.

6. Generacija ključev

Zdaj, ko imamo splošen pregled naše vloge v Ethereumu 2.0 kot validatorja, bomo nadaljevali z bistvom postopka: ustvarili bomo validacijske ključe in jih povezali z Ethereum 1.0 s prenosom 32 ETH na pogodbo o vplačilu Ethereum 1.0 Mainnet.

Po potrditvi, da ste prebrali razkritja, se bo Launchpad sprehodil po možnostih za izbiro odjemalca Ethereum 1.0 in 2.0. Do teh bomo prišli v drugem prispevku in ni pogoj za napredovanje naprej. 

Nato odprete spodnji razdelek »Ustvari ključe«:

Izbral sem 1 validator in mi pokaže stroške. Nato prosi moj trenutni operacijski sistem, da mi pomaga prenesti majhen košček programske opreme za generiranje parov ključev validatorja. To je zapleteno, ker medtem ko bo moj odjemalec za preverjanje veljavnosti deloval v Linuxu, vsak dan uporabljam Mac. Tako sem izbral Mac in popeljal nas je do naslednjega koraka z vprašanjem, kako želimo nastaviti programsko opremo:

Odločil sem se za prenos aplikacije CLI in pripeljal sem do strani za prenos na strani Github Fundacije Ethereum (različica za izdajo se lahko za vas zdi drugačna, samo prepričajte se, da gre za najnovejšo različico):

Pomaknite se navzdol, da si ogledate razdelek za prenos:

Prenesite datoteko `tar.gz` za ustrezen operacijski sistem in jo razpakirajte.

Zdaj moramo odpreti terminal ukazne vrstice in se pomakniti do imenika naše nepakirane datoteke, imenovane eth2deposit-cli. Bližnjica za nekatere stroje je, da vtipkate cd, nato povlečete in spustite imenik v terminal, ki vam bo dal pot do imenika. Pritisnite Enter in v imeniku eth2deposit-cli zaženite naslednji ukaz, ki ga nudi Launchpad:

./ položi novo-mnemotehnično-verižno omrežje

Stalno vas opozarjamo, da je treba vključiti – verižno omrežje, ker so prejšnje vaje imele različne verige za različne testne mreže. Zato obvezno dodajte glavno mrežo, sicer vaši podatki o transakciji ne bodo veljavni!

Vnesite število validacijskih programov, ki jih želite zagnati, in sledite korakom.

V naslednjih nekaj korakih ne bom delil posnetkov zaslona, ​​saj gre za ustvarjanje občutljivih ključev in gesel. Dve glavni stvari: 1) Varnostno kopirajte mnemografsko besedno zvezo, ki jo dobite, saj je to edini način, da umaknete ETH, ki ga vložite, ko je dovoljeno Ta korak je namenjen samo uporabnikom Teku: Ustvarite datoteko z navadnim besedilom, ki vsebuje geslo, ki ste ga vnesli za svoje potrjevalne ključe. Shranite jo z istim imenom kot datoteka keystore.json, vendar s pripono a.txt v istem imeniku s ključi in podatki o vplačilu. Če je na primer datoteka shrambe ključev KEYSTORE-M_123456_789_ABCD.json, datoteka z navadnim besedilom z geslom naj se imenuje KEYSTORE-M_123456_789_ABCD.txt. To bo uporabljeno pozneje pri zagonu Teku.

Po uspešnem zagonu eth2deposit-cli iz terminala in dodajanju datoteke z geslom mora biti vaš imenik videti tako:

eth2deposit-cli /

└── ključ_ validatorja_info /

   ├── KEYSTORE-M_123456_789_ABCD.json

   ├── KEYSTORE-M_123456_789_ABCD.txt

   └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json

└── MNEMONIC_BACKUP.txt

7. Povezovanje Ethereum 1.0 in 2.0 ter zaklepanje 32 ETH

Zadnji korak pri tej vadnici bo pošiljanje informacij o veljavnosti na pogodbo o vplačilu na glavnem omrežju Ethereum 1.0 s pravilnimi informacijami, ki jih bo lahko prepoznala tudi veriga svetilnikov (stisk, ki smo ga omenili prej).

Na zavihku »Prenosnik za nalaganje« lahko povlečete in spustite drugo datoteko, ki jo je ustvaril eth2deposit-cli: Datoteka s podatki o vplačilu (DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json v zgornjem primeru). Povlecite in spustite to datoteko iz računalnika na mesto na strani Launchpad:

Če so podatki o depozitu pravilno oblikovani, boste videli naslednje:

Zdaj nas bo Launchpad prosil, da povežemo programsko denarnico z računom, na katerega smo prej poslali 32 ETH:

Ko boste to uspešno izvedli, boste videli naslednje:

Nove varnostne funkcije podjetja MetaMask zahtevajo, da spletno mesto zahteva, da se posebej poveže z vsakim računom – če račun z 32 ETH ni izbran, ko se povežete, preprosto odprite MetaMask, kliknite račun, ki ima 32 ETH, in ga povežite z Launchpadom.

Ko kliknete »Nadaljuj«, boste videli povzetek informacij, skupaj z nadaljnjim poudarkom na tveganju in dolgoročni zavezanosti tega, kar boste storili:

Ko natančno preberete ta razkritja in opozorila, pride trenutek resnice:

Ko kliknete »Zaženi transakcijo«, se boste soočili z enim najbolj vznemirljivih potrditvenih polj v VAŠEM (kripto) ŽIVLJENJU! Globoko vdihnite, prepričajte se, da ste pripravljeni, saj po pritisku na pot pot nazaj ne bo več možna! (No, MetaMask ima časovno občutljivo funkcijo “Prekliči transakcijo”, ker je odlična denarnica, vendar se pretvarjajte, kot da je nimate!)

Ko bo vse potrjeno in minirano, boste videli tak zaslon:

8. Zaključek

Čestitamo! Sodelovali ste v enem najbolj razburljivih dogodkov v zgodovini usklajevanja javnosti!!

Toda delo se je šele začelo. Naslednji dve objavi bomo nastavili primerek strežnika AWS Ubuntu 20.04 za naše vozlišče za preverjanje veljavnosti Teku z uporabo Infure kot končne točke Ethereum 1.0. Nato bomo delali na utrjevanju varnosti in nadzoru vozlišč z orodjem, kot je Grafana. 

Za naslednji obrok bomo v tej objavi potrebovali le vsebino imenika eth2deposit-cli / validator_key_info, primeri spodaj:

eth2deposit-cli /

└── ključ_ validatorja_info /

   ├── KEYSTORE-M_123456_789_ABCD.json

   ├── KEYSTORE-M_123456_789_ABCD.txt

   └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json

Ostani na vezi!

Zahvaljujemo se Jamesu Becku, Meredith Baxter, Chamindi Divitotawela, Benu Edgingtonu, The Dark Jester, Somer Esat, Josephu Lubinu, Collinu Meyersu, Nicku Nelsonu, Mara Schmiedt, Adrianu Suttonu in Alexu Tudoracheju za podporo in tehnično pomoč..

BlockchainCryptoEthereumEthereum 2.0NewsletterNaročite se na naše novice o najnovejših novostih v Ethereumu, podjetniških rešitvah, virih za razvijalce in še več.Poročilo DeFi za Ethereum Q3 2020Prijavi

Poročilo DeFi za Ethereum Q3 2020

Poročilo DeFi o Ethereum Q2 2020Prijavi

Poročilo DeFi o Ethereum Q2 2020

Popoln vodnik za poslovna omrežja BlockchainVodnik

Popoln vodnik za poslovna omrežja Blockchain

Kako zgraditi uspešen izdelek BlockchainSpletni seminar

Kako zgraditi uspešen izdelek Blockchain

Uvod v tokenizacijoSpletni seminar

Uvod v tokenizacijo

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map