Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ Π½Π° всички!

БъвсСм наскоро Waves Labs анонсира обяви конкурс Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ с пусканСто Π½Π° тСстовата ΠΌΡ€Π΅ΠΆΠ° Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° смарт ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ RIDE Π·Π° Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ прилоТСния Ride4Dapps!

Π˜Π·Π±Ρ€Π°Ρ…ΠΌΠ΅ случая DAO, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ventuary ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π° с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° dApp със социални Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: гласуванС, Π½Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° срСдства, Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Ρ€.
Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ с прост ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Q&A сСсията ΠΈ Π² RIDE IDE β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΎΠ±Ρ‰ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ».

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·ΠΈΡ‚Π΅ ΠΈ Π΄Π° обсъдим някои странности:

НСка ΠΈΠΌΠ°ΠΌΠ΅ Alice β€” собствСник Π½Π° dApp
Boob ΠΈ Cooper β€” ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ Π½Π° Alice, ΡΡŠΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Alice-BC DAO
Neli β€” собствСник Π½Π° бизнСс, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ финансиранС
Bank β€” Π±Π°Π½ΠΊΠ°, която Ρ€Π°Π·Π΄Π°Π²Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΈ

Π•Ρ‚Π°ΠΏ 1. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° салдата

Π—Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Π² тСстовата ΠΌΡ€Π΅ΠΆΠ° waves, Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ към faucet ΠΈ Π΄Π° посочим адрСса, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ.
ΠΠ΄Ρ€Π΅ΡΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ Π² IDE, Π°ΠΊΠΎ Ρ€Π°Π·ΠΊΡ€ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°.
ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡΠΌΠ΅ Π½Π° Bank 10 WAVES. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° провСрявамС, Π΄Π°Π»ΠΈ Ρ‚Π΅ са ΠΏΠΎΡΡ‚ΡŠΠΏΠΈΠ»ΠΈ ΠΏΡ€Π΅Π· Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΈ транзакционния Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»: Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»

Π‘Π΅Π³Π° Π΄Π° Ρ€Π°Π·Π΄Π°Π΄Π΅ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ ΠΎΡ‚ Π±Π°Π½ΠΊΠ°Ρ‚Π° Π½Π° останалитС участници. (Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Всички Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° waves Π½Π΅ са Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ, Π·Π°Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π΅Π½ баланс ΠΏΡ€ΠΈ всички участници, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ).

1 WAVES = 100000000 Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ (wavelets), Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ сумитС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ само Ρ†Π΅Π»ΠΈ числа.
0.01 WAVES (такса Π·Π° транзакция) = 1000000

Bank -> [3 WAVES] -> Alice, Ρ‡Ρ€Π΅Π· TransferTransaction (Π’ΠΈΠΏ: 4).

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅, Ρ‡Π΅ env.SEED, с ΠΊΠΎΠΉΡ‚ΠΎ сС подписват Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅, съвпада с нашия Bank:
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)
οΏΌ
Ако няматС ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰Π° seed Ρ„Ρ€Π°Π·Π°, просто ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π΅Ρ‚Π΅ Π½Π° нСя Π² Ρ€Π°Π·Π΄Π΅Π»Π° Accounts ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ.
Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° създавамС, анонсирамС ΠΈ подписвамС транзакция Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° 3 WAVES Π½Π° Alice.
Π”Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° Alice ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²Π·Π΅Ρ‚ΠΈ ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° env.accounts. НомСрацията Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΎΡ‚ 0, слСдоватСлно Alice Π΅ env.accounts[1].
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС наблюдава ΠΈ Π² Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ½ΠΊΡŠΡ‚ към Π½Π΅Π³ΠΎ Ρ‰Π΅ бъдС Π²ΡŠΡ€Π½Π°Ρ‚ Π²Π΅Π΄Π½Π°Π³Π° слСд ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° транзакцията.

