ΠΠ΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΡΠΈΠ΄ΡΡΠΆΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ΠΎΡ Waves, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π³ΡΠ°Π½Ρ Π½Π° Waves Labs ΠΎΠ΄ ΡΠΈΠΌΠΎΡ Π½Π° Bettex.
ΠΠ±ΡΠ°Π²Π°ΡΠ° Π½Π΅ Π΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠ°! ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΅ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, Π½Π΅ΡΠ·ΠΈΠ½Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° ΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΈ. Π£ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π³ΠΎ ΡΡΠΈΠΌΡΠ»ΠΈΡΠ° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° dApp Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΈ Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ ΠΏΡΠΎΠΌΠΎΠ²ΠΈΡΠ° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°, ΡΡΠΎ Π΅ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΡ Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π½Π° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.
ΠΡΠ΅Π·Π΅Π½ΡΠΈΡΠ°Π½ΠΈΠΎΡ dApp Π·Π° ΠΏΡΠΈΠ΄ΡΡΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π΅ ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΊΠΎΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ affiliate ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π½ΠΈΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. ΠΠΎΠ΄ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π·Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅, ΠΊΠ°ΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π·Π±ΠΈΡ Π½Π° ΠΈΠ΄Π΅ΠΈ Π·Π° ΡΠ΅Ρ
Π½ΠΈΡΠΊΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°.
ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ°, ΠΎΠ²Π° Π΅ ΡΠ΅Π΄ΠΎΠ²Π΅Π½ affiliate ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ° ΡΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Ρ, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΡΠ΅ΠΏΠ΅Π½Π° Π°ΠΊΡΠΌΡΠ»Π°ΡΠΈΡΠ° Π½Π° Π½Π°Π³ΡΠ°Π΄ΠΈ Π·Π° ΡΠΏΠ°ΡΠΈ ΠΈ ΠΌΠΎΡΠΈΠ²Π°ΡΠΈΡΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ (cashback). Π‘ΠΈΡΡΠ΅ΠΌΠΎΡ Π΅ βΡΠΈΡΡΠ°β dApp, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΡΠΎ Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ΠΎΡ, Π±Π΅Π· Π΄Π° ΠΈΠΌΠ° ΡΠ²ΠΎΡ Π·Π°Π΄Π½ΠΈΠ½Π°, Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΡΠ½.
ΠΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ:
- ΠΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π²ΠΎ Π΄ΠΎΠ»Π³ ΡΠΎ ΠΈΡΠ½Π° ΠΎΡΠΏΠ»Π°ΡΠ° (Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ Π½Π΅ΠΌΠ° ΡΠΎΠΊΠ΅Π½ΠΈ Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ, Π½ΠΎ ΡΠΈΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠ°ΠΌΡ ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ).
- PoW-captcha - Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Π²ΠΈΡΠΎΠΊΠΎΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° - Π°Π½Π°Π»ΠΎΠ³Π½ΠΎ Π½Π° captcha, Π½ΠΎ ΠΏΡΠ΅ΠΊΡ Π΄ΠΎΠΊΠ°Π· Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ.
- ΠΠΎΠ±Π°ΡΠ°ΡΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½.
ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄:
- ΠΊΠΎΠ΄ Π·Π° ΠΏΠ°ΠΌΠ΅ΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ride4dapps (ΠΊΠΎΡ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ, ΡΠ΅ ΡΠΏΠΎΡΡΠ²Π° Π²ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅ΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π·Π° ΠΊΠΎΡΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° ΡΠΈΠ»ΠΈΡΠ°Π»Π°ΡΠ°);
- js ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΡΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π½ΠΈΠ²ΠΎ Π½Π° Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° ΠΏΡΠ΅ΠΊΡ WAVES NODE REST API;
- ΠΊΠΎΠ΄ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° vuejs, ΡΡΠΎ Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΈ ΠΊΠΎΠ΄ΠΎΡ RIDE.
ΠΠΎΠ·Π²ΠΎΠ»Π΅ΡΠ΅ Π½ΠΈ Π΄Π° Π³ΠΈ ΠΎΠΏΠΈΡΠ΅ΠΌΠ΅ ΡΠΈΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
ΠΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π·Π° Π΄ΠΎΠ»Π³ ΡΠΎ ΠΈΡΠ½Π° ΠΎΡΠΏΠ»Π°ΡΠ°
ΠΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° InvokeScript Π±Π°ΡΠ° ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π½Π° Π½Π°Π΄ΠΎΠΌΠ΅ΡΡ ΠΎΠ΄ ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° ΡΡΠΎ ΡΠ° ΠΈΠ½ΠΈΡΠΈΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°. ΠΠ²Π° Π½Π΅ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π°ΠΊΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π° Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ Π³ΠΈΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° WAVES ΡΠΎΠΊΠ΅Π½ΠΈ Π½Π° Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠΌΠ΅ΡΠΊΠ°, Π½ΠΎ Π°ΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΠΏΠΎΡΠΈΡΠΎΠΊΠ°ΡΠ° ΡΠ°Π²Π½ΠΎΡΡ, ΠΎΠ²Π° ΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ΡΠΈΠΎΠ·Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ° ΠΊΡΠ°ΡΠΎΡ Π½Π° ΠΊΡΠ°ΠΈΡΡΠ°ΡΠ°, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΠΊΡΠΏΡΠ²Π°ΡΠ΅ Π½Π° WAVES ΡΠΎΠΊΠ΅Π½ΠΈ (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΏΠ»Π°ΡΠ°ΡΠ΅ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ), ΡΡΠΎ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π²Π΅ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π°ΡΠ° Π±Π°ΡΠΈΠ΅ΡΠ° Π·Π° Π²Π»Π΅Π· Π²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ. ΠΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΠ»Π°ΡΠ°Ρ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠ΅ ΡΠ΅ ΡΠΎΠΎΡΠ°Ρ ΡΠΎ ΡΠΈΠ·ΠΈΠΊΠΎΡ ΠΎΠ΄ Π½ΠΈΠ²Π½Π° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π° ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΈΡΠΏΡΠΌΠΏΡΠ²Π°ΡΠ΅ Π½Π° Π»ΠΈΠΊΠ²ΠΈΠ΄Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠ΄ Π½Π°ΡΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ° InvokeScript βΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° ΠΏΡΠΈΠΌΠ°ΡΠΎΡβ (ΠΏΠ°ΠΌΠ΅ΡΠ½Π°ΡΠ° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° ΠΊΠΎΡΠ° Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΡΠΊΡΠΈΠΏΡΠ°ΡΠ°), Π° ΡΠ°ΠΊΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ, ΠΈΠ°ΠΊΠΎ Π½Π΅ Π½Π° ΠΎΡΠΈΠ³Π»Π΅Π΄Π΅Π½ Π½Π°ΡΠΈΠ½, ΠΏΠΎΡΡΠΎΠΈ.
ΠΠΊΠΎ Π²ΠΎ InvokeScript Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ScriptTransfer Π½Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠΎΡ, ΡΡΠΎ Π³ΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½Π·ΠΈΡΠ° ΠΏΠΎΡΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π½Π°Π΄ΠΎΠΌΠ΅ΡΡ, ΡΠΎΠ³Π°Ρ ΡΠ°ΠΊΠ²ΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΡΠΏΠ΅ΡΠ΅Π½, Π΄ΡΡΠΈ ΠΈ Π°ΠΊΠΎ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅. ΠΠ²Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠΎΠ° ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ ΡΠ΅ Π²ΡΡΠΈ ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, Π° Π½Π΅ ΠΏΡΠ΅Π΄ Π½Π΅Π°, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π°Ρ Π½Π° ΠΊΡΠ΅Π΄ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈ Π½Π° ΠΈΡΠ½Π° ΠΎΡΠΏΠ»Π°ΡΠ°.
Π’ΡΠ°Π½ΡΡΠ΅Ρ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° (i.caller, i.eee, Π΅Π΄ΠΈΠ½ΠΈΡΠ°)
ΠΠΎΠ΄ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ»Ρ ΡΠ° Π½Π°Π΄ΠΎΠΌΠ΅ΡΡΡΠ²Π° ΠΏΠΎΡΡΠΎΡΠ΅Π½Π°ΡΠ° ΡΠ°ΠΊΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠ΄ ΠΏΠ°ΠΌΠ΅ΡΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°. ΠΠ° Π΄Π° ΡΠ΅ Π·Π°ΡΡΠΈΡΠΈΡΠ΅ ΠΎΠ΄ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ°, Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ Π΄Π°Π»ΠΈ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠΎΡ ΡΠ° ΡΡΠΎΡΠΈ ΡΠ°ΠΊΡΠ°ΡΠ° Π²ΠΎ Π±Π°ΡΠ°Π½ΠΎΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΈ Π²ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΈ Π³ΡΠ°Π½ΠΈΡΠΈ:
func checkFee(i:Invocation) = {
if i.fee > maxFee then throw(βunreasonable large feeβ) else
if i.feeAssetId != unit then throw(βfee must be in WAVESβ) else true
}
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π·Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΈ Π±Π΅ΡΠΌΠΈΡΠ»Π΅Π½ΠΎ ΡΡΠΎΡΠ΅ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΏΠΎΡΡΠ΅Π±Π½Π° Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠ° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΏΠΎΠ²ΠΈΡΠΈ (PoW-captcha).
PoW-ΠΊΠ°ΠΏΡΠ°
Π‘Π°ΠΌΠ°ΡΠ° ΠΈΠ΄Π΅ΡΠ° Π·Π° captcha Π·Π° Π΄ΠΎΠΊΠ°Π· Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π΅ Π΅ Π½ΠΎΠ²Π° ΠΈ Π²Π΅ΡΠ΅ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° WAVES. ΠΠ΄Π΅ΡΠ°ΡΠ° Π΅ Π΄Π΅ΠΊΠ° Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π΄Π΅ΡΡΡΠ²ΠΎ ΡΡΠΎ Π³ΠΈ ΡΡΠΎΡΠΈ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° Π³ΠΈ ΠΏΠΎΡΡΠΎΡΠΈ ΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ, ΡΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π½Π°ΠΏΠ°Π΄ΠΎΡ ΡΠΎ ΡΡΠΎΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΡΠΊΠ°ΠΏ. ΠΠ° ΠΌΠ½ΠΎΠ³Ρ Π»Π΅ΡΠ½Π° ΠΈ Π΅Π²ΡΠΈΠ½Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡΠ° Π΄Π΅ΠΊΠ° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠΎΡ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π³ΠΎ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ PoW, ΠΏΠΎΡΡΠΎΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°:
Π°ΠΊΠΎ take(toBase58String(i.transactionId), 3) != β123β ΠΏΠΎΡΠΎΠ° ΡΡΠ»ΠΈ (βΠ΄ΠΎΠΊΠ°Π·ΠΎΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π΅ ΡΡΠΏΠ΅Π°β) Π΄ΡΡΠ³ΠΎ
ΠΠ° Π΄Π° ΠΈΠ·Π²ΡΡΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ ΡΠ°ΠΊΠ²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΠ°ΠΊΠ° ΡΡΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠΈΡΡΠ°58 (ΠΈΠ΄) Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΡΠΎ Π±ΡΠΎΠ΅Π²ΠΈΡΠ΅ 123, ΡΡΠΎ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΠΊ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ Π΅ Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ Π·Π° Π½Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ°. ΠΠΊΠΎ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅Π½ PoW, ΡΠΎΠ³Π°Ρ Π·Π°Π΄Π°ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡΠΈΠ³Π»Π΅Π΄Π΅Π½ Π½Π°ΡΠΈΠ½.
ΠΠΎΠ±Π°ΡΠ°ΡΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½
Π‘ΠΎ ΡΠ΅Π» Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ blockchain ΠΊΠ°ΠΊΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΎΠ΄ Π²ΠΈΡΠ°Π»Π½ΠΎ Π·Π½Π°ΡΠ΅ΡΠ΅ Π΅ Π΄Π° ΡΠ΅ ΠΈΠΌΠ°Π°Ρ API Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ key-val Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ. Π’Π°ΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΠ»Π΅Ρ Π°Π»Π°ΡΠΊΠΈ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° ΡΡΠ»ΠΈ 2019 Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ? Π½Π°ΡΠΏΡΠ΅Π²Π°ΡΠΈ Π½Π° Π±Π°ΡΠ°ΡΠ΅ REST API /Π°Π΄ΡΠ΅ΡΠΈ/ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ?matches=regexp. Π‘Π΅Π³Π°, Π°ΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΊΠ»ΡΡ ΠΎΠ΄ Π²Π΅Π± Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ Π½Π΅ ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΠΎΠ΄Π΅Π΄Π½Π°Ρ, ΡΡΠΊΡ ΡΠ°ΠΌΠΎ Π½Π΅ΠΊΠΎΡΠ° Π³ΡΡΠΏΠ°, ΡΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΈΠ·Π±ΠΎΡ ΠΏΠΎ ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΠΊΠΎ
withdraw_${userAddress}_${txid}
ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ Π΄Π°Π΄Π΅Π½Π° Π°Π΄ΡΠ΅ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΡ:
?matches=withdraw_${userAddress}_.*
Π‘Π΅Π³Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈΠΎΡ ΡΠ°ΡΡΠ²ΠΎΡ.
Vuejs ΠΊΠΎΠ΄
ΠΠΎΠ΄ΠΎΡ Π΅ ΡΠ°Π±ΠΎΡΠ½Π° Π΄Π΅ΠΌΠΎ Π±Π»ΠΈΡΠΊΠ° Π΄ΠΎ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π½Π°ΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅ΠΊΡ Waves Keeper ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° affiliate.js, ΡΠΎ ΠΊΠΎΡΠ° Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ, Π±Π°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠ²Π»Π΅ΡΠ΅ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ.
ΠΠΎΠ΄ Π·Π° RIDE
Π‘Π΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ°, ΡΠΈΠ½Π°Π½ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠΌΠ° Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ: ΡΠ΅ΡΠ΅ΡΠ΅Ρ (Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Ρ) ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΡΠΎΠ», ΠΊΠΎΡ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΊΠΈΠΎΡ ΠΊΠΎΠ΄, ΠΊΠΎΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° (Π·Π°Π΄Π°ΡΠ° PoW-captcha).
Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° (ΠΊΠ°ΠΊΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ) ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊ Π½Π° Π΄ΠΎΠ»Π³, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π΅ Π΄Π° ΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΈΡΠ° ΠΏΠ»Π°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π½Π°Π΄ΠΎΠΌΠ΅ΡΡΠΎΠΊΠΎΡ Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΊΠΎΡ ΡΡΠΎΡΡΠΊΡ ΠΊΡΠ΅ΠΈΡΠ°Π» ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π²Π΅Π΄Π½Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΠΊΡΠΏΡΠ²Π°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ°ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΊΠΎΠ΅ ΠΌΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΏΠ»Π°ΡΠΈ ΠΏΡΠΎΠ²ΠΈΠ·ΠΈΡΠ° Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°.
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ° Π΅ Π΄Π²Π° Π·Π°ΠΏΠΈΡΠΈ:
${owner)_referer = referer
${referer}_referral_${owner} = owner
ΠΠ²Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π°ΠΏΡΠ΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ (ΡΠΏΠ°ΡΡΠ²Π°Ρ Π½Π° Π΄Π°Π΄Π΅Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΈ ΡΠΈΡΠ΅ ΡΠΏΠ°ΡΡΠ²Π°ΡΠ° Π½Π° Π΄Π°Π΄Π΅Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ).
Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° ΡΠΎΠ½Π΄ Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π²ΠΈΡΡΠΈΠ½ΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. ΠΠΎ ΡΠ²ΠΎΡΠ°ΡΠ° ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½Π° ΡΠΎΡΠΌΠ°, Π³ΠΈ Π·Π΅ΠΌΠ° ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠ΅ΡΡΠ»Π΅Π½ΠΈ ΠΎΠ΄ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΠΈ Π³ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° Π½Π° ΡΠΌΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΠΏΠ°ΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΎΠ΄ Π½ΠΈΠ²ΠΎΠ° 1, 2, 3, Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° βcashbackβ ΠΈ ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° βchangeβ (ΡΓ¨ ΡΡΠΎ ΠΎΡΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠ³Π° ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° Π½Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠΊΠΈΡΠ΅ ΠΎΠ΄Π°Ρ ΠΎΠ²Π΄Π΅).
Cashback Π΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π·Π° ΠΌΠΎΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΡΠ°ΡΠ½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠΏΠ°ΡΡΠ²Π°ΡΠ΅. ΠΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ²Π»Π΅ΡΠ΅ Π΄Π΅Π»ΠΎΡ ΠΎΠ΄ ΠΏΡΠΎΠ²ΠΈΠ·ΠΈΡΠ°ΡΠ° ΡΡΠΎ ΡΠ° ΠΏΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° βΠΊΠ΅ΡΠ±Π΅ΠΊβ Π½Π° ΠΈΡΡ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΠΊΠΎ ΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈΡΠ΅ Π·Π° ΡΠΏΠ°ΡΡΠ²Π°ΡΠ°.
ΠΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠΏΠ°ΡΡΠ²Π°ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠΎΠ½Π΄ΠΎΡ ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ΡΠ° ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° Π²ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ½Π°ΡΠ° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ ΠΏΠ»Π°ΡΠ° Π½Π°Π³ΡΠ°Π΄Π° Π·Π° ΡΠΏΠ°ΡΡΠ²Π°ΡΠ΅ Π·Π° Π½Π°ΠΏΡΠ°Π²Π΅Π½ ΠΎΠ±Π»ΠΎΠ³, ΡΠΎΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠΎΠ½Π΄ΠΎΡ ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π²Π³ΡΠ°Π΄Π΅Π½Π° Π²ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ ΡΡΠ°Π²Π° ΠΎΠ±Π»ΠΎΠ³ΠΎΡ (ΠΈΠ»ΠΈ ΡΠ΅ Π²ΡΡΠΈ Π΄ΡΡΠ³ΠΎ Π½Π°ΡΠΎΡΠ΅Π½ΠΎ Π΄Π΅ΡΡΡΠ²ΠΎ Π·Π° ΠΊΠΎΠ΅ ΡΠ΅ ΠΏΠ»Π°ΡΠ° Π½Π°Π³ΡΠ°Π΄Π°ΡΠ°). Π’ΡΠΈ Π½ΠΈΠ²ΠΎΠ° Π½Π° Π½Π°Π³ΡΠ°Π΄ΠΈ Π·Π° ΡΠΏΠ°ΡΡΠ²Π°ΡΠ΅ ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ°. ΠΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π½ΠΈΠ²ΠΎΠ°, ΡΠΎΠ³Π°Ρ ΠΎΠ²Π° Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠΏΡΠ°Π²Π΅Π½ΠΎ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ. ΠΡΠΎΡΠ΅Π½ΡΠΎΡ Π½Π° Π½Π°Π³ΡΠ°Π΄Π° Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ ΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ1-Π½ΠΈΠ²ΠΎ3 Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° ΠΈΠ·Π½ΠΎΡ * Π½ΠΈΠ²ΠΎ / 1000, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° 1 ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° 0,1% (ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΌΠ΅Π½ΠΈ ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ).
ΠΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π³ΠΎ ΠΌΠ΅Π½ΡΠ²Π° ΡΠ°Π»Π΄ΠΎΡΠΎ Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° ΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠΎΠ·Π΄Π°Π²Π° Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅ Π½Π° Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ° Π½Π° ΡΠΎΡΠΌΡΠ»Π°ΡΠΎΡ:
fund_address_txid = address:owner:inc:level:timestamp
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ timestamp (ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΡ ΡΠ²ΡΠ·ΠΊΠ°
func getTimestamp() = {
let block = extract(blockInfoByHeight(height))
toString(block.timestamp)
}
ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΡ Π²ΠΎ ΠΊΠΎΡ ΡΠ΅ Π½Π°ΠΎΡΠ°. ΠΠ²Π° Π΅ ΠΏΠΎΡΠΈΠ³ΡΡΠ½ΠΎ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈΠΎΡ ΠΏΠ΅ΡΠ°Ρ ΠΎΠ΄ ΡΠ°ΠΌΠ°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π·Π°ΡΠΎΠ° ΡΡΠΎ Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ ΠΎΠ΄ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠΎΡ.
Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ Π³ΠΈ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° ΡΠΈΡΠ΅ Π°ΠΊΡΠΌΡΠ»ΠΈΡΠ°Π½ΠΈ Π½Π°Π³ΡΠ°Π΄ΠΈ Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ. Π‘ΠΎΠ·Π΄Π°Π²Π° Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΡΠ΅Π»ΠΈ Π½Π° Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°:
# withdraw log: withdraw_user_txid=amount:timestamp
ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°
ΠΠ»Π°Π²Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° affiliate.js, ΠΊΠΎΡΠ° Π΅ ΠΌΠΎΡΡ ΠΏΠΎΠΌΠ΅ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π½Π° affiliate ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ WAVES NODE REST API. Π‘ΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π° Π½ΠΈΠ²ΠΎ Π½Π° Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΎ ΠΎΠ΄ ΡΠ°ΠΌΠΊΠ°ΡΠ° (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΠ΅ Π±ΠΈΠ»ΠΎ). ΠΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Ρ ΡΠ΅, ΠΏΠΎΠ²Π»Π΅ΡΠ΅Ρ) ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ Π΄Π΅ΠΊΠ° Waves Keeper Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΡΠ°ΠΌΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠΎΠ°;
Π‘ΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ:
fetchReferralTransactions
fetchWithdrawTransactions
fetchMyBalance
fetchReferrals
fetchReferer
withdraw
register
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π΅ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½Π° ΠΎΠ΄ ΠΈΠΌΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈ Π²ΡΠ°ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ. Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ° Π±Π°ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ - Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΡΠΈΠΊΠ»ΡΡ Π½Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, ΡΠ°ΠΊΠ° ΡΡΠΎ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π½Π° 123 - ΠΎΠ²Π° Π΅ PoW-captcha ΠΎΠΏΠΈΡΠ°Π½Π° ΠΏΠΎΠ³ΠΎΡΠ΅, ΠΊΠΎΡΠ° ΡΡΠΈΡΠΈ ΠΎΠ΄ ΠΌΠ°ΡΠΎΠ²Π½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π½Π°ΠΎΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π½Π°ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°, Π° ΠΏΠΎΡΠΎΠ° ΡΠ° ΠΏΠΎΡΠΏΠΈΡΡΠ²Π° ΠΏΡΠ΅ΠΊΡ Waves Keeper.
DEX affiliate ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ½Π° Π½Π°
ΠΠ·Π²ΠΎΡ: www.habr.com