イーサリアム開発者を雇う方法(究極のガイド)

質の高いイーサリアム開発者とイーサリアム開発者を雇うことには大きな需要があり、それには正当な理由があります.

ブロックチェーンとICOスペースは、過去2年間で爆発的に増加しました。ますます多くの人々が入り込み、その空間で自分の名前を作ろうとしています。しかし、成功するためには、彼らが強力で健全なチームを持つことが重要です。ブロックチェーン開発者、より正確には、イーサリアム開発者はそのチームの最も重要なコンポーネントです.

したがって、このガイドでは、あなたの生活をずっと楽にしていきます。作物のクリームを特定して候補リストに載せる方法を紹介します.

ただし、イーサリアム開発者を採用する前に、採用している人の種類を知っておくことが重要です。.

優れたイーサリアム開発者を作るもの?

「イーサリアム開発者」のようにニッチなスキルでは、最高のものと他のものを区別する基本的な資質を知ることが重要ですか?優れた開発者は、ブロックチェーンコーディングスキルを備えた単なるコーダー以上のものでなければなりません。単純なコーダーが価値がないと言っているわけではありませんが、帝国を築くには適切な開発者が必要です。だから、あなたが探している主な資質のいくつかは何ですか?

  • 地方分権化への強い信念:これらの人々は、地方分権化が人類を救うと信じています。これらは、社会、企業、政府などの機関が地方分権化されるべきであるという彼らの信念のために伝統的な企業が雇うことのない種類の人々です.
  • 暗号化の習得:ブロックチェーン開発者は、暗号経済学を習得する必要があります。暗号経済学には、暗号化と経済学の2つの部分があります。これが、優れたイーサリアム開発者が暗号化に対して不朽の好奇心を持つべき理由です。.
  • 経済学の習得:暗号経済学の後半は「経済学」であるため、専門家の開発者は経済学とゲーム理論の力学についても十分な知識を持っている必要があります。ブロックチェーンプラットフォームを作成している場合、コードはすべての参加者が経済的にインセンティブを与えられていることを確認する必要があります.
  • 極端な好奇心:このような膨大な知識ベースを持つために、これらの人々は本質的に非常に好奇心が強いです。これらは、特定の問題を理解するためにビデオ、フォーラム、ウィキを通り抜けて夜遅くまで起きている種類の人々です.

だから、今私たちは私たちが探している人の種類を知っています。これが、イーサリアムの基本から始めることが理にかなっている理由です。.

なぜ私たちはそれをしているのですか?

彼らの塩に値するすべてのイーサリアム開発者は、これらの概念に完全に精通している必要があるためです.

イーサリアムとは?

これは、イーサリアムのウェブサイトがそれ自体を定義する方法です。

「イーサリアムは、スマートコントラクトを実行する分散型プラットフォームです。ダウンタイム、検閲、詐欺、またはサードパーティの干渉の可能性なしに、プログラムされたとおりに実行されるアプリケーションです。これらのアプリは、カスタムビルドのブロックチェーン上で実行されます。これは、価値を移動し、資産の所有権を表すことができる非常に強力な共有グローバルインフラストラクチャです。」

しかし、簡単に言えば、イーサリアムは将来の究極のソフトウェアプラットフォームになることを計画しています。未来が分散化され、dAPPが一般的になる場合、イーサリアムはその最前線であり中心である必要があります.

ビットコインはブロックチェーンテクノロジーの最初のアプリケーションですが、それでも通貨にすぎません。イーサリアムは、ブロックチェーンテクノロジーで可能なことの全範囲をもたらします.

イーサリアムの共同創設者であるギャビン・ウッド博士は次のように述べています。

「ビットコインは何よりもまず通貨です。これは、ブロックチェーンの1つの特定のアプリケーションです。しかし、それは唯一のアプリケーションではありません。同様の状況の過去の例を挙げると、電子メールはインターネットの特定の用途の1つであり、確かにそれを普及させるのに役立ちましたが、他にもたくさんあります。」

イーサリアムマイニングはどのように機能しますか?

現在、イーサリアムはビットコインが使用しているのと同じプルーフオブワークプロトコルを使用しています。ただし、イーサリアムはまもなくプルーフオブステークに移行する予定であり、キャスパープロトコルを使用してこの移行を行う予定です。.

では、プルーフオブステークとプルーフオブワークの違いは何ですか?これは実際には、面接の可能性があることを人々に尋ねることができるものです。プルーフオブワークとプルーフオブステークがどのように機能するかを知ることは絶対に重要です.

