Kako najeti razvijalce Ethereum (Ultimate Guide)

Obstaja ogromno povpraševanja po kakovostnih razvijalcih Ethereuma in najemanju razvijalcev Ethereum, in to z dobrim razlogom.

Blockchain in ICO prostor sta eksplodirala v zadnjih nekaj letih. Vse več ljudi poskuša priti noter in se poimenovati v prostoru. Da pa bi bili uspešni, je nujno, da imajo močno in zdravo ekipo. Razvijalci blokovnih verig in natančneje razvijalci Ethereuma so najpomembnejša komponenta te ekipe.

V tem priročniku vam bomo zelo olajšali življenje. Pokazali vam bomo, kako lahko natančno določite in uvrstite smetano pridelka.

Preden najamemo razvijalca ethereuma, je pomembno, da vemo, kakšne ljudi zaposlujemo.

Kaj naredi odličnega razvijalca Ethereuma?

Pri spretnosti, ki je tako nišna kot »razvijalec Ethereuma«, je treba vedeti, katere osnovne lastnosti ločujejo najboljše od ostalih? Odličen razvijalec mora biti več kot le kodirnik s spretnostmi kodiranja blockchain. Ne rečemo, da preprosti kodirniki niso dragoceni, vendar za ustvarjanje imperija potrebujete ustreznega razvijalca. Katere so nekatere glavne lastnosti, ki jih iščete?

  • Močna vera v decentralizacijo: Ti ljudje verjamejo, da bo decentralizacija rešila človeštvo. To so ljudje, ki jih tradicionalne korporacije ne bodo zaposlile zaradi prepričanja, da bi se morale institucije, kot so družbe, korporacije in vlade, decentralizirati..
  • Obvladanje kriptografije: Razvijalci blokovnih verig morajo obvladati kriptoekonomijo. Kriptoekonomija, kriptografija in ekonomija sta dva dela. Zato bi moral odlični razvijalec Ethereuma imeti neizmerno radovednost za kriptografijo.
  • Mojstrstvo ekonomije: Druga polovica kriptoekonomije je »Ekonomija«, zato bi moral strokovni razvijalec dobro poznati tudi ekonomijo in mehaniko teorije iger. Če ustvarjate platformo blockchain, mora koda zagotoviti, da so vsi udeleženci ekonomsko spodbujeni.
  • Skrajna radovednost: Da bi imeli tako bogato bazo znanja, so ti ljudje po naravi izredno radovedni. To so ljudje, ki do pozne noči pregledujejo videoposnetke, forume in wikije, da bi razumeli določeno težavo.

Zdaj vemo, kakšne ljudi iščemo. Zato je smiselno začeti z ničle z nekaterimi osnovami Ethereuma.

Zakaj to počnemo??

Ker bi moral biti vsak razvijalec Ethereuma, vreden svoje soli, popolnoma podkovan s temi koncepti.

Kaj je Ethereum?

Tako se opredeli spletno mesto Ethereum:

“Ethereum je decentralizirana platforma, ki izvaja pametne pogodbe: aplikacije, ki delujejo natanko tako, kot je programirana, brez kakršne koli možnosti izpada, cenzure, goljufije ali vmešavanja tretjih oseb. Te aplikacije delujejo na prilagojenem blockchainu, izjemno zmogljivi skupni globalni infrastrukturi, ki lahko premika vrednost in predstavlja lastništvo nepremičnine. “

A poenostavljeno povedano Ethereum načrtuje vrhunsko programsko platformo prihodnosti. Če je prihodnost decentralizirana in dAPP-ji postanejo običajni, mora biti Ethereum spredaj in središče tega.

Čeprav je Bitcoin prva aplikacija tehnologije veriženja blokov, je še vedno le valuta. Ethereum s seboj prinaša celoten obseg tega, kar bi bilo mogoče v tehnologiji veriženja blokov.

Kot pravi soustanovitelj Ethereuma dr. Gavin Wood:

