ΠΠ»ΠΎΠΊΡΠ΅ΠΉΠ½ β ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΎΠ±Π΅ΡΠ°Π²Π°ΡΠ° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° ΡΠΎΠ²Π΅ΠΊΠ°. Π’Ρ ΠΏΡΠ΅Π½Π°ΡΡ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ Π² Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π±ΡΡΠ·ΠΈΠ½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ Π½Π° ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ DAPP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ Π² Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΎΠΉΠ½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° ΠΈ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΡΠ°Π½Π½ΠΎ, ΡΠ΅ ΡΠ°Π·ΠΈ ΠΎΠ±Π΅ΡΠ°Π²Π°ΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΏΡΠΎpenetrΡΠ°Π» Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°ΡΠ»ΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΈ ΡΡΡΠ°Π΄Π°Ρ ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ. ΠΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΠΊΠΎΠ»ΠΎ 20 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π±ΠΈΠ·Π½Π΅Ρ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π½Π΅ ΠΈΡΠΊΠ°Ρ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ°Ρ ΠΎΡ ΠΡΠ΅ΡΡΡ Π·Π°ΡΠ°Π΄ΠΈ Π²ΠΈΡΠΎΠΊΠΎΡΠΎ ΠΌΡ Π½ΠΈΠ²ΠΎ Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈ Π°ΡΠ°ΠΊΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠΈΠ²ΠΎΠ²Π΅.
ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°, ΡΠ΅ΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ ΠΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ°, Π΅ΠΊΠΈΠΏ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΡΠ·Π΄Π°Π΄Π΅ Plasma Cash β Π΄ΡΡΠ΅ΡΠ½Π° Π²Π΅ΡΠΈΠ³Π°, ΡΡΡΡΠΎΡΡΠ° ΡΠ΅ ΠΎΡ ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΠΈ ΡΠ°ΡΡΠ½Π° ΠΌΡΠ΅ΠΆΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Node.js, ΠΊΠΎΡΡΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π°Π²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° (ΠΡΠ΅ΡΡΡ).

ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² Plasma Cash
1. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ `deposit`, ΠΏΡΠ΅Π΄Π°Π²Π°ΠΉΠΊΠΈ ΡΡΠΌΠ°ΡΠ° Π² ETH, ΠΊΠΎΡΡΠΎ ΠΆΠ΅Π»Π°Π΅ Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈ Π² ΡΠΎΠΊΠ΅Π½Π° Plasma Cash. Π€ΡΠ½ΠΊΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΡΡΠ·Π΄Π°Π²Π° ΡΠΎΠΊΠ΅Π½ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΡΠ±ΠΈΡΠΈΠ΅ Π·Π° ΡΠΎΠ²Π°.
2. Plasma Cash Π²ΡΠ·Π»ΠΈ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ ΠΎΡ ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π΅ΠΏΠΎΠ·ΠΈΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠΊΠ΅Π½Π° Π² ΠΏΡΠ»Π°.
3. ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Plasma Cash Π²ΡΠ·Π»ΠΈ Π²Π·ΠΈΠΌΠ°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡ ΠΏΡΠ»Π° (Π΄ΠΎ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½) ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Ρ Π±Π»ΠΎΠΊ ΠΎΡ ΡΡΡ , ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Ρ Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅ ΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, Ρ Π΅ΡΠ°. Π’ΠΎΠ·ΠΈ Π±Π»ΠΎΠΊ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π·Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΡΠ·Π»ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π΄Π°Π»ΠΈ Ρ Π΅ΡΡΡ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅ Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½, Π²Π°Π»ΠΈΠ΄Π½ΠΈ Π»ΠΈ ΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°Π»ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΡΡ Π½Π° ΡΠΎΠΊΠ΅Π½Π° Π΅ Π½Π΅Π³ΠΎΠ² ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ). Π‘Π»Π΅Π΄ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π±Π»ΠΎΠΊΠ° Π²ΡΠ·Π΅Π»ΡΡ ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° `submitBlock` Π½Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, ΠΊΠΎΡΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π° Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ Ρ Π΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ°. ΠΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΡΠ±ΠΈΡΠΈΠ΅ Π·Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π±Π»ΠΎΠΊΠ°. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Ρ ΠΎΡ ΠΏΡΠ»Π°.
4. ΠΠΎΠ΄ΠΈΡΠ΅, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΡΠ±ΠΈΡΠΈΠ΅ Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊ, Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±Π»ΠΎΠΊΠ°.
5. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ) Π½Π° ΡΠΎΠΊΠ΅Π½Π° ΠΈΡΠΊΠ° Π΄Π° Π³ΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΠΈ ΠΎΡ Plasma Cash. ΠΠ° ΡΠ°Π·ΠΈ ΡΠ΅Π» ΡΠΎΠΉ ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° `startExit`, ΠΏΡΠ΅Π΄Π°Π²Π°ΠΉΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 2 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΎΠΊΠ΅Π½Π°, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡ Π°, ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠΉ Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ Π½Π° ΡΠΎΠΊΠ΅Π½Π°. Π‘ΠΌΠ°ΡΡ-Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ Π΅Ρ ΠΠ΅ΡΠΊΠ»Π΅, ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠΎΠΊΠ΅Π½Π° Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΠ»Π΅Π΄ Π΄Π²Π΅ ΡΠ΅Π΄ΠΌΠΈΡΠΈ.
6. ΠΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅Π½Π° Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ (ΡΠΎΠΊΠ΅Π½ΡΡ Π΅ Π±ΠΈΠ» ΠΏΠΎΡ Π°ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΡΠ° ΠΏΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ ΡΠΎΠΊΠ΅Π½ΡΡ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π²Π΅ΡΠ΅ Π΅ Π±ΠΈΠ» ΡΡΠΆΠ΄), ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ Π½Π° ΡΠΎΠΊΠ΅Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΏΠΎΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π² ΡΡΠΎΠΊ ΠΎΡ Π΄Π²Π΅ ΡΠ΅Π΄ΠΌΠΈΡΠΈ.

