Er is een enorme vraag naar hoogwaardige Ethereum-ontwikkelaars en om Ethereum-ontwikkelaars in te huren, en met goede reden.

De blockchain- en ICO-ruimte is de afgelopen jaren enorm toegenomen. Steeds meer mensen proberen binnen te komen en naam te maken in de ruimte. Om succesvol te zijn, is het echter van cruciaal belang dat ze een sterk en gezond team hebben. Blockchain-ontwikkelaars, en om preciezer te zijn, Ethereum-ontwikkelaars zijn het meest kritische onderdeel van dat team.

Dus in deze gids gaan we uw leven een stuk gemakkelijker maken. We gaan je laten zien hoe je het neusje van de zalm kunt lokaliseren en op de shortlist kunt zetten.

Voordat we echter een ethereum-ontwikkelaar inhuren, is het belangrijk dat we weten wat voor soort mensen we inhuren.

Wat een geweldige Ethereum-ontwikkelaar maakt?

In een vaardigheid die zo nich is als “Ethereum Developer”, is het belangrijk om te weten wat de basiskwaliteiten zijn die het beste van de rest onderscheiden? Een geweldige ontwikkelaar moet meer zijn dan alleen een coder met blockchain-codeervaardigheden. We zeggen niet dat eenvoudige codeerders niet waardevol zijn, maar je hebt een goede ontwikkelaar nodig om een ​​imperium te creëren. Dus, wat zijn enkele van de belangrijkste kwaliteiten waarnaar u op zoek bent??

  • Sterk geloof in decentralisatie: Deze mensen geloven dat decentralisatie de mensheid zal redden. Dit zijn het soort mensen dat traditionele bedrijven niet zullen aannemen vanwege hun overtuiging dat instellingen zoals samenlevingen, bedrijven en overheden gedecentraliseerd moeten worden.
  • Beheersing van cryptografie: Blockchain-ontwikkelaars moeten beheersing hebben in crypto-economie. Er zijn twee delen in crypto-economie, cryptografie en economie. Dit is de reden waarom een ​​geweldige Ethereum-ontwikkelaar een onsterfelijke nieuwsgierigheid naar cryptografie zou moeten hebben.
  • Beheersing van economie: De tweede helft van crypto-economie is “Economie”, dus een deskundige ontwikkelaar moet ook gedegen kennis hebben van economie en speltheorie-mechanica. Als u een blockchain-platform maakt, moet de code ervoor zorgen dat alle deelnemers economisch gestimuleerd worden.
  • Extreme nieuwsgierigheid: Om zo’n gigantische kennisbasis te hebben, zijn deze mensen van nature buitengewoon nieuwsgierig. Dit zijn het soort mensen dat tot laat in de nacht door video’s, forums en wiki’s gaat om een ​​bepaald probleem te begrijpen.

Dus nu kennen we het soort mensen dat we zoeken. Daarom is het logisch om helemaal opnieuw te beginnen met wat basisprincipes van Ethereum.

Waarom doen we dat??

Omdat elke Ethereum-ontwikkelaar die zijn zout waard is, volledig thuis moet zijn in deze concepten.

Wat is Ethereum?

Dit is hoe de website van Ethereum zichzelf definieert:

“Ethereum is een gedecentraliseerd platform dat slimme contracten uitvoert: applicaties die precies draaien zoals geprogrammeerd zonder enige mogelijkheid van downtime, censuur, fraude of tussenkomst van derden. Deze apps draaien op een op maat gemaakte blockchain, een enorm krachtige gedeelde wereldwijde infrastructuur die waarde kan verplaatsen en het eigendom van onroerend goed kan vertegenwoordigen. “

Maar in eenvoudiger bewoordingen is Ethereum van plan het ultieme softwareplatform van de toekomst te worden. Als de toekomst gedecentraliseerd is en dAPP’s alledaags worden, dan moet Ethereum de voorkant en het centrum ervan zijn.

Hoewel Bitcoin de eerste toepassing van blockchain-technologie is, is het nog steeds slechts een valuta. Ethereum brengt de hele reikwijdte van wat mogelijk zou kunnen zijn in blockchain-technologie met zich mee.

Zoals mede-oprichter van Ethereum, Dr.Gavin Wood het stelt:

“Bitcoin is in de eerste plaats een valuta; dit is een specifieke toepassing van een blockchain. Het is echter verre van de enige toepassing. Om een ​​voorbeeld uit het verleden van een vergelijkbare situatie te nemen: e-mail is een bepaald gebruik van internet en heeft zeker bijgedragen aan de populariteit ervan, maar er zijn nog veel meer. “

Hoe werkt Ethereum Mining?

Vanaf nu gebruikt Ethereum hetzelfde Proof-of-Work-protocol dat Bitcoin gebruikt. Ethereum is echter van plan binnenkort over te stappen naar Proof-of-stake en ze gaan het Casper-protocol gebruiken om deze overgang te maken.

Dus wat is het verschil tussen bewijs van inzet en bewijs van werk? Dit is eigenlijk iets dat u mensen kunt vragen die u mogelijk interviewt. Weten hoe proof-of-work en proof-of-stake werken, is absoluut cruciaal.

Bewijs van werk: Dit is het protocol dat de meeste cryptocurrencies zoals Ethereum en Bitcoin tot nu toe hebben gevolgd. Dit betekent dat miners cryptocurrencies “minen” door cryptopuzzels op te lossen met behulp van speciale hardware.

Bewijs van inzet: Dit protocol maakt het volledige mijnproces virtueel. In dit systeem hebben we validators in plaats van miners. De manier waarop het werkt, is dat je als validator eerst een deel van je ether als inzet moet opsluiten. Nadat je dat hebt gedaan, begin je met het valideren van blokken, wat in feite betekent dat als je blokken ziet waarvan je denkt dat ze aan de blockchain kunnen worden toegevoegd, je deze kunt valideren door erop te wedden. Wanneer en als het blok wordt toegevoegd, ontvang je een beloning die evenredig is met de inzet die je hebt geïnvesteerd. Als u echter op het verkeerde of kwaadaardige blok gokt, wordt de inzet die u hebt geïnvesteerd van u afgenomen.

Om “proof of stake” te implementeren, gaat Ethereum het Casper consensus-algoritme gebruiken. In het begin zal het een hybride stijlsysteem zijn waarbij de meerderheid van de transacties nog steeds een bewijs van werkstijl zal zijn, terwijl elke 100e transactie een bewijs van de inzet zal zijn. Wat dit zal doen, is dat het een real-world test biedt voor het bewijs van inzet op het platform van Ethereum. Maar wat betekent dat voor Ethereum en wat zijn de voordelen van dit protocol? Laten we kijken.

Hoe u de perfecte Ethereum-ontwikkelaar inhuurt

Voordelen van een bewijs van inzet

  • Verlaagt de totale energie- en geldkosten: De bitcoin-mijnwerkers ter wereld besteden ongeveer $ 50.000 per uur aan elektriciteit. Dat is $ 1,2 miljoen per dag, $ 36 miljoen per maand en ~ $ 450 miljoen per jaar! Kijk maar eens rond die cijfers en de hoeveelheid stroom die wordt verspild. Door gebruik te maken van “Proof-of-stake” maakt u het hele proces volledig virtueel en bespaart u al deze kosten.
  • Geen ASIC-voordeel: Aangezien het hele proces virtueel zal zijn, hangt het er niet van af wie de betere apparatuur of ASIC’s heeft (applicatiespecifieke geïntegreerde schakeling).
  • Maakt een aanval van 51% moeilijker: 51% aanval vindt plaats wanneer een groep mijnwerkers meer dan 50% van de hashkracht van de wereld verkrijgt. Het gebruik van een bewijs van inzet ontkent deze aanval.
  • Kwaadaardige gratis validators: Elke validator die zijn geld in de blockchain heeft opgesloten, zou ervoor zorgen dat hij geen verkeerde of kwaadaardige blokkades aan de ketting toevoegt, omdat dat zou betekenen dat hun volledige geïnvesteerde inzet van hen zou worden afgenomen.
  • Blokkeer creatie: Maakt het maken van nieuwere blokken en het hele proces sneller.
  • Schaalbaarheid: Maakt de blockchain schaalbaar door het concept van “sharding” te introduceren (hierover later meer.)