»Bitcoin je v prvi vrsti valuta; to je ena posebna uporaba verige blokov. Vendar še zdaleč ni edina aplikacija. Če vzamemo pretekli primer podobne situacije, je e-pošta ena izmed posebnih načinov uporabe interneta, ki jo je zagotovo pripomogla k njegovi popularizaciji, obstaja pa še veliko drugih. “

Kako deluje rudarstvo Ethereum?

Trenutno Ethereum uporablja isti protokol Proof-of-Work, kot ga uporablja Bitcoin. Vendar Ethereum kmalu načrtuje prehod na Proof-of-stake in za ta prehod bodo uporabili Casperjev protokol.

Kakšna je torej razlika med dokazilom o vložku in dokazilom o delu? To je pravzaprav nekaj, kar lahko vprašate ljudi, s katerimi se lahko pogovarjate. Vedeti, kako delujejo dokazila o delu in dokazila o deležu, sta absolutno kritična.

Dokazilo o delu: To je protokol, ki ga je doslej sledila večina kriptovalut, kot sta Ethereum in Bitcoin. To pomeni, da rudarji »kopajo« kriptovalute z reševanjem kripto-ugank z uporabo namenske strojne opreme.

Dokaz o vložku: Ta protokol bo naredil celoten postopek rudarjenja navidezen. V tem sistemu imamo namesto rudarjev validatorje. Deluje tako, da boste morali kot validator najprej zapreti nekaj svojega etra kot vložek. Po tem boste začeli preverjati bloke, kar v bistvu pomeni, da če vidite bloke, za katere menite, da jih je mogoče dodati v verigo blokov, jih lahko potrdite tako, da nanjo stavite. Kdaj in če se blok doda, boste prejeli nagrado, sorazmerno z vložkom. Če pa stavite na napačen ali zlonamerni blok, vam bomo vzeli vložek, ki ste ga vložili.

Za izvedbo “dokaza o vložku” bo Ethereum uporabil Casperjev soglasni algoritem. Na začetku bo to sistem hibridnega sloga, kjer bo večina transakcij še vedno opravljena kot dokaz o delovnem slogu, medtem ko bo vsaka 100. transakcija dokaz o vložku. To bo naredilo tako, da bo zagotovilo resnični test za dokazovanje deleža na platformi Ethereum. Toda kaj to pomeni za Ethereum in kakšne so prednosti tega protokola? Oglejmo si.

Kako najeti razvijalca Perfect Ethereum

Prednosti dokazila o vložku

  • Znižuje skupne stroške energije in denarja: Svetovni rudarji bitcoinov za elektriko porabijo okoli 50.000 USD na uro. To je 1,2 milijona dolarjev na dan, 36 milijonov dolarjev na mesec in ~ 450 milijonov dolarjev na leto! Samo poglejte okoli teh številk in količine zapravljene moči. Z uporabo »Proof-of-stake« celotnega postopka naredite popolnoma virtualnega in odrežete vse te stroške.
  • Brez prednosti ASIC: Ker bo celoten postopek navidezen, ne bi bilo odvisno od tega, kdo ima boljšo opremo ali ASIC (integrirano vezje, specifično za aplikacijo).
  • Oteži 51% napad: 51-odstotni napad se zgodi, ko skupina rudarjev pridobi več kot 50% svetovne moči razpršitve. Uporaba dokaza o vložku zanika ta napad.
  • Brez škodljivih validacijskih programov: Vsak validator, ki ima svoja sredstva zaklenjena v verigi blokov, bi se prepričal, da v verigo ne dodaja nobenih napačnih ali zlonamernih blokov, ker bi to pomenilo, da bi jim bil odvzet celoten vloženi delež.
  • Ustvarjanje bloka: Pospeši ustvarjanje novejših blokov in celoten postopek.
  • Razširljivost: Naredi blockchain prilagodljiv z uvedbo koncepta “ostrenja” (Več o tem kasneje.)

Čeprav so že prej obstajali različni poenostavljeni izvedbi Proof of Stake, Casperja ločuje od ostalih, da spodbuja poštene rudarje in kaznuje nepoštene. Če ste svoj vložek položili na zlonamerni blok, vam ga bodo vzeli. Kaznil bo vsakogar, ki ne igra po pravilih.