ΠΡΠΈΠ²Π°ΡΠ½ΠΎΡΡΡΠ° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° ΠΏΠΎ Π΄Π²Π° Π½Π°ΡΠΈΠ½Π°
1. ΠΠΎΡΠ΅Π½Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° Π½Π΅ Π·Π½Π°Π΅ Π½ΠΈΡΠΎ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΄ΠΎΡΠ΅ΡΠ½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°. ΠΡΠ±Π»ΠΈΡΠ½Π° ΠΎΡΡΠ°Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΠΉ Π΅ Π²Π½Π΅ΡΡΠ» ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠ» ETH Π²/ΠΎΡ Plasma Cash.
2. ΠΠΎΡΠ΅ΡΠ½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ zk-SNARKs.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ
- NodeJS
- Redis
- Etherium
- Soild
Π’Π΅ΡΡΠΈΡΠ°Π½Π΅
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Plasma Cash, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ:
- Π΄ΠΎ 35 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π² ΠΏΡΠ»;
- Π΄ΠΎ 1 000 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² Π±Π»ΠΎΠΊ.
Π’Π΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π±ΡΡ Π° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈ Π½Π° 3 ΡΠ»Π΅Π΄Π²Π°ΡΠΈ ΡΡΡΠ²ΡΡΠ°:
1. Intel Core i7-6700 Quad-Core Skylake incl. NVMe SSD β 512 GB, 64 GB DDR4 RAM
ΠΡΡ
Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ 3 Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°ΡΠΈ Π½ΠΎΠ΄ΠΈ Plasma Cash.
2. AMD Ryzen 7 1700X Octa-Core Β«Summit RidgeΒ» (Zen), SATA SSD β 500 GB, 64 GB DDR4 RAM
ΠΠ΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π° Ropsten testnet ETH Π½ΠΎΠ΄Π°.
ΠΡΡ
Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ 3 Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°ΡΠΈ Π½ΠΎΠ΄ΠΈ Plasma Cash.
3. Intel Core i9-9900K Octa-Core incl. NVMe SSD β 1 TB, 64 GB DDR4 RAM
ΠΠ΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π° 1 ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° Plasma Cash.
ΠΡΡ
Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ 3 Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°ΡΠΈ Π½ΠΎΠ΄ΠΈ Plasma Cash.
ΠΠ·Π²ΡΡΡΠΈ ΡΠ΅ ΡΠ΅ΡΡ Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° Plasma Cash.
ΠΠ±ΡΠΎ: 10 Π½ΠΎΠ΄ΠΈ Plasma Cash Π² ΡΠ°ΡΡΠ½Π° ΠΌΡΠ΅ΠΆΠ°.
Π’Π΅ΡΡ 1
ΠΠΌΠ° Π»ΠΈΠΌΠΈΡ ΠΎΡ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Π±Π»ΠΎΠΊ. ΠΡΠΎ Π·Π°ΡΠΎ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Ρ Π² 2 Π±Π»ΠΎΠΊΠ° (ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠΏΡΠ²Π° Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΈ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄Π°Π΄Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ).

