Moje putovanje kako bih postao validator na Ethereumu 2.0

blog 1NewsDevelopersEnterpriseBlockchain ObjašnjeniDogađaji i konferencijePressBilteni

Pretplatite se na naše obavijesti.

Email adresa

Poštujemo vašu privatnost

Objašnjeno HomeBlogBlockchain

Moje putovanje kako bih postao validator na Ethereumu 2.0

Ovo je prvi u nizu članaka koji opisuju kako pojedinac, s ~ 32 ETH i tehničkim znanjem, može sudjelovati u pokretanju lanca svjetionika Ethereum, autor Coogan Brennan, 25. studenog 2020. Objavljeno 25. studenog 2020.

protok tekućeg validatora

Slika: Gornju sliku, Ben Edgington iz Tekua (koji je također napisao bitno Eth2.news bilten), opisuje korake koje ćemo poduzeti za sljedeća tri posta na blogu. 

Napomena: Iako je prošao rok za uključivanje validatora u događaj Genesis za lanac svjetionika, ljudi i dalje mogu položiti 32 ETH u ugovoru o pologu slijedeći korake u nastavku. Prema Alexu Tudoracheu iz Eth2stats, nakon što lanac započne 1. prosinca, 12:00 UTC, 2020, pojedinci koji deponiraju od 24. studenog 12:00 UTC, 2020, u genezu će se staviti u red i slijediti uobičajeni postupak aktivacije. 

  1. Uvod
  2. Odricanje
  3. Materijali i zahtjevi
  4. Stjecanje 32 ETH na MetaMasku
  5. Pregled lansirne ploče
  6. Generacija ključeva
  7. Povezivanje Ethereuma 1.0 i 2.0 i zaključavanja 32 ETH
  8. Zaključak

1. Uvod

Ovo je prvi u nizu članaka koji opisuju kako pojedinac, s ~ 32 ETH i tehničkim znanjem, može sudjelovati u pokretanju lanca svjetionika Ethereum, faza 0 projekta Ethereum 2.0. Prije nego što krenemo u prvi korak slanja ETH na Ugovor o pologu i dobivanja ključeva za provjeru valjanosti, želio bih razgovarati o nekim motivacijama koje stoje iza Ethereuma 2.0.

Ethereum će uskoro krenuti na novo i uzbudljivo putovanje na neistraženi teritorij za bilo koju blockchain mrežu. Prijelaz s Proof of Work na Proof of Stake najznačajnija je promjena protokola u kratkoj povijesti javnih blockchaina. Najbliži ekvivalent bio bi Odvojeni svjedok (ili, SegWit) tvrda vilica Bitcoina – prilagodba načinu obrade veličina blokova u Bitcoin mreži. Ta promjena, relativno mala u usporedbi s Ethereumom 2.0, rezultirala je prepirkastom, žestokom borbom i na kraju dovela do fragmentacije zajednice Bitcoin.  

Lansiranje Ethereuma 2.0 čini da SegWit izgleda poput promjene guma. Dva su glavna razloga zašto bi se ova zajednica poduzela tako značajnu preradu. Prvo, zajednica Ethereum je zajednica programera. Programeri ne lansiraju proizvod i nikad ga više ne diraju. Stalno raspoređujemo, promatramo, raspravljamo i ponavljamo ideje i rad koji proizvodimo. Taj je ciklus popraćen visokom razinom planiranja, modeliranja i koordinacije u mnogim timovima koji bi se, u drugim okruženjima, mogli smatrati konkurentima. Kada postoje pogreške, zajednica se okuplja kako bi ih riješila na najbolji mogući način.

Drugi razlog zbog kojeg poduzimamo ovaj novi pothvat je taj vjerujemo da su javni blockchaini daleko od svog punog potencijala. Dokaz o radu bila je neprovjerena hipoteza kada je Bitcoin pokrenut 2009. Velika većina ljudi nije vjerovala da možete riješiti problem dvostrukog trošenja, osim korištenjem pouzdanih posrednika. Bitcoin i druge mreže Proof of Work sada su dokazali da možemo implementirati monetarni sustav kao peer-to-peer protokol (ja vam šaljem novac) bez treće strane.

Dokazivanje te točke bio je samo početak. Ethereum je nadimak Bitcoin 2.0 dobio od zajednice kada je prvi put razvijen: prepoznao je nedostatke operativnog sustava Bitcoin i pokrenuo ga kako bi proširio sposobnost peer-to-peer protokola. Ethereum 1.0 nastavit će ostvarivati ​​velike korake tijekom godina dok zajedno s njim gradimo 2.0, ali kako je rekao Vitalik Buterin u nedavnom Reddit AMA-u:

“Ako ste danas ovdje u Ethereumu, trebali biste biti ovdje ne zato što vjerujete da trenutna pravila (ekonomska ili tehnička) zaslužuju biti zaštićena i stabilizirana pod svaku cijenu, već zato što vjerujete kamo ekosustav ide. […] Sudjelovanje u Ethereumu neizbježno je predviđanje da je putokaz dobar i da ćemo nakon završetka ovog postupka nadogradnje zapravo doći do mjesta na kojem je mreža učinkovita i stabilna te moćna i sposobna biti baza značajnih dijelovi globalne ekonomije “

Dokaz uloga u ovoj fazi Ethereuma 2.0 zapravo je oklada na sposobnost programera i zajednice Ethereuma, koji su već toliko izgradili, da još više isporuče širem svijetu. Trebali biste očekivati ​​da zaključate sva sredstva za koja ste stavili ovaj Ugovor o pologu barem dvije godine, najvjerojatnije duže. Molimo vas, nemojte podcjenjivati ​​rizike i uložite samo ono što si možete priuštiti da biste izgubili. Međutim, doprinoseći ovom prvom koraku, sudjelujete u potencijalno povijesnom trenutku za guranje javnih blockchaina u sljedeću fazu razvoja.

Započnimo.

2. Izjava o odricanju odgovornosti

Ovo je post koji pišem kao zaposlenik ConsenSys-a i netko tko planira stvarno uložiti u lanac svjetionika. Prva izjava znači da dajem prednost proizvodima ConsenSys (proizvodi ConsenSys obično su najbolji u klasi za Ethereum, a također imam pristup inženjerskim timovima koji mi mogu pomoći u odgovoru na pitanja i rješavanju problema). Posljednja izjava znači da optimiziram za cijenu i jednostavnost upotrebe: nemam tisuće ETH-a da bih donio značajne nagrade, pa koristim neke prečace. Također ne želim održavati poslužitelj u svom stanu zbog troškova i logistike, tako da koristim Amazon Web Services (AWS) za hostiranje čvora za provjeru valjanosti. To je usluga koju poznajem kao programer i virtualna je tako da joj mogu pristupiti s bilo kojeg mjesta radi održavanja. (U početku sam razmišljao o korištenju 8 GB RAM-a Raspberry Pi, ali nisam htio brinuti se zbog internetske veze, zbog toga što je snaga web lokacije i dalje uključena, pregrijavanja i brzine, ili ako moj pas prebaci moj laptop kada me nema To je opcija i Ethereum na ARM-u je grupa koja pruža materijale za postavljanje Ethereuma 2.0 na Raspberry Pi) 

Mnogi ljudi u kripto zajednici ne bi se složili s upotrebom krajnje točke Infure umjesto lokalnog klijenta Ethereum 1.0 i hostinga na AWS-u (dijelu Amazonije golijata). Ovo su odluke koje sam donio kako bih ulaganje u Ethereum 2.0 učinio što jednostavnijim i dostupnijim pojedincima, ali uz kompromise u vezi s decentralizacijom i privatnošću. Međutim, možete slijediti općenite upute u nastavku i odabrati pokretanje vlastitog klijenta i hosta Ethereum 1.0 lokalno. Zapravo, ako to možete učiniti, poticao bih vas! 

3. Materijali i zahtjevi

Evo materijala koji će nam trebati i ukupnih koraka koje ćemo poduzeti tijekom tri posta:

