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

ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² 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
- ΠΡΠ΅ΡΠΈΡΠΌ
- 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 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π°ΡΠ° Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 240k ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»ΠΎΠΊ #8. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ 320k ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π° 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 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ
11:05 β ΠΏΡΠ»ΡΡ Π±Π΅ΡΠ΅ ΡΠ°Π·ΡΠΎΠ²Π°ΡΠ΅Π½ Ρ 320 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±Π»ΠΎΠΊ #11
12:10 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Ρ 1 670 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
12:17 β ΠΏΠΎΠ΄Π°Π²Π½Π°ΡΠ° Π½ΠΎΠ΄Π° Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 330 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #12
12:32 β Π±Π»ΠΎΠΊ #12 Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΎΠ΄ΠΈ Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
12:39 β Π±Π»ΠΎΠΊ #12 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π² ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°
13:44 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ
Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π°, ΡΠ΅ Π±Π»ΠΎΠΊ #12 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 330 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ
14:50 β Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ΄ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Ρ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
Π’Π΅ΡΡ 3
Π ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΈ Π²ΡΠΎΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, Π΅Π΄Π½Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°ΡΠ° Π½ΠΎΠ΄Π° Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ ΠΏΠΎΠ΄Π°Π²Π½Π° Π½ΠΎΠ΄Π°.

ΠΠ°ΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅: ΠΏΠΎΡΠ»Π΅Π΄Π΅Π½ Π±Π»ΠΎΠΊ #84; Π² Π±Π°Π·Π°ΡΠ° ΡΠ° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ 0 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ
00:00 β ΠΠ°ΠΏΠΎΡΠ½Π°Ρ
Π° 3 ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΠΈΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΏΠΎ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ
01:38 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ° 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ Π² ΠΏΠΎΠ΄Π°Π²Π½Π°ΡΠ° Π½ΠΎΠ΄Π° #3
01:50 β ΠΏΠΎΠ΄Π°Π²Π½Π°ΡΠ° Π½ΠΎΠ΄Π° #3 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 330 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #85 (f21). Π‘ΡΡΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»ΡΡ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ 350 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ
01:53 β ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ° 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ Π² ΠΏΠΎΠ΄Π°Π²Π½Π°ΡΠ° Π½ΠΎΠ΄Π° #1
01:50 β ΠΏΠΎΠ΄Π°Π²Π½Π°ΡΠ° Π½ΠΎΠ΄Π° #3 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 330 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #85 (f21). Π‘ΡΡΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΏΡΠ»ΡΡ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ 350 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ
02:01 β ΠΏΠΎΠ΄Π°Π²Π½Π°ΡΠ° Π½ΠΎΠ΄Π° #1 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 250 000 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #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 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 111 855 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ° Π±Π»ΠΎΠΊ #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 000, 250 000, 111 855 ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ
03:49 β ΠΏΡΠ»ΡΡ Π΅ ΠΏΠΎΡΠΈΡΡΠ΅Π½ Ρ 330k, 250k, 111855 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅ #85 (f21), #86(65e), #87(256)
03:59 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° #1 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 888145 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡa Π±Π»ΠΎΠΊ #88 (214), ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° #2 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 750k ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡa Π±Π»ΠΎΠΊ #88 (50a), ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° #3 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 670k ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡa Π±Π»ΠΎΠΊ #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) ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ 670k, 750k ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
06:50 β ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°, Π±Π»ΠΎΠΊ #85 (50a) Π½Π΅ Π±Π΅ΡΠ΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½
06:55 β ΡΠ°Π±ΠΌΠΈΡ Π½ΠΎΠ΄Π° #2 Π²Π·Π΅ ΠΎΡ ΠΏΡΠ»Π° 888145 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΠΌΠΈΡa Π±Π»ΠΎΠΊ #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. ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΠΏΡΠ»Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΌΠΈΡΠ° ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠΏΠ°Π΄ Π² ΡΠΊΠΎΡostta.
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 Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π±Π΅Π· ΡΠΌΡΡΠ΅Π½ΠΈΡ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π°ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ, Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° ΠΈ, Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π½Π΅Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ: 5000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ Π΄ΠΎ 50000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Π±Π»ΠΎΠΊΠ°. Π’ΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Ρ Plasma Cash, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΈΠΊΠΎΠ²Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ Plasma Cash Π²ΡΠ·Π΅Π» ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ unix socket ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠΎΠΉ Π±Π΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ². json ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ `JSON.parse()` ΠΈ `JSON.stringify()`.
{
"action": "sendTransaction",
"payload":{
"prevHash": "0x8a88cc4217745fd0b4eb161f6923235da10593be66b841d47da86b9cd95d93e0",
"prevBlock": 41,
"tokenId": "57570139642005649136210751546585740989890521125187435281313126554130572876445",
"newOwner": "0x200eabe5b26e547446ae5821622892291632d4f4",
"type": "pay",
"data": "",
"signature": "0xd1107d0c6df15e01e168e631a386363c72206cb75b233f8f3cf883134854967e1cd9b3306cc5c0ce58f0a7397ae9b2487501b56695fe3a3c90ec0f61c7ea4a721c"
}
}
ΠΠ°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 130ΠΊ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ json, Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π΅ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ. Π―Π²Π½ΠΎ V8 Π΄Π²ΠΈΠΆΠΊΠ° Π΅ Π΄ΠΎΠ±ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π Π°Π±ΠΎΡΠ° Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠΎΠΊΠ΅Π½ΠΈ ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΡΠΈ Π½Π°Ρ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π° ΡΡΠ΅Π· ΠΊΠ»Π°ΡΠΎΠ²Π΅. ΠΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠΏΠ°Π΄Π½Π° Ρ 2 ΠΏΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ OOP Π½Π΅ Π½ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π°. ΠΡΠΈΡ ΠΎΠ΄ΠΈ ΡΠ΅ Π΄ΠΎ Π½ΡΠΆΠ΄Π°ΡΠ° ΠΎΡ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΎ Π² ΡΠΈΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
ΠΠ°ΠΏΠΈΡ Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ Redis ΠΊΠ°ΡΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ Π½Π°ΠΉ-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ: key-value Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠ°Π±ΠΎΡΠ° Ρ hash-ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. Π‘ΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅ redis-benchmark ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ~80ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π² ΡΠ΅ΠΆΠΈΠΌ 1 pipelining.
ΠΠ° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ Redis ΠΏΠΎ-ΡΠΈΠ½ΠΎ:
- ΠΠ°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ unix socket ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
- ΠΠ·ΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊ (Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠ° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ Redis).
Π Redis ΠΏΡΠ»ΡΡ Π΅ hash-ΡΠ°Π±Π»ΠΈΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ Π΅Π΄Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΈ Π΄Π° ΠΈΠ·ΡΡΠΈΠ²Π°ΠΌΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠΏΠΈΡΡΠΊ, Π½ΠΎ ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΏΠΈΡΡΠΊ.
ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° NodeJS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Redis ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ 18ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. Π‘ΠΊΠΎΡΠΎΡΡΡΠ° ΠΏΠ°Π΄Π½Π° 9 ΠΏΡΡΠΈ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ benchmark Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ²Π½ΠΎ Ρ 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` ΠΎΡ Ethereum. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ Π½Π΅Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΡΠ°Π±ΠΎΡΠΈΠΌ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π² Π±ΡΠ΄Π΅ΡΠ΅.
ΠΠΊΠΎ ΡΡΠΏΠ΅Π΅ΠΌ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡ 35 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π½ΠΈΠ΅ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ Π² ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠ° Π΅ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π²ΠΊΠ»ΡΡΠΈΠΌ Π² Π±Π»ΠΎΠΊΠ° 1 000 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 100 ΠΌΠ± Π΄Π°Π½Π½ΠΈ.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ `ethereumjs-devp2p` Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅, Π½ΠΎ ΡΡ Π½Π΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡΠ΅ Ρ ΡΠ°ΠΊΠΎΠ²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° `ws` ΠΈ Π½Π°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΡΠ΅Π±ΡΠΎΠΊΠ΅Ρ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π½ΠΈΠ΅ Π³ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΠΌΠ΅ Π½Π° ΡΠ°Π½ΠΊΠΎΠ²Π΅ ΠΈ ΡΠ΅Π³Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΠ΅ΡΠΊΠ»Π΅ Π΄ΡΡΠ²ΠΎ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Ρ Π΅Ρ 1 000 000 ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΎΠΊΠΎΠ»ΠΎ 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅. ΠΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Ρ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ ΡΡΠΏΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π΅. Π Π΅ΡΠ΅Π½ΠΎ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ ΡΠΎΠ²Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΡΠΎΠΊ.
ΠΠ·Π²ΠΎΠ΄ΠΈ:
ΠΡΡΡΠ½ΠΎΡΡ, Π½Π°ΡΠΈΡΠ΅ ΠΈΠ·Π²ΠΎΠ΄ΠΈ Π½Π΅ ΡΠ° Π½ΠΎΠ²ΠΈ, Π½ΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ Π·Π°Π±ΡΠ°Π²ΡΡ Π·Π° ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
- ΠΠΎΠ½ΠΎΠ»ΠΈΡΡΡ Π΅ ΠΏΠΎ-Π»ΠΎΡ ΠΎΡ ΡΡΠ»ΡΠ³Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° NodeJS.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° `worker_threads` Π·Π° ΡΠ΅ΠΆΠΊΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ i/o.
- unix ΡΠΎΠΊΠ΅Ρ Π΅ ΠΏΠΎ-ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ ΠΏΠΎ-Π±ΡΡΠ· ΠΎΡ http Π·Π°ΡΠ²ΠΊΠΈ.
- ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅Π±ΡΠΎΠΊΠ΅ΡΠΈ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° ΡΠ°Π½ΠΊΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡΠ΅, Π°ΠΊΠΎ Π½Π΅ ΠΏΡΠΈΡΡΠΈΠ³Π½Π°Ρ, ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π² Π΅Π΄Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠΊΠ°Π½Π²Π°ΠΌΠ΅ Π²ΠΈ Π΄Π° ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ GitHub ΠΏΡΠΎΠ΅ΠΊΡΠ°:
Π‘ΡΠ°ΡΠΈΡΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠ°Π²ΡΠΎΡΡΡΠ²ΠΎ Ρ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ ΠΠ°ΡΠΈΠ²Π°Π½, ΡΡΠ°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