プルーフオブワーク:これは、イーサリアムやビットコインなどのほとんどの暗号通貨がこれまで従ってきたプロトコルです。これは、マイナーが専用ハードウェアを使用して暗号パズルを解決することにより、暗号通貨を「マイニング」することを意味します.

プルーフオブステーク:このプロトコルは、マイニングプロセス全体を仮想化します。このシステムでは、マイナーの代わりにバリデーターがあります。それが機能する方法は、バリデーターとして、最初にあなたのエーテルの一部をステークとしてロックする必要があるということです。その後、ブロックの検証を開始します。つまり、ブロックチェーンに追加できると思われるブロックが見つかった場合は、それに賭けて検証することができます。ブロックが追加されると、投資した賭け金に比例した報酬が得られます。ただし、間違ったブロックや悪意のあるブロックに賭けた場合、投資した賭け金はあなたから奪われます.

「プルーフオブステーク」を実装するために、イーサリアムはキャスパーコンセンサスアルゴリズムを使用します。当初は、トランザクションの大部分が引き続きワークスタイルの証明として行われ、100回ごとのトランザクションがプルーフオブステークとなるハイブリッドスタイルのシステムになります。これにより、イーサリアムのプラットフォームでのプルーフオブステークの実際のテストが提供されます。しかし、それはイーサリアムにとって何を意味し、このプロトコルの利点は何ですか?見てみましょう.

完璧なイーサリアム開発者を雇う方法

プルーフオブステークの利点

  • 全体的なエネルギーと金銭的コストを削減します:世界のビットコイン鉱山労働者は、1時間あたり約50,000ドルを電気に費やしています。これは、1日あたり120万ドル、1か月あたり3600万ドル、1年あたり約4億5000万ドルです。これらの数値と無駄になっている電力量に頭を悩ませるだけです。 「プルーフオブステーク」を使用することで、プロセス全体を完全に仮想化し、これらすべてのコストを削減できます。.
  • ASICの利点はありません:プロセス全体が仮想化されるため、誰がより優れた機器やASIC(特定用途向け集積回路)を持っているかには依存しません。.
  • 51%の攻撃を難しくします:51%の攻撃は、鉱夫のグループが世界のハッシュ能力の50%以上を獲得したときに発生します。プルーフオブステークを使用すると、この攻撃が無効になります.
  • 悪意のないバリデーター:資金がブロックチェーンに閉じ込められているバリデーターは、投資したすべての株式がブロックチェーンから奪われることを意味するため、チェーンに間違ったブロックや悪意のあるブロックを追加していないことを確認します.
  • ブロックの作成:新しいブロックの作成とプロセス全体を高速化します.
  • スケーラビリティ:「シャーディング」の概念を導入することにより、ブロックチェーンをスケーラブルにします(これについては後で詳しく説明します)。

プルーフオブステークのさまざまな単純化された実装が以前にありましたが、キャスパーを他の部分から区別するのは、それが正直な鉱山労働者にインセンティブを与え、不正な鉱山労働者を罰することです。悪意のあるブロックに賭け金を置いた場合、その賭け金はあなたから奪われます。ルールに従わない人は罰せられます.

これはVitalikがそれを説明する方法です:

「円形のテーブルの周りに100人が座っていると想像してみてください。一人が書類の束を持っており、それぞれが異なる取引履歴を持っています。最初の参加者はペンを手に取って署名し、次の人に渡します。次の人も同様の選択をします。各参加者は、ほとんどの参加者が最終的に署名するトランザクション履歴に署名した場合にのみ$ 1を受け取ります。あるページに署名し、後で別のページに署名すると、家は全焼します。」

彼はその後、これはおそらく正しい紙に署名するための良いインセンティブであると付け加えました!

スマートコントラクトとは?

スマートコントラクトは自動化されたコントラクトです。それらは、特定の条件が発生したときに実行されるコードに記述された特定の命令で自己実行します.

完璧なイーサリアム開発者を雇う方法

スマートコントラクトの詳細については、こちらの詳細ガイドをご覧ください。.

スマートコントラクトは、イーサリアムエコシステムで物事が成し遂げられる方法です。誰かがイーサリアムで特定のタスクを実行したいとき、彼らは1人以上の人々とスマートコントラクトを開始します.

