ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² Π΄Π΅ΡΠ°Π»ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ·ΡΠΊΠ° Move ΠΈ Π² ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ, ΡΠΆΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π΄Π»Ρ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² β Solidity (Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Ethereum). ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΎΠ½-Π»Π°ΠΉΠ½ 26-ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ whitepaper-Π°.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Move β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°:
- Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Move ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Move, Solidity (ΡΠ·ΡΠΊ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π² Ethereum) β ΡΠ·ΡΠΊ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½Π°ΡΠ°Π»Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π² EVM (Ethereum Virtual Machine).
- Move ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ², Π½ΠΎ ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅), Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Solidity β ΡΡΠΎ ΡΠ·ΡΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ².
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° INDEX Protocol. Π Π°Π½Π΅Π΅ ΠΌΡ ΡΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠ»ΠΈ
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Move ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ² Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅: ΡΠ΅ΡΡΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ ΠΈΠ»ΠΈ Π½Π΅ΡΠ²Π½ΠΎ ΡΠ΄Π°Π»Π΅Π½, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΡ ΠΎΠΆΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ·ΡΠΊΠ° Rust. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π² Rust ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ Π·Π° ΡΠ°Π·. ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΏΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ: Use of moved value βxβ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² Rust Π½Π΅Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°. ΠΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΡΡ
ΠΎΠ΄ΡΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΠ°ΠΌΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΡΡΡΠ»Π°ΡΡΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Β«Π²Π»Π°Π΄Π΅Π»Π΅ΡΒ» Π΄Π°Π½Π½ΡΡ
. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ x ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ y ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½ΠΎΠ²ΡΠΌ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΡΡ Π°ΠΊΡΠΈΠ²ΠΎΠ² Π² ΠΎΡΠΊΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΠΊΡΠΈΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅:
- Π Π΅Π΄ΠΊΠΎΡΡΡ (ΠΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΡ, Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅ β scarcity). ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΠΈΠ²ΠΎΠ² (ΡΠΌΠΈΡΡΠΈΡ) Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π°ΠΊΡΠΈΠ²ΠΎΠ², Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ β ΡΡΠΎ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
- ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°. Π£ΡΠ°ΡΡΠ½ΠΈΠΊ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Π°ΠΊΡΠΈΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°.
ΠΡΠΈ Π΄Π²Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½Ρ Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΠΊΡΠΈΠ²ΠΎΠ², Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠΈΡΠ°ΡΡ ΠΈΡ Π°ΠΊΡΠΈΠ²Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π΄ΠΊΠΈΠΉ ΠΌΠ΅ΡΠ°Π»Π» β ΠΈΠΌΠ΅Π΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄Π΅ΡΠΈΡΠΈΡ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ (Π΄Π΅ΡΠΆΠ° Π² ΡΡΠΊΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ) ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΠ΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ Π΄Π²ΡΠΌ ΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β 1: ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π±Π΅Π· Π΄Π΅ΡΠΈΡΠΈΡΠ° ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°
- G[K]:=n ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΏΠΎ ΠΊΠ»ΡΡΡ Π Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°, Π½ΠΎΠ²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ n.
- transaction β¨Alice, 100β© ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π±Π°Π»Π°Π½ΡΠ° ΡΡΠ΅ΡΠ° ΠΠ»ΠΈΡΡ Π½Π° 100.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
- ΠΠ»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ½Π΅Ρ, ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ transaction β¨Alice, 100β©.
- ΠΠΎΠ½Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΠ»ΠΈΡΠ° ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΠΎΠ±Ρ, Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΠΎΠ± ΠΌΠΎΠ³ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π±Π΅ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡ ΠΆΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΡ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β 2: Π£ΡΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π΅ΡΠΈΡΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ½Π΅Ρ Ka Π±ΡΠ»ΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΡΠ°Π²Π½ΠΎ n ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ
ΠΎΡΡ ΡΡΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π΅ΡΠΈΡΠΈΡΠ°, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠΎΠ½Π΅ΡΡ ΠΠ»ΠΈΡΡ (ΠΏΠΎΠΊΠ° ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ, Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π΅ Π½Π°ΡΡΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°).
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β 3: ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ Π΄Π΅ΡΠΈΡΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°
ΠΡ ΡΠ΅ΡΠ°Π΅ΠΌ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ verify_sig ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π±Π°Π»Π°Π½ΡΠ°, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΠ»ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ ΡΠ²ΠΎΠΈΡ
ΠΌΠΎΠ½Π΅ΡΡ.
Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ·ΡΠΊΠΈ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π° ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ (Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π½Ρ Π² Move (ΠΏΡΠΈΠΌ.: ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π°Π²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ Π°ΠΏΠΏΠ΅Π»ΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Ethereum Π² ΡΠ²ΠΎΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠΈΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΡ Π»ΠΈΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΠΆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈ Π² EOS)):
ΠΠ΅ΠΏΡΡΠΌΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²ΠΎΠ². ΠΠΊΡΠΈΠ² ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, Π½ΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ Π°ΠΊΡΠΈΠ². ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π½Π΅Ρ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π±ΠΈΡΠΊΠΎΠΉΠ½ / ΡΡΠΈΡ / <ΠΡΠ±Π°Ρ ΠΠΎΠ½Π΅ΡΠ°>! ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΡΠ΄Π½ΡΠΌ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π°ΠΊΡΠΈΠ²Ρ. ΠΠ°ΡΡΠ΅ΡΠ½Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΠΊΡΠΈΠ²ΠΎΠ² Π²/ΠΈΠ· ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈΠ»ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²ΠΎΠ² Π² ΡΡΡΡΠΊΡΡΡΠ°Ρ ΡΡΠ΅Π±ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΡ ΡΠ·ΡΠΊΠ°.
ΠΠ΅ΡΠΈΡΠΈΡ Π½Π΅ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌ. Π―Π·ΡΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΄Π΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π°ΠΊΡΠΈΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΡΠΈΡΠΈΡΠ° ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΡΠΈΡΠ° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ ΡΠ·ΡΠΊΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Ρ ΠΎΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π°ΠΊΡΠΈΠ², Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ΅ΡΡΡΡΠ°. ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Ethereum.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΡΠ²ΠΎΠΈ Π°ΠΊΡΠΈΠ²Ρ, ΡΠΎΠΊΠ΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ERC-20, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΈ ΠΎΠ±ΡΠ΅ΠΉ ΡΠΌΠΈΡΡΠΈΠΈ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ, ΠΊΠΎΠ΄ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠΌΠΈΡΡΠΈΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΏΡΡΠΌΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²ΠΎΠ² ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ, Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΊ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ β Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π²ΠΎΠΉΠ½ΡΠΌ ΡΡΠ°ΡΠ°ΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΎΠ².
ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΡΠ΅ΠΉΡΠ°Ρ β ΡΡΠΎ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΊ ΠΈ Π·Π°ΡΠΈΡΠ° ΠΎΡ Π΄Π΅ΡΠΈΡΠΈΡΠ°, ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° Π³Π»ΡΠ±ΠΎΠΊΠΎ Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π² ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ ΡΠ·ΡΠΊΠ°. ΠΠΎ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ·ΡΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° β ΡΡΠΎ, Π·Π°ΡΠ°ΡΡΡΡ, ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°.
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²Π΅ΡΠ½ΠΎ Π΄Π»Ρ Ethereum, Π³Π΄Π΅ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ onlyOwner.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ Ethereum, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π°ΠΊΡΠΈΠ²ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°ΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ Π² ΡΠ΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Ether Π² ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π²Ρ ΠΎΠ΄Π° (re-entrancy vulnerabilities). ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π·Π΄Π΅ΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ), Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ).
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² Solidity, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ A Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° B, ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ B ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° A, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ
ΠΡΠ½ΠΎΠ²Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΡΠ·ΡΠΊΠ° Move
Π Π΅ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎ, ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ/ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ/ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ Π² ΡΠ·ΡΠΊΠ΅ Move ΠΎΡΠ΅Π½Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ/ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π² ΠΠΠ-ΡΠ·ΡΠΊΠ°Ρ
.
ΠΠΎΠ΄ΡΠ»ΠΈ Π² Move Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌ Π² Π΄ΡΡΠ³ΠΈΡ
Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°Ρ
. ΠΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠΎ Π²ΡΠ΅ ΡΡΠΎ β Π»ΠΈΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΡΡΠΈ (βΠΆΠ°ΡΠ³ΠΎΠ½β) Π² Move. Π§ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠΈΠ±ΠΊΠΎΡΡΡ
Move Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ Libra ΡΠ΅ΡΠ΅Π· ΡΠΊΡΠΈΠΏΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π² Libra Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π‘ΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ»Π°ΡΠ΅ΠΆΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΡΠ²Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°Π½Π° ΠΎΠ±ΡΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΊΡΠΈΠΏΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Move ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ. Π‘ΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Ethereum ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ (Π²ΡΠ·ΡΠ²Π°Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°). ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π½Π°Π·Π²Π°Π½ Β«ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΡΠΌΒ», Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. (ΠΏΡΠΈΠΌ.: Π·Π΄Π΅ΡΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ ΡΠΎΠ½ΠΊΠΈΠΉ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠΊΡΠΈΠΏΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅Π²Π΄ΠΎ-Π±Π°ΠΉΡΠΊΠΎΠ΄Π°, Π΅ΡΡΡ ΠΈ Π² Bitcoin. Π‘ Π΄ΡΡΠ³ΠΎΠΉ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ½ΡΠ» β Move ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΡΠ·ΡΠΊ, ΠΏΠΎ ΡΡΡΠΈ, Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ²).
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ Move β ΡΡΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ·ΡΠΊ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠ΅ΠΌ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, Π½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π΅Π΅, ΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ°ΠΉΡ-ΠΊΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π² ΡΠ°Π½-ΡΠ°ΠΉΠΌΠ΅ (on-chain) Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠΈΠΏΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Move ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π±Π΅Π· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΡΠΈΡΡΠ΅ΠΌΡ. Π‘Π΄Π΅Π»Π°ΡΡ Move ΡΠ·ΡΠΊΠΎΠΌ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° β ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ³ΠΎ Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Solidity, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ±ΠΎΡΡ ΠΈΠ»ΠΈ Π°ΡΠ°ΠΊΠ°Ρ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΠ΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
ΠΡ Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΠΎ ΠΈΠ΄Π΅Ρ on-chain (ΠΏΡΠΈΠΌ.: ΠΎΠ½-Π»Π°ΠΉΠ½, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΠ±Π°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΠ·ΡΠΊΠ° Π³ΠΎΡΠΎΠ² ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ off-chain ΡΡΠ΅Π΄ΡΡΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π₯ΠΎΡΡ ΡΡΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΎΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ² Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΠΊΠΈΡΠ°) ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅, ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ°Π½-ΡΠ°ΠΉΠΌΠ΅ (on-chain).
ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ
ΠΠΎΠ΄ΡΠ»ΠΈ Move ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ. ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π·Π°ΡΠΈΡΠΎΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΠΏΠΎΠ² Move, Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠ΅Π½Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²Π½Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, Π½ΠΎ Π½Π΅ ΠΈΠ·Π²Π½Π΅.
ΠΠ±Π·ΠΎΡ Move
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π²Π½Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π° Libra.
Peer-to-Peer ΠΏΠ»Π°ΡΠ΅ΠΆΠΈ
ΠΠ°Π΄Π°Π½Π½ΠΎΠ΅ Π² amount ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ½Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Ρ Π±Π°Π»Π°Π½ΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ.
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ
ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² (Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΊΡΠ°ΡΠ½ΡΠΌΠΈ Π½Π°Π΄ΠΏΠΈΡΡΠΌΠΈ):
- 0x0: Π°Π΄ΡΠ΅Ρ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ
- Currency: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ
- Coin: ΡΠΈΠΏ ΡΠ΅ΡΡΡΡΠ°
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ coin, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠ°, ΡΠΈΠΏ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ 0x0.Currency.Coin
- move(): Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ½ΠΎΠ²Π°
- copy(): Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ΄: Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ withdraw_from_sender ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² 0x0.Currency. ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° ΠΌΠΎΠ½Π΅ΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π΅ΠΏΠΎΠ·ΠΈΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ 0x0.Currency.
ΠΠΎΡ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ:
ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΡΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° move(coin) Π½Π° copy(coin). Π Π΅ΡΡΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ. ΠΠΎΠΏΡΡΠΊΠ° Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΡΠ²Π°Ρ copy(coin) Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅) ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°.
ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ², ΡΠΊΠ°Π·Π°Π² move(coin) Π΄Π²Π°ΠΆΠ΄Ρ . ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ 0x0.Currency.deposit (copy (some_other_payee), move (coin)) ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Β«ΠΏΠΎΡΡΠ°ΡΠΈΡΡΒ» ΠΌΠΎΠ½Π΅ΡΡ Π΄Π²Π°ΠΆΠ΄Ρ β ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ ΠΏΠ»Π°ΡΠ΅ΠΆΠ°, Π° Π²ΡΠΎΡΠΎΠΉ Ρ some_other_payee. ΠΡΠΎ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°ΠΊΡΠΈΠ²ΠΎΠΌ. Π ΡΡΠ°ΡΡΡΡ, Move ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΡΠ΅ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΈΠ·-Π·Π° ΠΎΡΠΊΠ°Π·Π° Π² move(coin). ΠΡΠ»ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΅ΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π°Π»ΠΈΠ² ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ move(coin)), Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°. ΠΡΠΎ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Move ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΠΈ ΡΡΠ΅Π΄ΡΡΠ².
ΠΠΎΠ΄ΡΠ»Ρ Currency
ΠΠ°ΠΆΠ΄Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ
Π² Π²ΠΈΠ΄Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ²) ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ
Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠ»ΠΈΠ½Π΄ΡΠΎΠ²). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 0x0 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ 0x0.Currency ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° ΡΠΈΠΏΠ° 0x0.Currency.Coin. Π£ΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 0x1 ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΡΠ΅ΡΡΡΡΠ° ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡΠ»Ρ; Π£ΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 0x2 ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
- Π‘ΠΊΡΠΈΠΏΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΉ β ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊ.
- ΠΠΎΠ΄ΡΠ»Ρ β ΡΡΠΎ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΠΉ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ.
- ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠ°, Π³Π΄Π΅ ΠΊΠ»ΡΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π°Π΄ΡΠ΅Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°
- Π£ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (ΡΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 0x0 Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ 0x0.Currency.Coin ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Currency)
- ΠΠ΄ΡΠ΅Ρ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠΏΠ° (0x0.Currency.Coin ΠΈ 0x1.Currency.Coin β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎ)
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ΅ΡΡΡΡΠ° Π² ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ β (resource TwoCoins {c1: 0x0.Currency.Coin, c2: 0x0.Currency.Coin})
- ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ΅ΡΡΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π±Π΅Π· ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π΄Π²Π° ΡΠ΅ΡΡΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ TwoCoins.c1 ΠΈ TwoCoins.c2.
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° Coin
ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Currency ΠΈ ΡΠΈΠΏΠΎΠΌ ΡΠ΅ΡΡΡΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Coin
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
- Coin β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΡΠΈΠΏΠ° u64 (64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°)
- Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Currency ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° Coin.
- ΠΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΏΠΎΠ»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π΅ΠΏΠΎΠ·ΠΈΡΠ°
ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΡΡΡ Coin Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π΅Π³ΠΎ Ρ ΡΠ΅ΡΡΡΡΠΎΠΌ Coin, Ρ
ΡΠ°Π½ΡΡΠΈΠΌΡΡ Π½Π° ΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ:
- Π£Π½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° Coin ΠΈ Π·Π°ΠΏΠΈΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ Coin, Ρ ΡΠ°Π½ΡΡΠΈΠΉΡΡ Π½Π° Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ.
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Coin Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
- Unpack, BorrowGlobal β Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ
- Unpack<T> ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΡΡΡΡ ΡΠΈΠΏΠ° T. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄, ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅Ρ Π΅Π³ΠΎ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΠΏΠΎΠ»ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°.
- BorrowGlobal<T> ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°Π΄ΡΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ T, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ (ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ) ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ
- &mut Coin ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡ Coin
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ withdraw_from_sender
ΠΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°:
- ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ Coin, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
- Π£ΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° Coin ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΠΌΠΌΡ
- Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ Coin Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Π±Π°Π»Π°Π½ΡΠΎΠΌ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
- Deposit ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ ΠΊΠ΅ΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ withdraw_from_sender ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΌΠΎΠ½Π΅ΡΠ°ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°
- GetTxnSenderAddress ΡΡ ΠΎΠΆΠ΅ Ρ msg.sender Π² Solidity
- RejectUnless ΡΡ ΠΎΠΆΠ΅ Ρ require Π² Solidity. ΠΡΠ»ΠΈ ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ΡΠ΄Π°ΡΠ½Π°, ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡΡΡ.
- Pack<T> ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ ΡΠΈΠΏΠ° Π’.
- Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Unpack<T>, Pack<T> ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ, Π³Π΄Π΅ ΠΎΠΏΠΈΡΠ°Π½ ΡΠ΅ΡΡΡΡ T
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ·ΡΠΊΠ° Move, ΡΡΠ°Π²Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ Ethereum, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ². Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅, Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΠ»ΠΈΡΡΠ°ΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com