Vitalik pojasnjuje takole:

»Predstavljajte si 100 ljudi, ki sedijo okoli okrogle mize. Ena oseba ima sveženj papirjev, vsak z drugačno zgodovino transakcij. Prvi udeleženec vzame pero in se podpiše, nato pa ga poda naslednji osebi, ki se odloči podobno. Vsak udeleženec prejme 1 USD samo, če podpiše zgodovino transakcij, ki jo na koncu podpiše večina udeležencev. Če podpišete eno stran in kasneje podpišete drugo stran, vam hiša zgore, “

Nato je dodal, da je to verjetno dobra spodbuda za podpis pravega papirja!

Kaj so pametne pogodbe?

Pametne pogodbe so avtomatizirane pogodbe. Samoizvajajo se s posebnimi navodili, napisanimi v kodi, ki se izvršijo ob določenih pogojih.

Kako najeti razvijalca Perfect Ethereum

Več o pametnih pogodbah lahko izveste v našem poglobljenem priročniku tukaj.

Pametne pogodbe so način, kako se stvari naredijo v ekosistemu Ethereum. Ko želi nekdo opraviti določeno nalogo v Ethereumu, začne pametno pogodbo z enim ali več osebami.

Pametne pogodbe so vrsta navodil, napisanih z uporabo programskega jezika “solidity”, ki deluje na podlagi logike IFTTT, ČE-TA-TADA-TA logika. V bistvu, če je prvi sklop navodil končan, izvedite naslednjo funkcijo in po njej naslednjo ter ponavljajte, dokler ne pridete do konca pogodbe.

Najboljši način za razumevanje tega je, če si zamislite prodajni avtomat. Vsak korak, ki ga naredite, deluje kot sprožilec, da se naslednji korak izvede sam. To je nekako tako kot domino učinek. Torej, preučimo korake, ki jih boste izvedli med interakcijo s prodajnim avtomatom:

Korak 1: Avtomatu daste nekaj denarja.

2. korak: Vtaknete gumb, ki ustreza elementu, ki ga želite.

3. korak: Predmet pride ven in ga zberete.

Zdaj si oglejte vse te korake in premislite. Ali bo kateri od korakov deloval, če prejšnji ni bil izveden? Vsak od teh korakov je neposredno povezan s prejšnjim korakom. Razmisliti je treba še o enem dejavniku, ki je sestavni del pametnih pogodb. Veste, v celotni interakciji s prodajnim avtomatom ste (prosilec) delali izključno z avtomatom (ponudnik). Vključenih ni bilo nobenih tretjih oseb.

Torej, kako bi izgledala ta transakcija, če bi se zgodila v omrežju Ethereum?

Recimo, da ste pravkar kupili nekaj od prodajnega avtomata v omrežju Ethereum, kako bodo videti koraki?

Korak 1: Avtomatu daste nekaj denarja in to zabeležijo vsa vozlišča v omrežju Ethereum, transakcija pa se posodobi v knjigi.

2. korak: Vtaknete gumb, ki ustreza elementu, ki ga želite, in zapis, ki se posodobi v omrežju in knjigi Ethereum.

3. korak: Element pride ven, vi ga zberete in to zabeležijo vsa vozlišča in knjiga.

Vsako transakcijo, ki jo opravite s pametnimi pogodbami, bo omrežje zabeležilo in posodobilo. To naredi, da vsi, ki sodelujejo v pogodbi, odgovarjajo za svoja dejanja. Človeški zlobi odvzame tako, da vsakršna dejanja postanejo vidna celotni mreži

Ok, do zdaj smo pokrivali, kaj je Ethereum, kaj je rudarstvo in kaj so pametne pogodbe. Če vaš kandidat na nobenega od teh ne more odgovoriti zadovoljivo, ga takoj izpustite. Ni vredno vašega časa.

Obvladovanje kode pametne pogodbe

