Welcome to Emeth developer’s document!
Emethとは?
記述中
記述中
募集要綱
分散演算基盤「Alt Emeth(オルツ・エメス)」オープニングフェーズの情報です。
概要
本フェーズは先に実施されたテストフェーズの次段階であり、本稼働フェーズ直前の、半オープンなテストフェーズという位置付けとなります。 一般より広く募集いたしますので、ぜひご参加ください。
スケジュール
以下の通り、3 Round に分けて実施いたします。
Round 1: 2021.8.1 〜 8.21 (終了)
Round 2-1: 2021.9.9 〜 9.11 (終了)
Round 2-2: 2021.10.9 〜 10.26 (終了)
Round 3-1: 2022.2.4 〜 2.14 (終了)
Round 3-2: 2022.4.11 〜 4.20
参加者募集期間
2021.7.21 〜Opening Phase終了まで
応募方法
以下のApplication Formよりお申し込みください。 ※応募者にオンライン面談を依頼する場合があります。
参加要件
Ethereumに関する基礎知識
※Opening Phase Round 1はEthereumテストネット(Rinkeby)上で実施されます。 ※Opening Phase Round 2以降はEthereumと互換性の高いalt chain(testnet)上で実施されます。
以下は目安です。
アドレスを生成してPrivate Keyを取得することができる。
Faucet等でテストネットETHを取得できる。
ウォレット等でERC20トークンを管理できる。
推奨マシンスペック
以下は動作を保証するものではありません。 Opening Phaseは開発フェーズの一部であり、ハードウェア環境について現在も実験段階にあります。 そのため、自己責任で環境を準備できる方のみご参加下さい。
CPU:Intel Core i5-10400 4.3 GHz 相当以上
GPU:RTX 3080 (10GB RAM) 相当以上
メモリ:上記 GPU が積んでいる RAM の 2倍以上
ディスク:256GB 以上、余裕を持って 1〜2TB 推奨
電源:上記の構成を賄える容量のもの
ルール(Round 1)
Opening Phase Round1でのネットワークのルールを説明します。
設定情報
Emethクライアントに設定する設定情報は以下の通りです。
EmethCoreコントラクト
(emethConttactAddress).
|
0xa65617fFf0c9b5760B5E8AF111C8cc9604588ff2 |
EMTトークンコントラクト
(tokenContractAddress)
|
0x8652b03be5fdd664f342d6c9a888239fd3d65852 |
Storage API
(storageApi)
|
ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com |
ネットワーク情報
Emethネットワークの設定情報です。
Verifier fee |
0 |
JOBの割当
Emeth Coreコントラクトにattachされたノードには、ネットワークからJOBがアサインされます。 JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。
Round 1で投入されるJOBは、約100MBのデータセットによる自然言語モデル計算です。
最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。
計算結果の検査
ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わりますが、 1 JOBあたり数時間から十数時間です。
【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で約6時間程度
計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果の検査が行われ、十分な精度のモデルができているか判定されます。
検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。
パスできない場合はepochの値を増やすことで精度が高まります。
1日あたりの処理上限
Opening Phaseではまだネットワーク参加者が少ないため、報酬トークンの極端な偏りを防ぐ措置として 1ノード辺りの獲得できるシェアに上限を設けています。
1日辺り8つのJOBがVerifyされると、その日はそれ以上のシェアを獲得できなくなります。シェアは獲得できませんが、引き続きJOBを引き受けることは可能です。 日が変わるとリセットされます。1日の起点はUTC 0:00です。
ルール(Round 2-1)
Opening Phase Round2-1でのネットワークのルールを説明します。
設定情報
Emethクライアントに設定する設定情報は以下の通りです。
EmethCoreコントラクト
(emethConttactAddress).
|
0x985C36Ab085cff3D7B48980084F0181A6c6a637C |
EMTトークンコントラクト
(tokenContractAddress)
|
0x3dAC4e087d0AF73419F3F9E9436Ef2C1f3bC0b2A |
Storage API
(storageApi)
|
ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com |
RPCエンドポイント
(endpoint)
|
ネットワーク情報
Emethネットワークの設定情報です。
Verifier fee |
10 EMT / JOB |
Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます |
Deposit係数 |
1 EMT / Power Capacity |
ノードのattachに必要なDeposit量は、PowerCapacityに応じて決まります。 |
JOBの割当
Emeth Coreコントラクトにattachされたノードには、ネットワークからJOBがアサインされます。 JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。
Round 2で投入されるJOBは、サイズ・データセットのバリエーションがRound 1に比べて増えました。 そのため、1つのJOBあたりの処理にかかる時間は、同じノードでも一定ではありません。
最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。
計算結果の検査
ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わります。
【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で100MBサイズのデータセットに対して1JOBあたり約6時間程度
計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果の検査が行われ、十分な精度のモデルができているか判定されます。
検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。
パスできない場合はepochの値を増やすことで精度が高まります。
1日あたりの処理上限
Opening Phaseではまだネットワーク参加者が少ないため、報酬トークンの極端な偏りを防ぐ措置として 1ノード辺りの獲得できるシェアに上限を設けています。
100MBデータセットのJOBで換算すると1日あたり約16個ですが、JOBの大きさによって処理完了時のシェアの獲得量が異なります。 日が変わるとシェアの計算はリセットされます。1日の起点はUTC 0:00です。
ルール(Round 2-2)
Opening Phase Round2-2でのネットワークのルールを説明します。
設定情報
Emethクライアントに設定する設定情報は以下の通りです。
EmethCoreコントラクト
(emethConttactAddress).
|
0xB87FF4025D9782b1FBd541a1F649b4FB48BD9871 |
EMTトークンコントラクト
(tokenContractAddress)
|
0x691af7264535675636994d7C29c20834B27ec768 |
Storage API
(storageApi)
|
ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com |
RPCエンドポイント
(endpoint)
|
ネットワーク情報
Emethネットワークの設定情報です。
Verifier fee |
10 EMT / JOB |
Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます |
Deposit係数 |
1 EMT / Power Capacity |
ノードのattachに必要なDeposit量は、PowerCapacityに応じて決まります。 |
JOBの割当
Emeth Coreコントラクトにattachされたノードには、ネットワークからJOBがアサインされます。 JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。
Round 2で投入されるJOBは、サイズ・データセットのバリエーションがRound 1に比べて増えました。 そのため、1つのJOBあたりの処理にかかる時間は、同じノードでも一定ではありません。
最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。
計算結果の検査
ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わります。
【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で100MBサイズのデータセットに対して1JOBあたり約6時間程度
計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。 Round2-2では、epoch >= 2 で計算が完了した場合に検査をパスします。
検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。
1日あたりの処理上限
Opening Phaseではまだネットワーク参加者が少ないため、報酬トークンの極端な偏りを防ぐ措置として 1ノード辺りの獲得できるシェアに上限を設けています。
100MBデータセットのJOBで換算すると1日あたり約16個ですが、JOBの大きさによって処理完了時のシェアの獲得量が異なります。 日が変わるとシェアの計算はリセットされます。1日の起点はUTC 0:00です。
ルール(Round 3)
Opening Phase Round3でのネットワークのルールを説明します。
Round 3 アップデート
JOB Assignerの廃止
以前まではAssignerという中央集権的なサーバが各ノードにJOBの割当を行っていましたが、 分散化を目指す思想に則り、各ノードが自分でJOBを選択・取得するように変更されました。 各ノードは設定された優先順位(例えばトランザクションフィーの有利な順)に従いJOBを選択し、 Coreコントラクトに対して受諾表明を行います。
JOB情報サーバの導入
Assigner廃止に伴い、各ノードはCoreコントラクトに対してJOB取得のために高頻度に参照アクセスを 行うことになります。これを助けるため、JOB情報サーバを導入しました。各ノードはコントラクトに 直接参照を行う代わりにJOB情報サーバを参照することで、スムーズに最新JOB情報を取得することができます。
Ethereumアドレスの自動設定
各workerは、設定ファイル(.env)にprivate keyを明示的に指定しない場合、 Ethereumアドレスを自動生成します。(masterには明示的に指定が必要です) 将来アップデートでは、各master/workerはこのアドレスに紐づく秘密鍵によって署名を行うことで 各々を認証するようになる予定です。 これは、masterとworkerがそれぞれ別の管理者によって運用される際にに互いを識別することを想定しています。
JOBサイズの多様化
これまでより多様なサイズのデータセットが投入されるようになりました。JOB完遂により獲得できるgasはデータセットサイズに比例します。 大きなJOBを処理するにはより多くのRAMを必要とします。 Round 3では、大きなものはこれまでの約3倍のデータサイズになります。
設定情報
Emethクライアントに設定する設定情報は以下の通りです。
EmethCoreコントラクト
(emethConttactAddress).
|
0xF55e6FB0948B37a197DA974E0A84727022F2D048 |
EMTトークンコントラクト
(tokenContractAddress)
|
0x6652521583190E398c6e59A7Ea41b60E74814b3B |
Storage API
(storageApi)
|
|
JOB情報サーバ API
(info_server_url)
|
http://ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com:3000 |
RPCエンドポイント
(endpoint)
|
|
学習epoch数
(n_epoch)
|
>=2 (R3のVerify条件は2以上。基本的でそれより大きくする必要はない) |
ネットワーク情報
Emethネットワークの設定情報です。
Verifier fee |
10 EMT / JOB |
Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます |
Deposit係数 |
100% of transaction gas |
ノードのattachに必要なDeposit量。JOBのgasに対する係数 |
Timeoutペナルティ |
25% of deposit |
引き受けたJOBがTimeoutした際にdepositから差し引かれるペナルティ |
Declineペナルティ |
25% of deposit |
引き受けたJOBをdeclineによってキャンセルした際にdepositから差し引かれるペナルティ |
Failedペナルティ |
25% of deposit |
引き受けたJOBがVerifierによって拒否された際にdepositから差し引かれるペナルティ |
JOBの割当
※Round 3から、Emeth Coreコントラクトにノードをattachする必要がなくなりました。
Emethノード(masterと最低1つのworker)を起動すると、現在ネットワーク上にリクエストされているJOBの中から制限時間以内に処理可能なものを探します。 (この際、JOB情報サーバAPIがその補助を行います)
見つけたJOBに対して、その想定学習コストに応じて決定されるgasが設定されており、gasに応じたdeposit(EMT)を預け入れることでJOBを引き受けます。
JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。
最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。
計算結果の検査
ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間はマシンスペックとconfigのパラメータによって変わります。
【参考】GeFource RTX 3080 (GPU Memory 10GB)、batchsize=3, epoch=2の場合で100MBサイズのデータセットに対して1JOBあたり約6時間程度
計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。 Round3では、epoch >= 2 で計算が完了した場合に検査をパスします。
検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。
1日あたりの処理上限
Round3から、上限は撤廃されました。 日が変わるとシェアの計算はリセットされ、シェアに応じたEMTトークンの報酬が確定します。 1日の起点はUTC 0:00です。
ルール(Round 3-2)
Opening Phase Round3-2でのネットワークのルールを説明します。
【要注意】 pythonは3.8.10のサポートになりました。 またpip3とnpmのライブラリを最新にする必要があります
$ npm i
$ cd parallelGPT
$ pip3 -r install requirementgpu.txt
Round 3-2 アップデート
完了JOBのVerification方式の変更
難読化した情報によるVerificationを行う方式になりました。
GPT-2 日本語データセット対応
GPT-2アルゴリズムではこれまで英語データセットのみ対応していましたが、日本語データセットでの学習に対応しました。
日本語データセットのJOB追加
投入されるJOBも日本語データセットのものが追加されました。
小さなデータサイズのJOBを追加
Round 3では大きなデータサイズのJOBが追加されましたが、3-2では小さなデータサイズのJOBが追加されました。
モデルデータのキャッシュ容量設定
モデルデータはVerificationの完了まではマシン内に保存されています。JOBを高速に処理する場合、このモデルデータのキャッシュが ディスク容量を圧迫する場合があります。そこで、configにて最大容量を設定できるようになりました。
設定情報
Emethクライアントに設定する設定情報は以下の通りです。
EmethCoreコントラクト
(emethConttactAddress).
|
0x9960CE7d1eff7a33F5D57529552549D05b25570a |
EMTトークンコントラクト
(tokenContractAddress)
|
0x3b384C60Fc840E70811dA26449fc47BCb0F07BcC |
Storage API
(storageApi)
|
|
JOB情報サーバ API
(info_server_url)
|
http://ec2-13-208-214-161.ap-northeast-3.compute.amazonaws.com:3000 |
RPCエンドポイント
(endpoint)
|
|
学習epoch数
(n_epoch)
|
>=30 (R3-2のVerify条件は30以上。それより大きくする必要はない) |
ネットワーク情報
Emethネットワークの設定情報です。
Verifier fee |
10 EMT / JOB |
Verify成功時にJOBの持つTransaction Feeから、失敗時にはノードのDepositから徴収されます |
Deposit係数 |
100% of transaction gas |
ノードのattachに必要なDeposit量。JOBのgasに対する係数 |
Timeoutペナルティ |
25% of deposit |
引き受けたJOBがTimeoutした際にdepositから差し引かれるペナルティ |
Declineペナルティ |
25% of deposit |
引き受けたJOBをdeclineによってキャンセルした際にdepositから差し引かれるペナルティ |
Failedペナルティ |
25% of deposit |
引き受けたJOBがVerifierによって拒否された際にdepositから差し引かれるペナルティ |
JOBの割当
※Round 3から、Emeth Coreコントラクトにノードをattachする必要がなくなりました。
Emethノード(masterと最低1つのworker)を起動すると、現在ネットワーク上にリクエストされているJOBの中から制限時間以内に処理可能なものを探します。 (この際、JOB情報サーバAPIがその補助を行います)
見つけたJOBに対して、その想定学習コストに応じて決定されるgasが設定されており、gasに応じたdeposit(EMT)を預け入れることでJOBを引き受けます。
JOBとは、ユーザによってネットワークに投入された計算依頼のことです。 本来はモデル計算を行いたいユーザからのJOBがネットワークに流れるものですが、Opening Phaseでは まだ十分な依頼者がいないため、予め用意されたリクエスターBOTにが常時JOBを投入します。
最大で、各ノードに接続しているworkerの数と同じ数のJOBが同時に割当てられます。
計算結果の検査
ノードがJOBを引き受けると、GPUを用いた計算処理が始まります。 計算にかかる時間は、対象JOBのアルゴリズム、パラメータ、データセットサイズ、マシンスペック、configのパラメータによって変わります。
計算が完了すると、ノードはネットワークに結果をsubmitします。 ネットワークに常駐するVerifierによって計算結果プロセスの検査が行われ、十分な計算がなされたかどうか判定されます。
検査をパスするとJOBは完了となり、リワードを獲得するためのシェアを得ます。 検査をパスできない場合、シェアは得られません。
1日あたりの処理上限
Round3から、上限は撤廃されました。 日が変わるとシェアの計算はリセットされ、シェアに応じたEMTトークンの報酬が確定します。 1日の起点はUTC 0:00です。
報酬(Emeth Token)について
Opening PhaseでEmethネットワークに計算力を提供すると、報酬トークンを獲得できます。 これはテストネット上のトークンのため正式ローンチ前に破棄されますが、 ここで獲得したトークンと(原則)同量のEmethトークン(EMT)が正式ローンチ後に各参加者に配布されます。
Emethトークン(EMT)リワード獲得方法
JOB(計算リクエスト)を正しく処理したノードは、JOBの送信者が設定したトランザクションフィーと、Emethネットワークから払い出されるスロットリワードの2つを獲得します。
スロットリワード
ネットワーク全体で1日あたり約288,000 EMTがスロットリワードアロケーションとして確保されます。 スロットリワードはEmethネットワークにより毎日新たに生成されます。 各ノードはEmethネットワークからの計算リクエストを処理した量(gas)に応じてシェアを獲得します。 1日のスロットリワードアロケーションからシェアに応じた量のEMTトークンを獲得できます。 なお、1日のスロットリワードは1年辺り14400ずつ減少し、20年後には0になります。
トランザクションフィー
JOB送信者はJOBにトランザクションフィーとしていくらかのEMTを載せます。 トランザクションフィーは gas x gasPrice で計算されます。gasは学習モデルとデータセットサイズから算出される値で、 gasPriceは送信者の任意で設定される値です。
Mainnetでの配布
Open Phase中に獲得したEMTトークンは、正式トークンローンチ後に以下のスケジュールでMainnetのEMTトークンと交換されます。 Emeth 正式リリース前に、トークンのみ先行してローンチされる予定です。
※ただし、不正が認められた場合や、バグ等によってネットワークが正常に機能しなかった場合、運営の裁量により配分を変更する場合があります。
正式トークンローンチ時: 獲得トークンの20%
ローンチ3ヶ月後: 残り獲得トークンの25%
ローンチ6ヶ月後: 残り獲得トークンの33%
ローンチ9ヶ月後: 残り獲得トークンの50%
ローンチ12ヶ月後: 残り獲得トークンの100%
インストール
Emeth Nodeクライアントのインストール方法
Emeth Nodeクライアント
以下のリポジトリにて公開されています。 インストール方法はリポジトリ内のREADME.mdを参照して下さい。
https://github.com/alt-emeth/emeth-node
【Tagから最新のバージョンを選択して下さい】
al+ chainセットアップ
EmethはOpening Phase Round 2以降はal+独自のブロックチェーンであるal+ chain上で動作します。
al+ chainはEthereum互換チェーンであるため、アドレスの運用方法やスマートコントラクトの動作・アクセス方法など、Ethereum完全互換となっています。 そのため、Round 1同様に、Ethereumに準じた環境で動作します。 Ethereumと同じアドレスを使用することができ、Metamaskからもal+ chainにアクセスすることができます。
Ethereumのセットアップ方法についてはここでは解説しませんが、必要になるいくつかの項目について説明します。
al+ chainネイティブトークンALTの入手
al+ chainでトランザクションを発行するために必要なgasを支払うには、ネイティブトークンALTが必要になります。 Opening Phaseはal+ chain testnetで行われるため、testnet ALTを運営から配布いたします。 次のEMTトークン同様に申し込みアドレスに配布します。
テストEMTトークンの入手
ノードのattachに必要なデポジット用EMTは、申し込み時に申告したアドレスに直接配布されます。
RPCエンドポイント
RPCエンドポイント
|
|
Chain ID
|
60001 |
Currency Symbol
|
ALT |
Chain Explorer
|
パラメータ設定
Emeth Nodeクライアントのconfファイル(master.json / worker.json)の設定目安について説明します。
batchSize
GPU memoryの大きさによって適切な数値が変わります。 GPU memory = 10GB の場合、3が目安になります。 設定値が大きいほど処理が早くなりますが、メモリ不足エラーが出る場合は小さくして下さい。
n_epochs
数値が大きいほど学習の精度が上がりますが、その分計算時間が長くなります。 Opening Phase Round 2-2以降では、ネットワークルールで指定された値以上のepochで計算を処理する必要があります。
powerCapacity
自身の処理能力を宣言するパラメータです。処理能力に応じてJOBが割り当てられます。 Opening Phase Round1の時点ではJOBサイズが一律のため、詳しく設定する必要はありません。
worker 1台につき27300を設定して下さい。
コマンド
Emeth Nodeクライアントのコマンド一覧
master
$ node dist/cli.js mastermasterノードを起動します。
worker
$ node dist/cli.js workerworkerを起動します。先に接続先のmasterが起動している必要があります。
attach
※ Open Phase Round3 で廃止されました。attachせずにJOBを取得します。
$ node dist/cli.js attachEmeth Coreコントラクトにattachし、JOBを割り当てを受ける状態にします。 masterを起動し、必要な数のworkerを接続しておく必要があります。
detach
※ Open Phase Round3 で廃止されました。
$ node dist/cli.js detachEmeth Coreコントラクトからdetachします。JOBの割リ当てを受けなくなります。
decline
$ node dist/cli.js decline [JOBID]指定したJOBIDのJOBを既に引き受けている場合、キャンセルします。JOBIDを省略した場合は引き受けている全てのJOBをキャンセルします。 JOB引き受け後にmaster/workerプロセスを終了するなどした場合、コントラクト上ではJOBを実行中のステータスのまま、計算が中断しています。
withdraw
$ node dist/cli.js withdrawこれまでに獲得したリワードをすべて引き出します。当日分のリワードは未確定のため引き出せません。
joblist
$ node dist/cli.js joblistこれまでに引き受けたJOBのステータスとデータサイズを一覧で取得します。
Emethネットワークの構成
記述中
ノードのattach
※ Round3にてノードのattach/detachは廃止されました。
Emethネットワークに参加するために、Emeth NodeクライアントはEmeth Coreコントラクトにattachする必要があります。
デポジット
ノードをattachするには、EMTトークンをデポジットする必要があります。 JOBを処理できなかった場合(JOB処理中の放棄、タイムアウト、計算結果のREJECT)に このデポジットからペナルティを支払います。
EmethNodeクライアントが使うEthereumアドレスに十分なEMTトークンを保有していれば、attachコマンドによって 自動的にデポジットされます。
デポジット額は、
PowerCapacity x 0.1 EMT
です。(PowerCapacity = 27300の場合、2730 EMTをデポジット)
Power Capacity
自身の処理能力を宣言する数値です。worker毎に設定し、masterは接続されているworkerの合計のPower Capacityを attach時に宣言します。 この値によって割当られるJOBが決められます。
Opening Phase Round 1の時点ではJOBサイズは一律のため、詳しい設定は不要です。
ノードのdetcch
以下のケースでは、detachコマンドを用いてCoreコントラクトからノードを一度detachします。
JOBの割当てを受けたくない場合
worker数が変更される場合
ペナルティ等によって減ったデポジットを補充する場合
再度attachコマンドを実行すると、最新の情報で再attachします。
EMTのデポジット
ノードがJOBを引き受ける際、EMTトークンをデポジットする必要があります。 JOBを処理できなかった場合(JOB処理中の放棄、タイムアウト、計算結果のREJECT)に このデポジットからペナルティを支払います。
EmethNodeクライアントが使うEthereumアドレスに十分なEMTトークンを保有していれば、JOB引受時に 自動的にデポジットされます。
デポジット額は、JOBの大きさに一定の係数をかけて算出されます。
Power Capacity
自身の処理能力を宣言する数値です。worker毎に設定し、masterは接続されているworkerの合計のPower Capacityを管理します。 この値によって、masterは各JOBの処理に必要な時間を計算し、引き受けるJOBを選択します。
JOBのステータス
JOBのステータスを解説します。
REQUESTED
依頼者によってJOBが作成され、Emethネットワークに投入された状態。
ASSIGNED
※ Open Phase Round3で廃止
REQUSETEDステータスのJOBが、Assignerによって特定のノードに割当てられた状態。
PROCESSING
ノードが自分にアサインされたJOBの処理を開始した状態。
SUBMITTED
ノードが計算結果を提出した状態。
VERIFIED
SUBMITTEDステータスのJOBが結果の検査にパスした状態
REJECTED
※ Open Phase Round3で廃止
AssignerがJOBを拒否した状態。
CANCELED
依頼者がJOBをキャンセルした状態。
TIMEOUT
JOBが特定のノードにアサインされてから一定時間が経過し、タイムアウトした状態。
FAILED
SUBMITTEDステータスのJOBが検査をパスしなかった状態。
DECLINED
アサインされたノードがJOBの実行中断し、拒否した状態。