Materijali

  • Trogodišnja predanost ulaganju 32 ETH i održavanju čvora validatora
  • 32 ETH (plus <1 ETH za troškove plina)
  • 717,12 USD (trogodišnja cijena rezervirane instance za m5.xlarge primjerak) + 120 (jednogodišnji trošak od 100 GB prostora za pohranu, konzervativno pretpostavljajući gotovo puni kapacitet pohrane) = 837,12 USD plaćeno tijekom godine AWS-u
  • Proširenje MetaMask (besplatna instalacija
  • Infura račun (slobodni sloj)

Koraci

  1. Nabavite 32 ETH na MetaMask, Walkthrough Launchpad
  2. Konfigurirajte AWS instancu (trogodišnja obveza, može biti i manja, ali novac štedite s više vremena i zaključani ste), učvrstite sigurnosne značajke
  3. Uvezite potvrdne ključeve, pokrenite Teku, nadzor nad postavljanjem 

Kroz ovaj proces prolazi nekoliko izvrsnih, općenitijih vodiča, naime Mara Schmiedt i Collin Myers prolazak kroz bilten Bankless. Ovaj vodič bit će drugačiji dok prolazim kroz vlastiti postupak ulaganja i dodavam korake specifične za moje cjelokupno postavljanje.

4. Stjecanje 32 ETH na MetaMask-u

I najlakši i najteži korak ovog vodiča. Dok ovo pišem, Ethereum prolazi kroz cijenu koja dramatično povećava troškove ulaganja (Evan Van Ness je divan post što prati troškove provjere valjanosti unatrag mnogih mjeseci, počevši od ožujka 2019., kada je kupnja 32 ETH do listopada 2020., kada košta 12.000 USD, koštala 3.100 USD. Postoji nekoliko ljudi koji su već neko vrijeme kupili i, hm, HODLed Ethereum. Ako 2010. niste puhali u kripto na pizzu, smatrajte se sretnim – erm – strateškim ulagačem.

Zašto nam treba novčanik zasnovan na pregledniku poput MetaMaska? Tok zaključavanja ETH-a u ugovoru o pologu na Ethereum 1.0 Mainnet-u i povezivanja s Ethereum 2.0 Beacon lancem zahtijeva nježne vrste plesa. Dva lanca koriste različite klase kriptografije, tako da moramo generirati potpuno nove vrste kriptografskih ključeva. Ti ključevi moraju biti povezani s našim Ethereum 1.0 adresama s 32 ETH. Bilo bi vrlo nezgodno samostalno to učiniti, pa su Ethereum Foundation i ConsenSys postavili web mjesto koje vodi postupak nazvan Launchpad. Međutim, za interakciju s tom web lokacijom potreban nam je novčanik temeljen na pregledniku s ključevima Ethereum 1.0 povezanim s našom 32 ETH ravnotežom. Ući ćemo u to kasnije, ali želio sam javiti ljudima zašto to radimo.

Ako nemate nijedan eter (osnovna valuta za mrežu Ethereum): Možete kupiti izravno na MetaMask-u. ETH možete kupiti i na certificiranim burzama poput Blizanci, ali imajte na umu da postoji opsežan KYC postupak i da će Blizanci voditi evidenciju i moći ih predati lokalnim, državnim i nacionalnim državnim agencijama. Ako imate ERC-20 tokene, ali ne i eter: Preporučujem upotrebu nove značajke zamjene MetaMask izravno u vašem novčaniku MetaMask, koja kombinira decentralizirane agregatore razmjene poput Uniswap i AirSwap kako biste dobili najbolje cijene i najniže mrežne naknade. Ako je vaš ETH na hardverskom novčaniku Trezor ili Ledger, Preporučujem da slijedite ove korake da biste taj novčanik povezali s MetaMaskom. Koristim MetaMask, ali Ethereum Foundation također preporučuje novčanike zasnovane na preglednicima poput Portis ili Fortmatski

Za mene je ovo pomalo živciralo kad sam vidio značajnu količinu novca na raspolaganju s direktnim kriptografskim potpisom. Vjerojatno je dobro vrijeme da se čudite nevjerojatnoj snazi ​​kriptografije da biste to mogli podariti pojedincima, a istovremeno podsjećate ljude da provjere jeste li sigurnosno kopirali svoje privatne ključeve ili fraze za oporavak.

5. Pregled lansirne ploče

Slika: Launchpad.ethereum.org

Sad kad imamo skrbništvo nad 32 ETH za ulog, možemo ići na Launchpad.ethereum.org, web stranicu Launchpad koju smo ranije spomenuli. Mara i Collinov vodič bez banke vrlo dobro prolazi početnu stranicu (prikazanu dolje) i velik dio toga je samorazumljiv, ali htio sam dati svoje osobno tumačenje nekoliko stvari:

Prva četiri koraka (Pregled, Prijava, Odgovornosti, i Rezanje) su osnovni sažetak Ethereuma 2.0, ulog i vaše odgovornosti kao validatora. U osnovi, mehanizam konsenzusa Proof of Stake oslanja se na to da “rudari” (u jeziku Proof of Work) svoj novac stavljaju tamo gdje su im usta, umjesto da troše ogromne količine CPU-a rješavajući zagonetke Dokaza o radu. To je 32 ETH, tablični ulog za sudjelovanje u konsenzusu Proof of Stake. 

A budući da je mreža još uvijek u fazi izrade, još uvijek nema izlaza za validatore (što ako nađete DAO hak u novoj mreži? Ne možemo vam dopustiti da odete …). Dakle, svi su na duge staze. (koji pokriva Kašnjenje prijenosa i Predanost)

Na kraju, ako se u mreži „ponašate loše“ kao validator (bilo iz zlonamjernosti ili neznanja ili slučajnosti), bit ćete kažnjeni. U Ethereumu 2.0 to se zove rezanje. Pozitivna je strana ako se ponašate ispravno kao validator, dobit ćete „nagrade za rudarstvo“ povezane s mrežom (o tome ćemo kasnije više). Ukratko, destimulativna / poticajna ravnoteža razlikuje se od dokaza o radu, gdje postoje samo poticaje kako rudari ne bi sabotirali mrežu i ponašali se ispravno. 

Sljedeći je ključni sustav koji sam već spomenuo. Sustav potpisa s ključevima koji će se koristiti Ethereum 2.0 je BLS. Nisam stručnjak za kriptografiju, ali iznošenje BLS-a omogućuje da se više digitalnih potpisa sažme u jedan provjerljivi. Ovo je korisno pri prikupljanju potvrda o svjetioniku (“Glasovi u pogledu valjanosti bloka krilca ili svjetionika”). Za nas najprikladnija, BLS shema razlikuje se od sheme koja se koristi za Ethereum 1.0.

Za više informacija o BLS-u, molimo pogledajte ovu temu od Jeffa Colemana ili ovaj Reddit post o povijesti razvoja BLS-a za Ethereum 2.0

Promjena sheme privatnog ključa za veliku javnu mrežu bila bi gotovo nemoguća. Međutim, budući da će Ethereum 2.0 raditi zajedno s Ethereumom 1.0, jezgroviti programeri smislili su pametno rješenje, koje je klasično rukovanje:

Launchpad

U gornjem dijagramu plavi ključ i okviri predstavljaju Ethereum 1.0 i njegovu kriptografsku shemu, a crveni ključ i okviri predstavljaju Ethereum 2.0 i njegovu kriptografsku shemu. Ugovor o pologu, koji postoji na Ethereum 1.0 Mainnet, omogućava korisniku da dokaže da ima privatne ključeve za Ethereum 1.0 i Ethereum 2.0. Evo kako to funkcionira:

Transakcija predana ugovoru o depozitu na Ethereum 1.0 mora biti potpisana privatnim ključem Ethereum 1.0 (kao i svaka transakcija predana na Mainnetu). Međutim, ta je transakcija omotana oko drugog potpisa privatnog ključa, privatnog ključa Ethereum 2.0. Lanac svjetionika prati ugovor o pologu na Ethereumu 1.0, ako se na ugovor preda valjana transakcija s ispravnim saldom, lanac svjetionika zatim odmotava prvi sloj šifriranja i pristupa drugom sloju, Ethereum 2.0 digitalnom potpisu. To se koristi za potvrdu adrese valjanika Ethereum 2.0 i povezivanje s adresom Ethereum 1.0.

Za ljude koji poznaju Solidity, evo transakcije koja dolazi u ugovor Ethereum 1.0, s zaokruženim BLS parametrom potpisa:

Ovdje postoji još jedan parametar (vjerodajnice za povlačenje) o kojem nismo raspravljali, a koji je u osnovi jednokratni ključ za povlačenje 32 ETH nakon što to smijemo učiniti. To ćemo generirati i s Launchpadom.

Kao što vidite, to je složen postupak koji bi za pojedinog korisnika bio izazov samostalno raditi. Launchpad nam daje vođeni postupak za pomoć i smanjenje složenosti.

Sljedeća tri odjeljka (Predanost, Rizik ranog usvajanja i Potvrda) posljednji su podsjetnik na rizično i dugoročno opredjeljenje za sudjelovanje u Ethereumu 2.0 

Za više informacija o terminologiji Ethereum 2.0 i razumijevanju uloge validatora, pogledajte dva izvrsna djela Alexa Tudorachea Demistificirani uvjeti Ethereuma 2.0 i Putovanje valjanika kroz lanac svjetionika.

6. Generiranje ključeva

Sad kad imamo općeniti pregled naše uloge u Ethereumu 2.0 kao validatora, nastavit ćemo s glavnim dijelom procesa: generiranjem ključeva validatora i njihovim povezivanjem s Ethereum 1.0 s prijenosom 32 ETH na ugovor o depozitu na matičnoj mreži Ethereum 1.0.

Nakon potvrde da ste pročitali otkrića, Launchpad će proći kroz opcije koje imate za odabir klijenta Ethereum 1.0 i 2.0. Do njih ćemo doći u drugom postu i nije uvjet da se ide naprijed. 

Zatim ćete otići u odjeljak “Generiranje ključeva”, prikazan u nastavku:

Odabrao sam 1 program za provjeru valjanosti i pokazuje mi troškove. Zatim traži od mog trenutnog operativnog sustava da mi pomogne preuzeti mali dio softvera za generiranje parova ključeva validatora. Ovo je nezgodno, jer dok će se moj klijent za provjeru valjanosti izvoditi na Linuxu, ja svakodnevno koristim Mac. Stoga odabirem Mac i vodi nas do sljedećeg koraka, pitajući nas kako želimo postaviti softver:

Odlučio sam preuzeti aplikaciju CLI i ona će me odvesti na stranicu za preuzimanje na stranici Github zaklade Ethereum (izdanja za vas mogu izgledati drugačije, samo budite sigurni da je najnovija verzija):

Pomaknite se prema dolje da biste vidjeli odjeljak za preuzimanje:

Preuzmite datoteku `tar.gz` za odgovarajući operativni sustav i raspakirajte je.

Sada moramo otvoriti terminal za naredbenu liniju i otići do direktorija naše nepakirane datoteke, nazvanog eth2deposit-cli. Prečac za neke strojeve je da upišete cd, a zatim povucite i ispustite direktorij u terminal, koji će vam dati put do direktorija. Pritisnite Enter i u direktoriju eth2deposit-cli pokrenite sljedeću naredbu koju pruža Launchpad:

./ položiti novo-mnemotehničku mrežu

Stalno se podsjećamo da treba uključiti – lanac glavne mreže, jer su prethodni vodiči imali različite lance za različite mreže testiranja. Stoga obavezno dodajte glavnu mrežu u suprotnom podaci o transakciji neće biti valjani!

Unesite broj programa za provjeru valjanosti koji želite pokrenuti i slijedite korake.

Neću dijeliti snimke zaslona u sljedećih nekoliko koraka, jer uključuje generiranje osjetljivih ključeva i lozinki. Dvije su glavne stvari: 1) Izrada sigurnosne kopije mnemoničke fraze koju dobivate jer je to jedini način da povučete ETH koji uložite nakon što je to dozvoljeno 2) Ovaj je korak namijenjen samo korisnicima Teku: Stvorite datoteku s otvorenim tekstom koja sadrži lozinku koju ste unijeli za ključeve validatora. Spremite je s istim imenom kao i datoteka keystore.json, ali sa sufiksom a.txt u istom direktoriju s ključevima i podacima o depozitu. Na primjer, ako je vaša datoteka pohrane ključeva KEYSTORE-M_123456_789_ABCD.json, datoteka otvorenog teksta s vašom lozinkom trebala bi se zvati KEYSTORE-M_123456_789_ABCD.txt. To će se koristiti kasnije prilikom pokretanja Tekua.