Ook al zijn er al verschillende simplistische implementaties van Proof of Stake geweest, wat Casper van de rest onderscheidt, is dat het de eerlijke mijnwerkers stimuleert en de oneerlijke bestraft. Als u uw inzet op een kwaadwillig blok heeft gezet, dan wordt de inzet van u afgenomen. Het zal iedereen straffen die niet volgens de regels speelt.

Dit is hoe Vitalik het uitlegt:

“Stel je voor dat 100 mensen rond een ronde tafel zitten. Eén persoon heeft een bundel papieren, elk met een andere transactiegeschiedenis. De eerste deelnemer pakt een pen en ondertekent er een, en geeft deze vervolgens door aan de volgende persoon, die een vergelijkbare keuze maakt. Elke deelnemer krijgt slechts $ 1 als ze de transactiegeschiedenis ondertekenen die de meeste deelnemers uiteindelijk ondertekenen. Als je de ene pagina ondertekent en later een andere pagina, brandt je huis af, “

Vervolgens voegde hij eraan toe dat dit waarschijnlijk een goede stimulans is om het juiste stuk papier te ondertekenen!

Wat zijn slimme contracten?

Slimme contracten zijn geautomatiseerde contracten. Ze voeren zichzelf uit met specifieke instructies die in de code zijn geschreven en die worden uitgevoerd wanneer aan bepaalde voorwaarden wordt voldaan.

Hoe u de perfecte Ethereum-ontwikkelaar inhuurt

U kunt hier meer lezen over slimme contracten in onze uitgebreide gids.

Slimme contracten zijn hoe dingen worden gedaan in het Ethereum-ecosysteem. Wanneer iemand een bepaalde taak in Ethereum wil laten uitvoeren, starten ze een slim contract met een of meer mensen.

Slimme contracten zijn een reeks instructies, geschreven met behulp van de programmeertaal “solidity”, die werkt op basis van de IFTTT-logica, ook bekend als de ALS-DIT-DAN-DAT logica. Kortom, als de eerste set instructies is voltooid, voer dan de volgende functie uit en daarna de volgende en blijf herhalen totdat u het einde van het contract bereikt.

De beste manier om dat te begrijpen, is door je een automaat voor te stellen. Elke stap die u zet, fungeert als een trigger voor de volgende stap om zichzelf uit te voeren. Het lijkt een beetje op het domino-effect. Laten we daarom eens kijken naar de stappen die u neemt tijdens de interactie met de automaat:

Stap 1: Je geeft de automaat wat geld.

Stap 2: U drukt de knop in die overeenkomt met het item dat u wilt.

Stap 3: Het item komt eruit en je verzamelt het.

Bekijk nu al die stappen en denk erover na. Werkt een van de stappen als de vorige niet is uitgevoerd? Elk van deze stappen houdt rechtstreeks verband met de vorige stap. Er is nog een factor om over na te denken, en het is een integraal onderdeel van slimme contracten. Zie je, tijdens je hele interactie met de automaat werkte jij (de aanvrager) alleen met de automaat (de provider). Er waren absoluut geen derde partijen bij betrokken.

Dus, hoe zou deze transactie er nu hebben uitgezien als deze in het Ethereum-netwerk was gebeurd??

Stel dat je net iets hebt gekocht bij een automaat in het Ethereum-netwerk, hoe zien de stappen er dan uit?

Stap 1: Je geeft de automaat wat geld en dit wordt geregistreerd door alle knooppunten in het Ethereum-netwerk en de transactie wordt bijgewerkt in het grootboek.

Stap 2: U drukt de knop in die overeenkomt met het item dat u wilt en de registratie daarvan wordt bijgewerkt in het Ethereum-netwerk en het grootboek.

Stap 3: Het item komt naar buiten en je verzamelt het en dit wordt geregistreerd door alle knooppunten en het grootboek.

Elke transactie die u doorloopt via de slimme contracten, wordt geregistreerd en bijgewerkt door het netwerk. Wat dit doet, is dat het iedereen die bij het contract betrokken is verantwoordelijk houdt voor hun daden. Het neemt menselijke boosaardigheid weg door elke ondernomen actie zichtbaar te maken voor het hele netwerk

Oké, tot nu toe hebben we besproken wat Ethereum is, wat mijnbouw is en wat slimme contracten zijn. Als uw kandidaat een van deze vragen niet naar tevredenheid kan beantwoorden, laat ze dan op dat moment los. Het is uw tijd niet waard.

Beheersing van Smart Contract Code

Dit zou duidelijk het brood en de boter moeten zijn van alle geweldige ontwikkelaars. Een manier waarop u de expertise van een ontwikkelaar zeker kunt begrijpen, is door hen te vragen uit te leggen hoe een bepaald contract werkt. Hier gaan we u twee soliditeitscodes laten zien. U kunt deze code door hen uitvoeren en hen vragen deze op te splitsen en u uit te leggen wat er bij elke stap gebeurt.

Code Voorbeeld # 1

De code en uitleg zijn overgenomen uit toptal.

pragma-stevigheid 0.4.18;

importeren "./Voertuig.sol"​

contract VehicleOwner {

adres openbare eigenaar;

toewijzing (bytes32 => adres) openbare voertuigen;

event NewVehicleAdded (adres geïndexeerd newVehicle, uint256 tijdstempel);

functie VehicleOwner () openbaar {

eigenaar = msg.sender;

* @dev Gooit indien aangeroepen door een ander account dan de eigenaar.

alleen modifierOwner () {

vereisen (msg.sender == eigenaar);

functie createNewVehicle (string model, string make, bytes32 vin) public onlyOwner {

adres newVehicle = nieuw voertuig (model, merk, vin);

voertuigen [vin] = newVehicle;

NewVehicleAdded (newVehicle, nu);

Laten we dus regel en voor regel gaan en begrijpen wat hier gebeurt.

Code: pragma soliditeit 0.4.18;

Analyse: specificeert de versie van de gebruikte compiler. In deze 0.4.18

Code: importeer “./Vehicle.sol”;

Analyse: importeert het slimme contract dat wordt gebruikt om nieuwe voertuigen te vertegenwoordigen.

Code: contract VehicleOwner {

Analyse: verklaart het contract van de voertuigeigenaar.

Code:

adres openbare eigenaar;

toewijzing (bytes32 => adres) openbare voertuigen;

Analyse: hier geven we invulling aan ons contract. Deze eerste variabele roept de eigenaar aan en vertegenwoordigt de Ethereum die een bepaald exemplaar van het VehicleOwner-contract heeft gemaakt.

De tweede, voertuigen genaamd, wordt gebruikt om een ​​lijst op te slaan van de voertuigen die eigendom zijn van de eigenaar, door de adressen van hun contract toe te wijzen aan de verstrekte voertuigidentificatienummers..

Code:

functie VehicleOwner () openbaar {

eigenaar = msg.sender;

Analyse: ziet u hoe de functie dezelfde naam heeft als het contract? Dit komt omdat deze specifieke functie een constructor is. De enige functie die het doet, is het adres toewijzen dat de functie heeft aangeroepen als de contracteigenaar.

Code:

alleen modifierOwner () {

vereisen (msg.sender == eigenaar);

Analyse: Deze functiemodificator wordt gebruikt om ervoor te zorgen dat alleen de contracteigenaar toegang heeft tot het contract.

Zie dat ​?

Dit levert op voor de body van de functie waarop de modificator later wordt toegepast.

Code:

functie createNewVehicle (string model, string make, bytes32 vin) public onlyOwner {

adres newVehicle = nieuw voertuig (model, merk, vin);

voertuigen [vin] = newVehicle;

NewVehicleAdded (newVehicle, nu);

Analyse: dit creëert een nieuw contract op de blockchain dat een weergave is van een nieuw voertuig. De constructeur van het voertuigcontract krijgt drie eigenschappen: model, merk en vin, waarvan de laatste kan worden gebruikt om dat specifieke voertuig te identificeren.

Als u een nieuw contract maakt, wordt het nieuw toegewezen adres geretourneerd. In de functie, met behulp van de mapping van het voertuig, binden we de gegeven vin aan dat adres. Ten slotte zendt de functie een nieuwe gebeurtenis uit, waarbij het adres en de huidige tijdstempel worden doorgegeven.

Code Voorbeeld # 2

contract BasicIterator

adres maker; // reserveer er een "adres"-type plek

uint8 [10] gehele getallen; // reserveer een stuk opslagruimte voor 10 8-bits niet-ondertekende gehele getallen in een array

functie BasicIterator ()

creator = msg.sender;

uint8 x = 0;

// Deel 1: waarden toewijzen

terwijl (x < gehele getallen.lengte) {

gehele getallen [x] = x;

x ++;

functie getSum () constante retourneert (uint) {

uint8 som = 0;

uint8 x = 0;

// Sectie 2: de gehele getallen in een array toevoegen.

terwijl (x < gehele getallen.lengte) {

som = som + gehele getallen [x];

x ++;

som terug;

// Deel 3: Het contract beëindigen

functie kill ()

if (msg.sender == creator)

zelfmoord (maker);

Dus laten we analyseren.

Deel 1: Waarden toewijzen

In de eerste stap vullen we een array met de naam “gehele getallen” aan die 10 8-bits gehele getallen zonder teken bevat. De manier waarop we het doen is via een while-lus. Laten we eens kijken wat er in de while-lus gebeurt.

terwijl (x < gehele getallen.lengte) {

gehele getallen [x] = x;

x ++;

Onthoud dat we al een waarde van “0” hebben toegewezen aan het gehele getal x. De while-lus gaat van 0 naar gehele getallen. Lengte. Integers.length is een functie die de maximale capaciteit van de array retourneert. Dus als we besluiten dat een array 10 gehele getallen heeft, retourneert arrayname.length de waarde 10. In de bovenstaande lus gaat de waarde van x van 0 – 9 (<10) en wijst de waarde van zichzelf ook toe aan de array met gehele getallen. Dus aan het einde van de lus hebben gehele getallen de volgende waarde:

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

Sectie 2: De array-inhoud toevoegen

Binnen de functie getSum () gaan we de inhoud van de array zelf optellen. De manier waarop het dit gaat doen is door dezelfde while-lus te herhalen als hierboven en de variabele “sum” te gebruiken om de inhoud van de array toe te voegen.

Deel 3: Het contract beëindigen

Deze functie beëindigt het contract en stuurt het resterende geld in het contract terug naar de maker van het contract.

Dit zou u dus een goed idee moeten geven van hoe soliditeitscontracten eruit zien en wat voor soort code-uitval u van uw potentiële klanten mag verwachten.

Wat is het verschil tussen ether en gas??

Dit is een ander kernconcept waarmee uw ontwikkelaars vertrouwd moeten zijn.

Ether is het belangrijkste token in het ecosysteem. Het is wat de spelers stimuleert om hun einde van het slimme contract uit te voeren.

Gas is de hoeveelheid brandstof die nodig is om aan alle behoeften van een bepaald contract te voldoen.

Wanneer iemand een smart contract indient, heeft dit een vooraf bepaalde gaswaarde. Wanneer het contract wordt uitgevoerd, vereist elke stap van het contract een bepaalde hoeveelheid gas om uit te voeren.

Dit kan tot twee scenario’s leiden:

  • Het benodigde gas is meer dan de ingestelde limiet. Als dat het geval is, wordt de staat van het contract teruggebracht naar de oorspronkelijke staat en is al het gas opgebruikt.
  • Het benodigde gas is minder dan de ingestelde limiet. Als dat het geval is, is het contract voltooid en wordt het overgebleven gas aan de contractmaker gegeven.

Het volgende is een grafiek die de gemiddelde gasprijs in Wei laat zien.

Hoe u de perfecte Ethereum-ontwikkelaar inhuurt

Afbeelding tegoed: Etherscan

Gas is de levensader van Ethereum.

Alle transacties in Ethereum worden gevalideerd door de miners. In feite moeten ze elke transactie handmatig in de blokken plaatsen die ze hebben gedolven om de transactie te valideren. In ruil voor hun diensten innen ze een bepaald bedrag aan transactiekosten.

Meestal krijgen slimme contracten met hoge gasvergoedingen de voorkeur omdat de mijnwerkers daar de kans krijgen om hogere vergoedingen te innen. De geïnde vergoeding is echter nog steeds vrij nominaal in vergelijking met bitcoin.

Deze grafiek vergelijkt hier de transactiekosten van Bitcoin met Ethereum.

Hoe u de perfecte Ethereum-ontwikkelaar inhuurt

Afbeelding tegoed: Bitinfocharts

Zoals u kunt zien, werd in deze transactie van 0,01 Ether slechts 0,00000000000002 Ether geïnd als transactiekosten, wat <$ 0,000001.

Hoe u de perfecte Ethereum-ontwikkelaar inhuurt

Afbeelding tegoed: Etherscan

Dus, zoals je kunt zien, verzamelen de mijnwerkers in Ethereum, schrijven, zeer nominale transactiekosten. Het is duidelijk dat het innen van transactiekosten een secundaire rol is voor hun mijnwerkers, hun belangrijkste taak is om… nou… de mijne!

Vragen en antwoorden

Laten we dus al deze kennis distilleren en eens kijken naar enkele specifieke vragen die u kunt stellen.

  1. V) Hoe wordt de aannemer gedefinieerd?
  2. EEN) De constructor wordt gedefinieerd als een functie, met dezelfde naam als het contract.

  1. V) Waar worden evenementen geregistreerd in Ethereum en wat is hun doel??
  2. EEN)  Logboeken zijn de gebeurtenissen die door de contracten worden uitgezonden. Dit zijn delen van de ontvangstbewijzen van hun transacties en de resultaten van de LOG-opcodes die worden uitgevoerd op de Ethereum Virtual Machine (EVM).

De events worden voornamelijk gebruikt om te communiceren met frontends of als goedkope dataopslag. Omdat de retourwaarden van transacties alleen de transacties zijn gehasht, omdat het even duurt voordat de blockchain consensus bereikt en de transacties valideert, door ze in nieuwe blokken te minen. Door gebeurtenissen uit te zenden en frontends naar die gebeurtenissen te laten luisteren (kijken), wordt efficiënte communicatie bereikt.

  1. V) Wat zijn de toewijzingen?
  2. EEN) Mapping is gelijk aan een woordenboek of een kaart in andere programmeertalen. Het is key-to-value-opslag.

  1. V) Wat is het doel van modificatoren?
  2. EEN) Zoals de naam suggereert; ze wijzigen de functies die ze gebruiken. Er moet echter aan de voorwaarden van de modifier worden voldaan voordat de functie wordt uitgevoerd. Zo niet, dan de modificatoren gooit een fout.

  1. V) Wat zijn Ethereum-bibliotheken?
  2. EEN) Ethereum-bibliotheken helpen bij het isoleren van integrale stukjes logica. Ze zijn een groep pakketten die zijn gebouwd voor gebruik op blockchains met behulp van de Ethereum Virtual Machine (EVM). Alle bibliotheken zijn geïmplementeerd en koppelbaar in uw slimme contracten. Ze zijn oproepbaar via DELEGATECALL.

  1. V) Waarom kost het geld om een ​​methode op een Smart Contract in te roepen??
  2. EEN) Wanneer methoden worden aangeroepen, veranderen ze de status van de blockchain. Omdat de operatie gas vereist, kost het geld.

Waar vind je geweldige ontwikkelaars?

Het is moeilijk om geweldige ontwikkelaars te vinden op “traditionele plaatsen” zoals LinkedIn en Google. Reddit, GitHub etc. zijn echter geweldige plaatsen om deze ontwikkelaars te vinden.

Bovendien is er nog een ding. Omdat dit zo’n nichetalent is, moet je openstaan ​​voor het feit dat ze zich in jouw stad of zelfs in je eigen land kunnen bevinden. Je moet voorzieningen treffen voor banen op afstand, vooral als je op zoek bent naar het neusje van de zalm.

Het is misschien vervelend, maar dit is een van die “kwaliteit boven kwantiteit” dingen.

Hoe Ethereum-ontwikkelaars in te huren: conclusie

Wanneer u Ethereum-ontwikkelaars interviewt, moet u één ding in gedachten houden. Het is niet nodig dat ze alle vragen grondig beantwoorden. Waar het om gaat is hun passie en of ze in staat waren om specifiek antwoord te geven op de vragen die bij hun job en rol horen.

Hoe dan ook, deze gids zou je moeten helpen om je te concentreren op geweldige blockchain-ontwikkelaars. Nog een laatste advies. Doe geen concessies aan de kwaliteit van de ontwikkelaars. Onthoud dat kwaliteit altijd belangrijker is dan kwantiteit.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me