Očitno bi to moral biti kruh in maslo vseh velikih razvijalcev. Eden od načinov, kako lahko zagotovo razumete strokovno znanje razvijalca, je, da ga prosite, naj pojasni, kako določena pogodba deluje. Tukaj vam bomo pokazali dve trdnosti. To kodo lahko zaženejo sami in jih prosijo, da jo razčlenijo in vam razložijo, kaj se dogaja v vsakem koraku.

Primer kode # 1

Koda in razlaga sta vzeta iz toptal.

trdnost pragme 0,4,18;

uvoz "./Vozilo.sol";

pogodba VehicleOwner {

nagovoriti javnega lastnika;

preslikava (bytes32 => naslov) javna vozila;

dogodek NewVehicleAdded (naslov indeksiran newVehicle, uint256 časovni žig);

funkcija VehicleOwner () public {

lastnik = pošiljatelj sporočila;

}

/ **

* @dev Vrže, če ga pokliče kateri koli račun, ki ni lastnik.

* /

modifikator onlyOwner () {

zahteva (msg.sender == lastnik);

_;

}

funkcija createNewVehicle (model niza, znamka niza, bajti32 vin) samo za javnostOwner {

naslov newVehicle = novo vozilo (model, znamka, vin);

vozila [vin] = novoVozilo;

NewVehicleAdded (novoVehicle, zdaj);

}

}

Torej, pojdimo po vrsti in po vrsticah in razumemo, kaj se tukaj dogaja.

Koda: trdnost pragme 0.4.18;

Analiza: določa različico uporabljenega prevajalnika. V tej 0.4.18

Koda: uvoz “./Vehicle.sol”;

Analiza: Uvozi pametno pogodbo, ki se uporablja za predstavitev novih vozil.