Nakon uspješnog pokretanja eth2deposit-cli s vašeg terminala i dodavanja datoteke lozinke, vaš bi direktorij trebao izgledati ovako:

eth2deposit-cli /

└── validator_key_info /

   ├── KEYSTORE-M_123456_789_ABCD.json

   ├── KEYSTORE-M_123456_789_ABCD.txt

   └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json

└── MNEMONIC_BACKUP.txt

7. Povezivanje Ethereum 1.0 i 2.0 i zaključavanje 32 ETH

Posljednji korak ovog vodiča bit će slanje podataka o validatoru na ugovor o pologu na matičnoj mreži Ethereum 1.0 s ispravnim informacijama koje će lanac svjetionika također moći prepoznati (rukovanje koje smo ranije spomenuli).

Kartica “Upload Validator” ima mjesto za povlačenje i ispuštanje druge datoteke koju je stvorio eth2deposit-cli: Vaša datoteka podataka o depozitu (DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json u gornjem primjeru direktorija). Povucite i ispustite tu datoteku s računala na mjesto na stranici Launchpad:

Ako su podaci o pologu pravilno oblikovani, vidjet ćete ovo:

Sada će nas Launchpad tražiti da povežemo softverski novčanik s računom na koji smo ranije poslali 32 ETH:

Nakon što to uspješno napravite, vidjet ćete ovo:

Nove sigurnosne značajke tvrtke MetaMask zahtijevaju da web mjesto zatraži posebno povezivanje sa svakim računom – ako račun s 32 ETH nije odabran kada se povežete, samo otvorite MetaMask, kliknite račun koji ima 32 ETH i povežite ga s Launchpadom.

Kada kliknete Nastavi, vidjet ćete sažetak informacija, zajedno s daljnjim naglaskom na rizik i dugoročnu predanost onoga što ćete učiniti:

Nakon što pažljivo prođete kroz ova otkrivanja i upozorenja, dolazi trenutak istine:

Jednom kada kliknete “Pokreni transakciju”, suočit ćete se s jednim od najuzbudljivijih okvira za potvrdu u VAŠEM (kripto) ŽIVOTU! Udahnite duboko, budite sigurni da ste spremni jer povratka nema nakon što pritisnete potvrdu! (Pa, MetaMask ima vremenski osjetljivu značajku “Otkaži transakciju”, jer je izvrstan novčanik, ali pretvarajte se kao da to nemate!)

Nakon što sve bude potvrđeno i minirano, vidjet ćete zaslon poput ovog:

8. Zaključak

Čestitamo! Sudjelovali ste u jednom od najuzbudljivijih događaja u povijesti javne koordinacije!!

Ali posao je tek počeo. Sljedeća dva posta bit će postavljanje instance AWS Ubuntu 20.04 poslužitelja za naš čvor za provjeru valjanosti Teku koristeći Infuru kao krajnju točku Ethereum 1.0. Zatim ćemo raditi na sigurnosnom učvršćivanju i nadzoru čvorova pomoću alata poput Grafane. 

Za sljedeći obrok, sve što će nam trebati iz ovog posta je sadržaj direktorija eth2deposit-cli / validator_key_info, primjeri navedeni u nastavku:

eth2deposit-cli /

└── validator_key_info /

   ├── KEYSTORE-M_123456_789_ABCD.json

   ├── KEYSTORE-M_123456_789_ABCD.txt

   └── DEPOSIT_DATA_YOUR_TIMESTAMP_HERE.json

Pratite nas!

Zahvaljujemo Jamesu Becku, Meredith Baxter, Chamindi Divitotawela, Benu Edgingtonu, The Dark Jesteru, Someru Esatu, Josephu Lubinu, Collinu Meyersu, Nicku Nelsonu, Mari Schmiedt, Adrianu Suttonu i Alexu Tudoracheu na podršci i tehničkoj pomoći.

BlockchainCryptoEthereumEthereum 2.0NewsletterPrepišite se na naše biltene za najnovije vijesti o Ethereumu, rješenja za poduzeća, resurse za programere i još mnogo toga. Adresa e-pošte Ekskluzivni sadržajIzvješće DeFi o Ethereum Q3 2020izvješće

Izvješće DeFi o Ethereum Q3 2020

Izvješće DeFi o Ethereum Q2 2020izvješće

Izvješće DeFi o Ethereum Q2 2020

Cjelovit vodič za Blockchain poslovne mrežeVodič

Cjelovit vodič za Blockchain poslovne mreže

Kako izraditi uspješan blockchain proizvodWebinar

Kako izraditi uspješan blockchain proizvod

Uvod u tokenizacijuWebinar

Uvod u tokenizaciju

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