Π£Π±Π΅Π΄Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Π±Π°Π»Π°Π½ΡΡŠΡ‚ Π½Π° Alice Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ с 3 WAVES, Π° Π² баланса Π½Π° Π±Π°Π½ΠΊΠ°Ρ‚Π° остава 10 β€” 3 β€” 0.01 = 0.699.
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π˜Π·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ ΠΏΠΎ 3 WAVES Π½Π° Boob ΠΈ Cooper, Π° Π½Π° Neli, Xena ΠΈ Mark ΠΏΠΎ 0.2 WAVES ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½.
(Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: ДопуснахмС Π³Ρ€Π΅ΡˆΠΊΠ° с Π΅Π΄ΠΈΠ½ Π·Π½Π°ΠΊ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ…ΠΌΠ΅ Π½Π° Neli 0.02 WAVES. Π‘ΡŠΠ΄Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ!)

broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))

Π‘Π»Π΅Π΄ ΠΏΠΎΠΏΡŠΠ»Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° баланситС Π½Π° всички участници, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅:
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π•Ρ‚Π°ΠΏ 2. БъздаванС Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚ Π·Π° dApp

Π‘ΡŠΠ³Π»Π°ΡΠΈΡ…ΠΌΠ΅ сС, Ρ‡Π΅ ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΡΡ‚ ΠΈ собствСник Π½Π° Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‰Π΅ бъдС Алиса.
Π’ Accounts ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΈ я настройвамС ΠΊΠ°Ρ‚ΠΎ SEED ΠΈ провСрявамС Π΄Π°Π»ΠΈ env.SEED ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° Алиса.

НСка ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° инсталирамС Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° Алиса Π½Π°ΠΉ-простия скрипт (ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚) възмоТСн.
Π‘ΠΌΠ°Ρ€Ρ‚-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈΡ‚Π΅ Π² Waves са ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ забраняват ΠΈΠ»ΠΈ позволяват ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ‚ΠΈΠΏ изходяща транзакция ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ условия. Π’ случая Ρ‚ΠΎΠ²Π° условиС Π΅ ALWAYS. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° Π΅ true. ИзвиквамС deploy().

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Ваксата Π·Π° транзакция setScript Π΅ 1400000/100000000 = 0.014 WAVES. Алиса остава с баланс 2.986 WAVES.

Π‘Π΅Π³Π° Ρ‰Π΅ ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° инсталирамС Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° Алиса ΠΏΠΎ-слоТна Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°, описана Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°

Ride4Dapps сСга Π²ΠΊΠ»ΡŽΡ‡Π²Π° 2 Π½ΠΎΠ²ΠΈ Ρ‚ΠΈΠΏΠ° Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ:

  1. @Callable(i) β€” ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ i, информация Π·Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π»/подписал транзакцията. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ функция опрСдСля промяната Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°. Π”Ρ€ΡƒΠ³ΠΈ Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Ρ‚Π°Π·ΠΈ анотация ΠΈ Π΄Π° промСнят ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°.
  2. @Verifier(tx) β€” Π’Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° транзакцията с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° tx Π½Π° транзакцията. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ RIDE. ИмСнно Π² Ρ‚ΠΎΠ²Π° изразяванС ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ Π·Π°Π±Ρ€Π°Π½Π΅Π½ΠΎ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°.

НСка Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Ρ‰ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ» Π·Π° всички участници.
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π—Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π² блоковия Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ base64 ΠΊΠΎΠ΄Π° Π½Π° смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° ΠΈ Π΄Π° Π³ΠΎ Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΠΏΡ€Π΅Π· Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€)
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π£Π±Π΅Π΄Π΅Π½ΠΈ смС, Ρ‡Π΅ Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° очакванията Π½ΠΈ.
Алиса остава с баланс 2.972 WAVES.

Π’ΠΎΠ·ΠΈ dApp Π²ΠΎΠ΄ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎ всСки ΠΎΡ‚ участницитС внася Π² общия Ρ„ΠΎΠ½Π΄ Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° data transaction β€” DataEntry(currentKey, newAmount), ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ currentKey Π΅ Π°ΠΊΠ°ΡƒΠ½Ρ‚ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π° функцията deposit, Π° newAmount Π΅ сумата Π½Π° попълнСния баланс.

Π‘ΠΎΠ± ΠΈ ΠšΡƒΠΏΡŠΡ€ внасят своитС Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΈ Π² dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΏΠΎ 1 WAVES.
Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