Koda: pogodba VehicleOwner {

Analiza: prijava lastniške pogodbe za vozilo.

Koda:

nagovoriti javnega lastnika;

preslikava (bytes32 => naslov) javna vozila;

Analiza: Tu konkretiziramo svojo pogodbo. Ta prva spremenljivka pokliče lastnika in predstavlja Ethereum, ki je ustvaril kateri koli primerek pogodbe VehicleOwner.

Druga, imenovana vozila, bo uporabljena za shranjevanje seznama vozil v lasti lastnika z dodeljevanjem naslovov pogodb navedenim identifikacijskim številkam vozil.

Koda:

funkcija VehicleOwner () public {

lastnik = pošiljatelj sporočila;

}

Analiza: Poglejte, kako ima funkcija enako ime kot pogodba? To je zato, ker je ta posebna funkcija konstruktor. Edina funkcija, ki jo ima, je dodelitev naslova, ki je funkcijo poklical, kot lastnika pogodbe.

Koda:

modifikator onlyOwner () {

zahteva (msg.sender == lastnik);

_;

}

Analiza: Uporablja se ta modifikator funkcije, pri čemer mora imeti dostop do pogodbe samo lastnik pogodbe.

Poglej to “_”?

To daje telo funkcije, za katero je modifikator pozneje uporabljen.

Koda:

funkcija createNewVehicle (model niza, znamka niza, bajti32 vin) samo za javnostOwner {

naslov newVehicle = novo vozilo (model, znamka, vin);

vozila [vin] = novoVozilo;

NewVehicleAdded (novoVehicle, zdaj);

}

Analiza: S tem se ustvari nova pogodba o verigi blokov, ki je predstavitev novega vozila. Proizvajalec pogodbe za vozilo prejme tri lastnosti: model, znamko in vin, od katerih je slednja mogoče identificirati določeno vozilo.

Ustvarjanje nove pogodbe vrne nov dodeljeni naslov. V funkciji s pomočjo kartiranja vozila damo vin na ta naslov. Na koncu funkcija odda nov dogodek, pri čemer navede naslov in trenutni časovni žig.

Primer kode # 2

pogodba BasicIterator

{

ustvarjalec naslovov; // rezerviraj enega "naslov"-tip spot

uint8 [10] cela števila; // rezerviramo kos prostora za 10 8-bitnih nepodpisanih celih števil v matriki

funkcija BasicIterator ()

{

ustvarjalec = sporočilo pošiljatelja;

uint8 x = 0;

// Oddelek 1: Dodeljevanje vrednosti

medtem ko (x < integers.length) {

cela števila [x] = x;

x ++;

}}

funkcija getSum () konstantno vrne (uint) {

uint8 vsota = 0;

uint8 x = 0;

// Oddelek 2: Dodajanje celih števil v matriko.

medtem ko (x < integers.length) {

vsota = vsota + cela števila [x];

x ++;

}

vrnjena vsota;

}

// Oddelek 3: Ubijanje pogodbe

funkcija kill ()

{

če (sporočilo pošiljatelja == ustvarjalec)

{

samomor (ustvarjalec);

}

}

}

Torej, analizirajmo.

Oddelek 1: Dodeljevanje vrednosti

V prvem koraku zapolnimo polje, imenovano “cela števila”, ki sprejme 10 8-bitnih nepodpisanih celih števil. Način, kako to počnemo, poteka prek zanke while. Poglejmo, kaj se dogaja znotraj medtem zanke.

medtem ko (x < integers.length) {

cela števila [x] = x;

x ++;

}

Ne pozabite, da smo celotnemu številu x že dodelili vrednost »0«. Zanka while gre od 0 do integers.length. Integers.length je funkcija, ki vrne največjo zmogljivost matrike. Torej, če smo se odločili, da bo polje imelo 10 celih števil, bo arrayname.length vrnil vrednost 10. V zgornji zanki se vrednost x giblje od 0 – 9 (<10) in vrednost samega dodeli tudi celoštevilski matriki. Tako bodo na koncu zanke cela števila imela naslednjo vrednost:

0,1,2,3,4,5,6,7,8,9.

Oddelek 2: Dodajanje vsebine matrike

V funkciji getSum () bomo sešteli vsebino same matrike. Način, kako bo to storil, je ponovitev iste zanke while kot zgoraj in uporaba spremenljivke “sum” za dodajanje vsebine polja.

Oddelek 3: Prekinitev pogodbe

Ta funkcija uniči pogodbo in preostala sredstva v pogodbi pošlje nazaj ustvarjalcu pogodbe.

Torej, to vam mora dati dobro predstavo o tem, kako izgledajo solidarne pogodbe in kakšno razčlenitev kode pričakujete od svojih potencialnih strank.

Kakšna je razlika med etrom in plinom?

To je še en osrednji koncept, ki bi ga morali poznati vaši razvijalci.

Eter je glavni znak v ekosistemu. To je tisto, kar spodbuja igralce, da izvedejo svoj konec pametne pogodbe.

Plin je količina goriva, ki je potrebna za izpolnitev vseh potreb določene pogodbe.

Ko nekdo odda pametno pogodbo, ima ta vnaprej določeno vrednost plina. Ko se pogodba izvrši, je za izvedbo vsakega koraka potrebna določena količina plina.

To lahko privede do dveh scenarijev:

  • Potrebni plin je večji od nastavljene meje. V tem primeru se stanje pogodbe vrne v prvotno stanje in ves plin se porabi.
  • Potrebni plin je manjši od nastavljene meje. V tem primeru je pogodba zaključena in ostanek plina se preda izvajalcu pogodb.

Sledi graf, ki prikazuje povprečno ceno plina v Wei.

Kako najeti razvijalca Perfect Ethereum

Zasluga za sliko: Etherscan

Plin je srž Ethereuma.

Rudarji potrdijo vse transakcije v Ethereumu. V bistvu morajo vsako transakcijo ročno vstaviti v bloke, ki so jih izkopali, da je bila transakcija potrjena. V zameno za njihove storitve poberejo določen znesek provizij za transakcije.

Običajno imajo prednost pametne pogodbe z visokimi pristojbinami za plin, ker imajo rudarji tam možnost pobrati višje pristojbine. Zbrana provizija je v primerjavi z bitcoinom še vedno precej nominalna.

Ta graf tukaj primerja transakcijske provizije Bitcoin in Ethereum.

Kako najeti razvijalca Perfect Ethereum

Kreditne slike: Bitinfocharts

Kot lahko vidite, je bilo v tej transakciji 0,01 etra zbranih samo 0,00000000000002 Eter kot provizija za transakcijo, kar je <0,00000 $.

Kako najeti razvijalca Perfect Ethereum

Zasluga za sliko: Etherscan

Kot lahko vidite, rudarji v Ethereumu, ki pišejo, pobirajo zelo nominalne provizije za transakcije. Očitno je pobiranje transakcijskih provizij sekundarna vloga tamkajšnjih rudarjev, njihova glavna naloga pa je … no … moja!

Vprašanja in odgovori

Torej, pri destilaciji vsega tega znanja, se posvetimo nekaterim konkretnim vprašanjem, ki jih lahko zastavite.

  1. V) Kako je definiran konstruktor pogodbe?
  2. A) Konstruktor je definiran kot funkcija, imenovana popolnoma enako kot pogodba.
  1. V) Kje so zabeleženi dogodki v Ethereumu in kakšen je njihov namen?
  2. A)  Dnevniki so dogodki, ki jih oddajajo pogodbe. To so deli potrdil o njihovih transakcijah in rezultati optičnih kod LOG, ki se izvajajo na navideznem računalniku Ethereum (EVM).

Dogodki se v glavnem uporabljajo za komunikacijo s sprednjimi konci ali kot poceni shranjevanje podatkov. Ker so vrnjene vrednosti transakcij le transakcije zgoščene, ker traja nekaj časa, da veriga blokov doseže konsenz in potrdi transakcije, tako da jih mine v nove bloke. Z oddajanjem dogodkov in prednjim poslušanjem (gledanjem) teh dogodkov se doseže učinkovita komunikacija.

  1. Q) Kaj so preslikave?
  2. A) Preslikava je enakovredna slovarju ali zemljevidu v drugih programskih jezikih. Je ključ do vrednosti.
  1. V) Kaj je namen modifikatorjev?
  2. A) Kot že ime pove; spreminjajo funkcije, ki jih uporabljajo. Pred izvajanjem funkcije pa morajo biti izpolnjeni pogoji modifikatorja. Če ne, potem modifikatorji meti napaka.
  1. V) Kaj so knjižnice Ethereum?
  2. A) Knjižnice Ethereum pomagajo pri izolaciji integralnih logičnih sklopov. So skupina paketov, izdelanih za uporabo na verigah blokov, ki uporabljajo navidezni stroj Ethereum (EVM). Vse knjižnice so v pametnih pogodbah postavljene in jih je mogoče povezati. Lahko jih pokličete prek DELEGATECALL.
  1. V) Zakaj stane sklicevanje na metodo na pametni pogodbi?
  2. A) Ko se metode pokličejo, spremenijo stanje verige blokov. Ker operacija zahteva plin, stane denar.

Kje lahko najdete odlične razvijalce?

V “tradicionalnih krajih”, kot sta LinkedIn in Google, je težko najti odlične razvijalce. Vendar so Reddit, GitHub itd. Odlični kraji za iskanje teh razvijalcev.

Poleg tega obstaja še ena stvar. Ker gre za takšno nišno nadarjenost, bi morali biti odprti za dejstvo, da so morda v vašem mestu ali celo vaši državi. Predvideti morate dela na oddaljenih lokacijah, še posebej, če iščete smetano pridelka.

Mogoče je bolečina, toda to je ena tistih stvari, ki imajo »kakovost nad količino«.

Kako najeti razvijalce Ethereum: sklep

Ko se pogovarjate z razvijalci Ethereuma, morate imeti v mislih eno stvar. Ni nujno, da na vsa vprašanja odgovorijo temeljito. Pomembna je njihova strast in ali so lahko konkretno odgovorili na vprašanja, ki se nanašajo na njihovo službo in vlogo.

Kakorkoli že, ta vodnik bi vam moral pomagati, da se ne zanesete v neverjetne razvijalce verig blokov. Samo še zadnji nasvet. Ne kompromitirajte kakovosti razvijalcev. Ne pozabite, da bo kakovost vedno prednost pred količino.

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