ΠΠ°ΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅: ΠΏΠΎΡΠ»Π΅Π΄Π΅Π½ Π±Π»ΠΎΠΊ #7; Π² Π±Π°Π·Π°ΡΠ° ΡΠ° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ 1 ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ.
00:00 β ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
01:37 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ° 1 ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π΅ Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ ΠΊΡΠΌ Π½ΠΎΠ΄Π°ΡΠ°
01:46 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π°ΡΠ° Π΅ Π²Π·Π΅Π»Π° ΠΎΡ ΠΏΡΠ»Π° 240ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°Π·ΡΠ²Π° Π±Π»ΠΎΠΊ #8. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ 320ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ
01:58 β Π±Π»ΠΎΠΊ #8 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
02:03 β Π±Π»ΠΎΠΊ #8 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° `submitBlock` Π½Π° ΡΠΌΠ°ΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ° Ρ Ρ
Π΅Ρ ΠΎΡ ΠΠ΅ΡΠΊΠ»Π΅ ΠΈ Π½ΠΎΠΌΠ΅Ρ Π½Π° Π±Π»ΠΎΠΊΠ°
02:10 β Π΄Π΅ΠΌΠΎ ΡΠΊΡΠΈΠΏΡΡΡ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ 1 ΠΌΠ»Π½. ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 32 ΡΠ΅ΠΊ.
02:33 β Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π±Π»ΠΎΠΊ #8 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ 240ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
02:40 β ΠΎΡ ΠΏΡΠ» ΡΡΡΠΎ Π±ΡΡ
Π° ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ 240ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΠ° Π² Π±Π»ΠΎΠΊ #8
02:56 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ 760ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° Ρ
Π΅ΡΠ° ΠΎΡ ΠΠ΅ΡΠΊΠ»Π΅ ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ Π±Π»ΠΎΠΊ #9
03:20 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ 1ΠΌΠ»Π½ 240ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
03:35 β Π±Π»ΠΎΠΊ #9 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅
03:41 β Π²ΡΠ·Π½ΠΈΠΊΠ½Π° Π³ΡΠ΅ΡΠΊΠ° Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°
04:40 β ΠΈΠ·ΡΠ΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° Π±Π»ΠΎΠΊ #9
04:54 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° ΠΎΡΡΠ°Π²Π°ΡΠΈΡΠ΅ 760ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° Ρ
Π΅ΡΠ° ΠΎΡ ΠΠ΅ΡΠΊΠ»Π΅ ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ Π±Π»ΠΎΠΊ #9
05:32 β Π±Π»ΠΎΠΊ #9 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅
05:53 β Π±Π»ΠΎΠΊ #9 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
06:17 β Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π°, ΡΠ΅ Π±Π»ΠΎΠΊ #9 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ 760ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
06:47 β ΠΏΡΠ»ΡΡ Π΅ ΠΎΡΠΈΡΡΠ΅Π½ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π² Π±Π»ΠΎΠΊ #9
09:06 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ 2 ΠΌΠ»Π½. ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
Π’Π΅ΡΡ 2
ΠΠΌΠ° Π»ΠΈΠΌΠΈΡ ΠΎΡ 350ΠΊ Π½Π° Π±Π»ΠΎΠΊ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ 3 Π±Π»ΠΎΠΊΠ°.

ΠΠ°ΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅: ΠΏΠΎΡΠ»Π΅Π΄Π΅Π½ Π±Π»ΠΎΠΊ #9; Π² Π±Π°Π·Π°ΡΠ° ΡΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ 2 ΠΌΠ»Π½. ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
00:00 β ΡΠΊΡΠΈΠΏΡΡΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²Π΅ΡΠ΅ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½
00:44 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ° 1 ΠΌΠ»Π½. ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π΅ Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ Π² Π½ΠΎΠ΄Π°
00:56 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 320ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #10. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»ΡΡ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ 320ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 10 ΡΠ΅ΠΊ.
01:12 β Π±Π»ΠΎΠΊ #10 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
01:18 β Π΄Π΅ΠΌΠΎ ΡΠΊΡΠΈΠΏΡΡΡ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ 1 ΠΌΠ»Π½. ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 34 ΡΠ΅ΠΊ.
01:20 β Π±Π»ΠΎΠΊ #10 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
01:51 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π±Π»ΠΎΠΊ #10 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½, ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 320ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
02:01 β ΠΏΡΠ»ΡΡ Π΅ ΠΎΡΠΈΡΡΠ΅Π½ Ρ 320ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±Π»ΠΎΠΊ #10
02:15 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 350ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #11
02:34 β Π±Π»ΠΎΠΊ #11 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
02:51 β Π±Π»ΠΎΠΊ #11 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
02:55 β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ Π½ΠΎΠ΄ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΎΡ Π±Π»ΠΎΠΊ #10
10:59 β ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΡ ΡΠ°Π±ΠΌΠΈΡ ΠΎΡ Π±Π»ΠΎΠΊ #9, Π½ΠΎ ΡΡ Π±Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π° ΠΈ Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ 350ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
11:05 β ΠΏΡΠ»ΡΡ ΡΠ΅ ΠΈΠ·ΡΠΈΡΡΠΈ Ρ 320ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±Π»ΠΎΠΊ #11.
12:10 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ 1 ΠΌΠ»Π½ 670ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ.
12:17 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ΡΡ Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 330ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #12.
12:32 β Π±Π»ΠΎΠΊ #12 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ.
12:39 β Π±Π»ΠΎΠΊ #12 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°.
13:44 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π±Π»ΠΎΠΊ #12 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 330ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
14:50 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ 2 ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ.
Π’Π΅ΡΡ 3
Π ΠΏΡΡΠ²ΠΈΡ ΠΈ Π²ΡΠΎΡΠΈΡ ΡΡΡΠ²ΡΡ, Π΅Π΄ΠΈΠ½ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Ρ Π½ΠΎΠ΄ Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ ΡΡΡ ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄.

ΠΠ°ΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅: ΠΏΠΎΡΠ»Π΅Π΄Π΅Π½ Π±Π»ΠΎΠΊ #84; Π² Π±Π°Π·Π°ΡΠ° ΡΠ° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ 0 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ.
00:00 β Π‘ΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ ΡΠ° 3 ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΠΈΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΏΠΎ 1 ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
01:38 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π΅ 1ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π² ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #3.
01:50 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #3 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 330ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #85 (f21). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ 350ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
01:53 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π΅ 1ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π² ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #1.
01:50 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #3 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 330ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #85 (f21). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ 350ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
02:01 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #1 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 250ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #85 (65e).
02:06 β Π±Π»ΠΎΠΊ #85 (f21) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ.
02:08 β Π·Π°Π²ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π΄Π΅ΠΌΠΎ-ΡΠΊΡΠΈΠΏΡΡΡ Π½Π° ΡΡΡΠ²ΡΡ #3, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ 1ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
02:14 β Π±Π»ΠΎΠΊ #85 (f21) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°.
02:19 β Π±Π»ΠΎΠΊ #85 (65e) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ.
02:22 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π΅ 1ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π² ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #2.
02:27 β Π±Π»ΠΎΠΊ #85 (65e) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°.
02:29 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄ #2 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 111855 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #85 (256).
02:36 β Π±Π»ΠΎΠΊ #85 (256) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ.
02:36 β Π·Π°Π²ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π΄Π΅ΠΌΠΎ-ΡΠΊΡΠΈΠΏΡΡΡ Π½Π° ΡΡΡΠ²ΡΡ #1, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ 1ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 42.5 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
02:38 β Π±Π»ΠΎΠΊ #85 (256) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°.
03:08 β Π·Π°Π²ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π΄Π΅ΠΌΠΎ-ΡΠΊΡΠΈΠΏΡΡΡ Π½Π° ΡΡΡΠ²ΡΡ #2, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ 1ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 47 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
03:38 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ #85 (f21), #86 (65e), #87 (256) ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 330ΠΊ, 250ΠΊ, 111855 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
03:49 β ΠΏΡΠ»ΡΡ ΡΠ΅ ΠΏΠΎΡΠΈΡΡΠΈ Π½Π° 330ΠΊ, 250ΠΊ, 111855 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±Π»ΠΎΠΊ #85 (f21), #86(65e), #87(256)
03:59 β ΡΠ°Π±ΠΌΠΈΡΠ° Π½Π° Π½ΠΎΠ΄Π° #1 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 888145 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #88 (214), ΡΠ°Π±ΠΌΠΈΡΠ° Π½Π° Π½ΠΎΠ΄Π° #2 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 750ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #88 (50a), ΡΠ°Π±ΠΌΠΈΡΠ° Π½Π° Π½ΠΎΠ΄Π° #3 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 670ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #88 (d3b)
04:44 β Π±Π»ΠΎΠΊ #88 (d3b) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅
04:58 β Π±Π»ΠΎΠΊ #88 (214) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅
05:11 β Π±Π»ΠΎΠΊ #88 (50a) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅
05:11 β Π±Π»ΠΎΠΊ #85 (d3b) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
05:36 β Π±Π»ΠΎΠΊ #85 (214) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
05:43 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΎΡ ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ #88 (d3b), #89(214) ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 670ΠΊ, 750ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
06:50 β ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π±Π»ΠΎΠΊ #85 (50a) Π½Π΅ Π±Π΅ΡΠ΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½
06:55 β ΡΠ°Π±ΠΌΠΈΡΠ° Π½Π° Π½ΠΎΠ΄Π° #2 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 888145 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #90 (50a)
08:14 β Π±Π»ΠΎΠΊ #90 (50a) Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅
09:04 β Π±Π»ΠΎΠΊ #90 (50a) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
11:23 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΎΡ ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ΅ Π±Π»ΠΎΠΊ #90 (50a) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 888145 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π²Π΅ΡΠ΅ ΠΎΡΠ΄Π°Π²Π½Π° ΡΡΡΠ²ΡΡ #3 ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡ Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ #88 (d3b), #89(214)
12:11 β Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ»ΠΎΠ²Π΅ ΡΠ° ΠΏΡΠ°Π·Π½ΠΈ
13:41 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²ΡΡ #3 ΡΡΠ΄ΡΡΠΆΠ°Ρ 3ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
14:35 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²ΡΡ #1 ΡΡΠ΄ΡΡΠΆΠ°Ρ 3ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
19:24 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²ΡΡ #2 ΡΡΠ΄ΡΡΠΆΠ°Ρ 3ΠΌΠ»Π½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
ΠΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Plasma Cash ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ ΡΡΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ°Π²Π°ΠΌΠ΅:
1. ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΏΡΠ»Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΌΠΈΡΠ° ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠΏΠ°Π΄ Π² ΡΠΊΠΎΡΠΎΡΡΡΠ°.
2. ΠΠ΅ Π±Π΅ΡΠ΅ Π²Π΅Π΄Π½Π°Π³Π° ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
3. ΠΠ΅ Π±Π΅ΡΠ΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΈ ΠΊΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ Π²ΠΈΡΠΎΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ.
4. ΠΠ΅ Π±Π΅ΡΠ΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π±Π»ΠΎΠΊΠ° Ρ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π°Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 100 ΠΠ±.
5. Π Π°Π±ΠΎΡΠ°ΡΠ° Π² Π΅Π΄Π½ΠΎΠΏΠΎΡΠΎΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π·ΠΊΡΡΠ²Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π΄ΡΠ»Π³ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ Ρ Π΅Ρ).
ΠΠ°ΠΊ ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ Ρ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°?
ΠΡΡΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Plasma Cash Π½ΠΎΠ΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ: Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΄Π° ΡΠ°Π±ΠΌΠΈΡΠ²Π° ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ° Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ API Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ NodeJS Π΅ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅Π΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½Π°, ΡΠ΅ΠΆΠΊΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΈΠ΄ΡΡ ΠΌΠ΅ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
1. ΠΠ° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ NodeJS ΠΏΡΠΎΡΠ΅ΡΠ°, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
2. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ worker_threads ΠΈ Π΄Π° ΠΈΠ·Π½Π΅ΡΠ΅ΠΌ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΡΡ ΠΎΡ ΠΊΠΎΠ΄Π° Π² ΠΏΠΎΡΠΎΡΠΈ.
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΎΡ Π΄Π²Π°ΡΠ° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ: Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡ ΠΌΠ΅ Π΅Π΄Π½Π° Π½ΠΎΠ΄Π° Π½Π° 3 ΡΠ°ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»Π½ΠΎ, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ.
1. Π‘Π°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π°, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΏΡΠ» ΠΈ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° ΡΡΡ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅.
2. ΠΠ°Π»ΠΈΠ΄ΠΈΡΠ°ΡΠ° Π½ΠΎΠ΄Π°, ΠΊΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡΠ° Π½Π° Π½ΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅.
3. API Π½ΠΎΠ΄Π° β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ API Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ.
ΠΡΠΌ Π²ΡΡΠΊΠ° Π½ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ ΡΡΠ΅Π· unix socket Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° CLI.
Π’Π΅ΠΆΠΊΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅, ΠΈΠ·Π½Π΅ΡΠΎΡ ΠΌΠ΅ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ.
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π½ΠΎΡΠΌΠ°Π»Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Plasma Cash Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠΈ, Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° ΠΈ, Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π½Π΅Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ: 5 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ Π΄ΠΎ 50 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Π±Π»ΠΎΠΊ. Π’ΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ Plasma Cash, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΈΠΊΠΎΠ²Π°ΡΠ° ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎ-ΡΠ°Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ Plasma Cash Π½ΠΎΠ΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ unix socket ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠΎΠΉ Π±Π΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ². json ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ `JSON.parse()` ΠΈ `JSON.stringify()`.
```json
{
"action": "sendTransaction",
"payload":{
"prevHash": "0x8a88cc4217745fd0b4eb161f6923235da10593be66b841d47da86b9cd95d93e0",
"prevBlock": 41,
"tokenId": "57570139642005649136210751546585740989890521125187435281313126554130572876445",
"newOwner": "0x200eabe5b26e547446ae5821622892291632d4f4",
"type": "pay",
"data": "",
"signature": "0xd1107d0c6df15e01e168e631a386363c72206cb75b233f8f3cf883134854967e1cd9b3306cc5c0ce58f0a7397ae9b2487501b56695fe3a3c90ec0f61c7ea4a721c"
}
}
```
ΠΠ°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ~ 130ΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ json, Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π΅ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ. Π―Π²Π½ΠΎ V8 Π΅ Π΄ΠΎΠ±ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π Π°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠΎΠΊΠ΅Π½ΠΈ ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ΅ ΡΡΠ΅Π· ΠΊΠ»Π°ΡΠΎΠ²Π΅. ΠΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π°ΠΌΠ°Π»Ρ Π΄Π²Π° ΠΏΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ OOP Π½Π΅ Π½ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π°. ΠΡΠΈΠ±Π΅Π³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΎ Π½Π° ΡΠΈΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
ΠΠ°ΠΏΠΈΡ Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ Redis ΠΊΠ°ΡΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ Π½Π°ΠΉ-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ: Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠΈΠΏ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΡΠ°Π±ΠΎΡΠ° Ρ Ρ Π΅Ρ ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. Π‘ΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ redis-benchmark ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ~80ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π² ΡΠ΅ΠΆΠΈΠΌ 1 pipelining.
ΠΠ° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ Redis ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ:
- ΠΠ°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ unix socket Π²ΡΡΠ·ΠΊΠ°.
- ΠΠ·ΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ° (Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Π·Π°ΠΏΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠ° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ Redis).
Π Redis ΠΏΡΠ»ΡΡ Π΅ Ρ Π΅Ρ ΡΠ°Π±Π»ΠΈΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ Π΅Π΄Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΈ Π΄Π° ΠΈΠ·ΡΡΠΈΠ²Π°ΠΌΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ. ΠΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠΏΠΈΡΡΠΊ, Π½ΠΎ ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΏΠΈΡΡΠΊ.
ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° NodeJS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Redis ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ 18ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. Π‘ΠΊΠΎΡΠΎΡΡΡΠ° Π½Π°ΠΌΠ°Π»Ρ 9 ΠΏΡΡΠΈ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΡΡ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ²Π½ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ½Π΅ 5 ΠΏΡΡΠΈ ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ, Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅. Π‘ΠΌΠ΅Π½ΠΈΡ ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° ioredis ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π²Π΅ΡΠ΅ 25ΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΌΠ΅ ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° `hset`. Π’Π°ΠΊΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Π² Redis. ΠΠΎΡΠ²ΠΈ ΡΠ΅ ΠΈΠ΄Π΅ΡΡΠ° Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°ΠΌΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΏΠ°ΡΠΊΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ Ρ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° `hmset`. Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ β 32ΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
ΠΠΎΡΠ°Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΈΡΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ»Ρ, ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ `Buffer` ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, Π°ΠΊΠΎ Π³ΠΎ ΠΏΡΠ΅Π²Π΅Π΄Π΅ΠΌ Π² ΡΠ΅ΠΊΡΡ (`buffer.toString(βhexβ)`) ΠΏΡΠ΅Π΄ΠΈ Π·Π°ΠΏΠΈΡ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π’Π°ΠΊΠ° ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠΌ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π΄ΠΎ 35ΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΠΏΡΠ΅ΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ.
ΠΠ°Π»ΠΎΠΆΠΈ ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ Π½Π° Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΡΠΉ ΠΊΠ°ΡΠΎ:
1. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ΡΡΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° Ρ Π΅ΡΠΎΠ²Π΅, ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΈ Ρ.Π½., ΠΈ Π·Π° ΡΠΎΠ²Π° ΠΈ ΡΡΡΠ±Π²Π°Ρ Π΄Π°Π½Π½ΠΈ Π² `Buffer.
2. ΠΡΠΈ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΡΠ΅ Π·Π°Π΅ΠΌΠ°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΌΡΡΡΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊ Ρ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π·Π°Π΅ΠΌΠ°Ρ Π½Π°Π΄ 300 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°.
3. ΠΠΎΡΡΠΎΡΠ½Π½ΠΎΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΠΊΠ°Π·Π²Π° Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ°ΡΠΎΠ²Π° Π·Π° ΠΎΡΠ½ΠΎΠ²Π° Π²Π·Π΅Ρ ΠΌΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° `binary-data`.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ:
β Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ
```json
{
prevHash: BD.types.buffer(20),
prevBlock: BD.types.uint24le,
tokenId: BD.types.string(null),
type: BD.types.uint8,
newOwner: BD.types.buffer(20),
dataLength: BD.types.uint24le,
data: BD.types.buffer(({current}) => current.dataLength),
signature: BD.types.buffer(65),
hash: BD.types.buffer(32),
blockNumber: BD.types.uint24le,
timestamp: BD.types.uint48le,
}
```
β Π’ΠΎΠΊΠ΅Π½
```json
{
id: BD.types.string(null),
owner: BD.types.buffer(20),
block: BD.types.uint24le,
amount: BD.types.string(null),
}
```
β ΠΠ»ΠΎΠΊ
```json
{
number: BD.types.uint24le,
merkleRootHash: BD.types.buffer(32),
signature: BD.types.buffer(65),
countTx: BD.types.uint24le,
transactions: BD.types.array(Transaction.Protocol, ({current}) => current.countTx),
timestamp: BD.types.uint48le,
}
```
Π‘ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ `BD.encode(block, Protocol).slice();` ΠΈ ` BD.decode(buffer, Protocol)` ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² `Buffer` Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² Redis ΠΈΠ»ΠΈ ΠΏΡΠ΅Π½ΠΎΡ Π΄ΠΎ Π΄ΡΡΠ³Π° Π½ΠΎΠ΄Π° ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ 2 Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅:
β ΠΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Plasma Node ΡΡΠ΅Π· unix socket
```json
{
type: BD.types.uint8,
messageId: BD.types.uint24le,
error: BD.types.uint8,
length: BD.types.uint24le,
payload: BD.types.buffer(({node}) => node.length)
}
```
ΠΊΡΠ΄Π΅ΡΠΎ:
- `type` β Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 1 β sendTransaction, 2 β getTransaction;
- `payload` β Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π΄Π°Ρ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ;
- `messageId` β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ.
β ΠΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ΄ΠΈΡΠ΅
```json
{
code: BD.types.uint8,
versionProtocol: BD.types.uint24le,
seq: BD.types.uint8,
countChunk: BD.types.uint24le,
chunkNumber: BD.types.uint24le,
length: BD.types.uint24le,
payload: BD.types.buffer(({node}) => node.length)
}
```
ΠΊΡΠ΄Π΅ΡΠΎ:
- `code` β ΠΊΠΎΠ΄ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 6 β PREPARE_NEW_BLOCK, 7 β BLOCK_VALID, 8 β BLOCK_COMMIT;
- `versionProtocol` β Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ΄ΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½;
- `seq` β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ;
- `countChunk` ΠΈ `chunkNumber` Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ;
- `length` ΠΈ `payload` Π΄ΡΠ»ΠΆΠΈΠ½Π° ΠΈ ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° `rlp` Π½Π° ΠΡΠ΅ΡΠΈΡΠΌ. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΡΠΏΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ Π½Π΅Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΡΠ°Π·Π²ΠΈΠ΅ΠΌ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π² Π±ΡΠ΄Π΅ΡΠ΅.
ΠΠΊΠΎ ΡΡΠΏΠ΅Π΅ΠΌ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡΠ° 35 000 Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΠΈ Π² ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠ΅Π΄Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊ Π΅ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΠΌ Π² Π±Π»ΠΎΠΊΠ° 1 000 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ 100 ΠΌΠ± Π΄Π°Π½Π½ΠΈ.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° `ethereumjs-devp2p` Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅, Π½ΠΎ ΡΡ Π½Π΅ ΡΠΌΠΎΠ³Π²Π°ΡΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° `ws` ΠΈ Π½Π°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ websocket. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡ ΠΌΠ΅ Π½Π° ΡΠ°Π½ΠΊΠΎΠ²Π΅ ΠΈ ΡΠ΅Π³Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²Π΅ΡΠ΅ Π³ΠΈ Π½ΡΠΌΠ°.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅ Π΄ΡΡΠ²ΠΎ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Ρ Π΅ΡΠ° 1 000 000 Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΠΊΠΎΠ»ΠΎ 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅. ΠΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Ρ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ ΡΡΠΏΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π΅. ΠΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ ΡΠΎΠ²Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ.
ΠΠ·Π²ΠΎΠ΄ΠΈ:
ΠΡΡΡΠ½ΠΎΡΡ, Π½Π°ΡΠΈΡΠ΅ ΠΈΠ·Π²ΠΎΠ΄ΠΈ Π½Π΅ ΡΠ° Π½ΠΎΠ²ΠΈ, Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ Π·Π°Π±ΡΠ°Π²ΡΡ Π·Π° ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
- ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΅ ΠΏΠΎ-Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° NodeJS.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° `worker_threads` Π·Π° ΡΡΡΠ΄Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ i/o.
- Unix ΡΠΎΠΊΠ΅ΡΠΈΡΠ΅ ΡΠ° ΠΏΠΎ-ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ ΠΈ Π±ΡΡΠ·ΠΈ ΠΎΡ http Π·Π°ΡΠ²ΠΊΠΈΡΠ΅.
- ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π±ΡΡΠ·ΠΎ ΠΏΡΠ΅Π· ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ websocket-ΠΈ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° ΡΠ°Π½ΠΊΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ, Π°ΠΊΠΎ Π½Π΅ ΡΡΠΈΠ³Π½Π°Ρ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΡ Π² Π΅Π΄Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°Π½ΠΈΠΌ Π²ΠΈ Π΄Π° ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ GitHub ΠΏΡΠΎΠ΅ΠΊΡΠ°:
Π‘ΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠ°Π²ΡΠΎΡΡΡΠ²ΠΎ Ρ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ ΠΠ°ΡΠΈΠ²Π°Π½, ΡΡΠ°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