スマートコントラクトは、プログラミング言語「solidity」を使用して記述された一連の命令であり、IFTTTロジック(別名、 IF-THIS-THEN-THATロジック. 基本的に、最初の一連の命令が完了したら、次の関数を実行し、その後次の関数を実行して、契約の最後に到達するまで繰り返し続けます.

それを理解する最良の方法は、自動販売機を想像することです。実行するすべてのステップは、次のステップがそれ自体を実行するためのトリガーのように機能します。それはドミノ効果のようなものです。それでは、自動販売機を操作するときに実行する手順を調べてみましょう。

ステップ1:自動販売機にお金をあげる.

ステップ2:必要なアイテムに対応するボタンを打ち込みます.

ステップ3:アイテムが出てきて集めます.

今、それらすべてのステップを見て、それについて考えてください。前の手順が実行されなかった場合、いずれかの手順が機能しますか?これらのステップのすべては、前のステップに直接関連しています。考慮すべきもう1つの要素があり、それはスマートコントラクトの不可欠な部分です。ご覧のとおり、自動販売機とのやり取り全体で、あなた(リクエスター)はマシン(プロバイダー)のみを操作していました。第三者の関与は一切ありませんでした.

では、このトランザクションがイーサリアムネットワークで発生した場合、どのように見えるでしょうか。?

イーサリアムネットワークの自動販売機から何かを購入したとすると、手順はどのようになりますか?

ステップ1: 自動販売機にいくらかのお金を与えると、これはイーサリアムネットワークのすべてのノードによって記録され、トランザクションは元帳で更新されます.

ステップ2:必要なアイテムに対応するボタンを押すと、その記録がイーサリアムネットワークと元帳で更新されます.

ステップ3:アイテムが出てきて収集すると、すべてのノードと元帳に記録されます.

スマートコントラクトを通過するすべてのトランザクションは、ネットワークによって記録および更新されます。これは、契約に関与するすべての人が自分の行動に責任を持つようにすることです。実行されたすべてのアクションをネットワーク全体に表示することで、人間の悪意を取り除きます

さて、これまで、イーサリアムとは何か、マイニングとは何か、スマートコントラクトとは何かについて説明してきました。候補者がこれらのいずれにも満足に答えられない場合は、その瞬間に彼らを手放してください。それはあなたの時間の価値がありません.

スマートコントラクトコードの習得

明らかに、これはすべての優れた開発者のパンとバターでなければなりません。開発者の専門知識を確実に理解できる1つの方法は、特定の契約がどのように機能するかを説明するように開発者に依頼することです。ここでは、2つのソリディティコードを紹介します。あなたは彼らによってこのコードを実行し、それを分解して、すべてのステップで何が起こっているのかをあなたに説明するように彼らに頼むことができます.

コード例#1

コードと説明はから取られています toptal.

プラグマソリディティ0.4.18;

インポート "./Vehicle.sol";

契約VehicleOwner {

パブリックオーナーに宛ててください。

マッピング(bytes32 => 住所)公共車両;

イベントNewVehicleAdded(アドレスインデックス付きnewVehicle、uint256タイムスタンプ);

function VehicleOwner()public {

所有者= msg.sender;

}

/ **

* @devは、所有者以外のアカウントから呼び出された場合にスローされます.

* /

修飾子onlyOwner(){

require(msg.sender == owner);

_;

}

function createNewVehicle(string model、string make、bytes32 vin)public onlyOwner {

アドレスnewVehicle = new Vehicle(model、make、vin);

Vehicles [vin] = newVehicle;

NewVehicleAdded(newVehicle、now);

}

}

それでは、行ごとに行き、ここで何が起こっているのかを理解しましょう.

コード:プラグマソリディティ0.4.18;

分析:使用するコンパイラのバージョンを指定します。この0.4.18で

コード:import“ ./Vehicle.sol”;

分析:新しい車両を表すために使用されるスマートコントラクトをインポートします.

コード:契約VehicleOwner {

分析:車両所有者契約を宣言します.

コード:

パブリックオーナーに宛ててください。

マッピング(bytes32 => 住所)公共車両;

分析:これは私たちが契約を具体化する場所です。この最初の変数は所有者を呼び出し、VehicleOwnerコントラクトの任意のインスタンスを作成したイーサリアムを表します.

2つ目は車両と呼ばれ、提供された車両識別番号に契約の住所を割り当てることにより、所有者が所有する車両のリストを保存するために使用されます。.

コード:

function VehicleOwner()public {

所有者= msg.sender;

}

分析:関数がどのようにコントラクトと同じ名前を持っているかを確認しますか?これは、この特定の関数がコンストラクターであるためです。それが行う唯一の機能は、関数を呼び出したアドレスを契約所有者として割り当てることです。.

コード:

修飾子onlyOwner(){

require(msg.sender == owner);

_;

}

分析:この関数修飾子を使用して、契約の所有者のみが契約にアクセスできるようにします.

それを参照してください 「_」?

これにより、後で修飾子が適用される関数の本体が生成されます。.

コード:

function createNewVehicle(string model、string make、bytes32 vin)public onlyOwner {

アドレスnewVehicle = new Vehicle(model、make、vin);

Vehicles [vin] = newVehicle;

NewVehicleAdded(newVehicle、now);

}

分析:これにより、新しい車両を表すブロックチェーン上に新しい契約が作成されます。車両契約のコンストラクターは、model、make、およびvinの3つのプロパティを受け取ります。後者は、特定の車両を識別するために使用できます。.

新しい契約を作成すると、新しく割り当てられたアドレスが返されます。この関数では、車両のマッピングを使用して、指定されたvinをそのアドレスにバインドします。最後に、この関数は新しいイベントをブロードキャストし、アドレスと現在のタイムスタンプを渡します.

コード例#2

契約BasicIterator

{{

アドレス作成者; //予約する "住所"-タイプスポット

uint8 [10]整数; //配列内の10個の8ビット符号なし整数用にストレージのチャンクを予約します

関数BasicIterator()

{{

作成者= msg.sender;

uint8 x = 0;

//セクション1:値の割り当て

while(x < integers.length){

integers [x] = x;

x ++;

}}

関数getSum()定数は(uint){を返します

uint8 sum = 0;

uint8 x = 0;

//セクション2:配列に整数を追加する.

while(x < integers.length){

合計=合計+整数[x];

x ++;

}

合計を返す;

}

//セクション3:契約を破棄する

関数kill()

{{

if(msg.sender ==作成者)

{{

自殺(作成者);

}

}

}

それでは、分析しましょう.

セクション1:値の割り当て

最初のステップでは、10個の8ビット符号なし整数を受け取る「整数」と呼ばれる配列を埋めます。私たちがそれをしている方法は、whileループを経由することです。 whileループ内で何が起こっているかを見てみましょう.

while(x < integers.length){

integers [x] = x;

x ++;

}

整数xにはすでに「0」の値が割り当てられていることを忘れないでください。 whileループは0からintegers.lengthになります。 Integers.lengthは、配列の最大容量を返す関数です。したがって、配列に10個の整数があると判断した場合、arrayname.lengthは値10を返します。上記のループでは、xの値は0〜9(<10)そしてそれ自体の値を整数配列にも割り当てます。したがって、ループの最後では、整数の値は次のようになります。

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

セクション2:配列コンテンツの追加

getSum()関数内で、配列自体の内容を合計します。これを行う方法は、上記と同じwhileループを繰り返し、変数「sum」を使用して配列の内容を追加することです。.

セクション3:契約を破棄する

この関数は契約を強制終了し、契約の残りの資金を契約作成者に送り返します.

したがって、これにより、堅固な契約がどのように見えるか、および見込み客からどのようなコードの内訳を期待すべきかについての良いアイデアが得られるはずです。.

エーテルとガスの違いは何ですか?

これは、開発者が精通している必要があるもう1つのコアコンセプトです。.

エーテルはエコシステムの主要なトークンです。それは、スマートコントラクトの終了を実行するようにプレーヤーを動機付けるものです.

ガスは、特定の契約のすべてのニーズを満たすために必要な燃料の量です.

誰かがスマートコントラクトを提出すると、そのガス値は事前に決定されます。契約が実行されるとき、契約のすべてのステップは実行するために一定量のガスを必要とします.

これにより、次の2つのシナリオが発生する可能性があります。

  • 必要なガスが設定された制限を超えています。その場合、契約の状態は元の状態に戻り、すべてのガスが使い果たされます.
  • 必要なガスが設定された制限を下回っています。その場合、契約は完了し、残りのガスは契約設定者に渡されます.

以下は魏の平均ガソリン価格を示すグラフです.

完璧なイーサリアム開発者を雇う方法

画像クレジット:Etherscan

ガスはイーサリアムの生命線です.

イーサリアムのすべてのトランザクションは、マイナーによって検証されます。基本的に、トランザクションを検証するために、マイニングしたブロックにすべてのトランザクションを手動で配置する必要があります。彼らのサービスと引き換えに、彼らは一定額の取引手数料を徴収します.

通常、鉱山労働者はそこでより高い料金を徴収する機会があるため、ガス料金の高いスマートコントラクトが優先されます。集められた料金はビットコインと比較してまだかなりわずかです.

このグラフは、ビットコインとイーサリアムの取引手数料を比較しています.

完璧なイーサリアム開発者を雇う方法

画像クレジット:Bitinfocharts

実際、ご覧のとおり、0.01 Etherのこのトランザクションでは、0.00000000000002Etherのみがトランザクション料金として収集されました。 <$ 0.000001.

完璧なイーサリアム開発者を雇う方法

画像クレジット:Etherscan

ご覧のとおり、イーサリアムの鉱山労働者は、非常にわずかな取引手数料を徴収しています。明らかに、取引手数料を徴収することはそこの鉱山労働者にとって二次的な役割であり、彼らの主な仕事は…まあ…鉱山です!

質問と回答

それで、このすべての知識を蒸留して、あなたが尋ねることができるいくつかの特定の質問に焦点を合わせましょう.

  1. Q)コントラクトコンストラクタはどのように定義されていますか?
  2. A) コンストラクターは、コントラクトとまったく同じ名前の関数として定義されます.

  1. Q)イーサリアムに記録されているイベントはどこにあり、その目的は何ですか?
  2. A)  ログは、契約によって発行されたイベントです。これらは、トランザクションの領収書の一部であり、イーサリアム仮想マシン(EVM)で実行されるLOGオペコードの結果です。.

イベントは主にフロントエンドとの通信または安価なデータストレージとして使用されます。トランザクションの戻り値はハッシュされたトランザクションのみであるため、ブロックチェーンがコンセンサスに到達し、トランザクションを新しいブロックにマイニングして検証するのに少し時間がかかるためです。イベントを発行し、フロントエンドにそれらのイベントをリッスン(監視)させることで、効率的なコミュニケーションが実現されます。.

  1. Q)マッピングとは何ですか?
  2. A) マッピングは、他のプログラミング言語の辞書またはマップと同等です。それは重要な価値のあるストレージです.

  1. Q)修飾子の目的は何ですか?
  2. A) 名前が示すように;それらはそれらを使用する関数を変更します。ただし、関数を実行する前に、修飾子の条件が満たされている必要があります。そうでない場合、修飾子 投げる エラー.

  1. Q)イーサリアムライブラリとは何ですか?
  2. A) イーサリアムライブラリは、ロジックの不可欠な部分の分離に役立ちます。これらは、イーサリアム仮想マシン(EVM)を利用するブロックチェーンで使用するために構築されたパッケージのグループです。すべてのライブラリは、スマートコントラクトにデプロイされ、リンク可能です。それらはDELEGATECALLを介して呼び出すことができます.

  1. Q)スマートコントラクトでメソッドを呼び出すのにお金がかかるのはなぜですか?
  2. A) メソッドが呼び出されると、ブロックチェーンの状態が変更されます。ガスが必要なため、費用がかかります.

優れた開発者はどこにいますか?

LinkedInやGoogleのような「伝統的な場所」で優れた開発者を見つけるのは難しいです。ただし、Reddit、GitHubなどはこれらの開発者を見つけるのに最適な場所です.

さらに、もう1つあります。これはそのようなニッチな才能なので、あなたは彼らがあなたの街やあなた自身の国にさえいるかもしれないという事実にオープンでなければなりません。特に作物のクリームを探している場合は、遠隔地の仕事のための準備をする必要があります.

苦痛かもしれませんが、これは「量より質」のことの1つです。.

イーサリアム開発者を雇う方法:結論

イーサリアムの開発者にインタビューするときは、1つのことを覚えておく必要があります。彼らがすべての質問に完全に答える必要はありません。重要なのは彼らの情熱であり、彼らが彼らの仕事と役割に関係する質問に具体的に答えることができたかどうかです.

とにかく、このガイドはあなたが素晴らしいブロックチェーン開発者に焦点を合わせるのを助けるはずです。最後に一言アドバイスします。開発者の質を妥協しないでください。品質は常に量よりも優先されることを忘れないでください.

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