ДопуснахмС Π³Ρ€Π΅ΡˆΠΊΠ° ΠΈ транзакцията Π½Π΅ ΠΌΠΈΠ½Π°Π²Π°. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ сС ΡƒΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ транзакцията ΠΎΡ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π‘ΠΎΠ±, ΡΠ±ΡŠΡ€ΠΊΠ°Ρ…ΠΌΠ΅ индСкса ΠΈ посочихмС Π°ΠΊΠ°ΡƒΠ½Ρ‚ Π‘Π°Π½ΠΊΠ°, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ няма смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚. Π’ΡƒΠΊ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Π·Π° Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ таксата Π½Π΅ сС ΡƒΠ΄ΡŠΡ€ΠΆΠ°! Алиса остава с баланс 2.972 WAVES. Π‘ΠΎΠ± 3 WAVES.

Π‘ΠΎΠ± ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ 1 WAVES Π½Π° dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°.

broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

На Bob остават 1.99 WAVES. ВоСст Bob Π΅ ΠΏΠ»Π°Ρ‚ΠΈΠ» 0.01 WAVES такса.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

На баланса Π½Π° Алиса имашС 2.972 WAVES, стана 3.972. На Π°ΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° Alice ΡΡŠΡ‰ΠΎ Π΅ рСгистрирана транзакция, ΠΎΠ±Π°Ρ‡Π΅ Π·Π° dApp Π°ΠΊΠ°ΡƒΠ½Ρ‚Π° (Alice) Π½Π΅ Π΅ Π²Π·Π΅Ρ‚Π° такса.
Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Cooper ΡΡŠΡ‰ΠΎ попълни смСтката, Π½Π° баланса Π½Π° Алиса стана 4.972 WAVES.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° Ρ‚ΠΎΠ²Π°, Π½Π° ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΊΠΎ WAVES ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ Π² общия ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ», ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС видяна Π² блоковия Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ Π² Ρ‚Π°Π±Π° Data.

Cooper сС ΠΎΡ‚ΠΊΠ°Π·Π° Π΄Π° остави сума ΠΎΡ‚ 1 WAVES Π² общия ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ» ΠΈ Ρ€Π΅ΡˆΠΈ Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° срСдства. Π—Π° Ρ‚ΠΎΠ²Π° Ρ‚ΠΎΠΉ трябва Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ° функцията withdraw.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

ΠžΠ±Π°Ρ‡Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ сС ΠΎΠ±ΡŠΡ€ΠΊΠ°Ρ…ΠΌΠ΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ функцията withdraw ΠΈΠΌΠ° съвсСм Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, Π΄Ρ€ΡƒΠ³Π° сигнатура. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Π½Π° RIDE4DAPPS, трябва Π΄Π° ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

На баланса Π½Π° Cooper стана 2.48 WAVES. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ 3 WAVES β€” 1 β€” 0.01, Π° слСд Ρ‚ΠΎΠ²Π° + 0.5 β€” 0.01. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ всСки ΠΏΠΎΠ²ΠΈΠΊ Π½Π° deposit ΠΈ withdraw струва 0.01 WAVES. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π½Π° собствСницитС Π½Π° dApps записитС сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ…Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Bob ΡΡŠΡ‰ΠΎ Ρ€Π΅ΡˆΠΈ Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ някаква сума ΠΎΡ‚ общия ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ», Π½ΠΎ ΡΠ³Ρ€Π΅ΡˆΠΈ ΠΈ сС ΠΎΠΏΠΈΡ‚Π° Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ 1.5 WAVES.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

ΠžΠ±Π°Ρ‡Π΅ Π² смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° имашС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π° Ρ‚Π°ΠΊΠ°Π²Π° ситуация.

Xena β€” мошСник, ΠΎΠΏΠΈΡ‚Π° Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ 1 WAVES ΠΎΡ‚ ΠΎΠ±Ρ‰Π°Ρ‚Π° смСтка.

Π£Ρ‡ΠΈΠΌ сС Π΄Π° пишСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΈ Waves Π½Π° RIDE ΠΈ RIDE4DAPPS. Част 1 (ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»)

Вя ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½Π΅ успя.

Π’ слСдващата част Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-слоТни ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π΅ΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Ρ‚Π° Π½Π° Alice dApp Account.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster