Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Hemûyan re merheba!

Herî dawî, Waves Labs ragihand pêşbaziya ji bo pêşdebiran ku ji bo berdana dirêjkirina zimanê peymana hişmend RIDE ji bo serîlêdanên nenavendî Ride4Dapps di nav tora ceribandinê de hatî veqetandin!

Me doza DAO hilbijart ji ber ku Ventuary plan dike ku dApps bi fonksiyonên civakî pêşve bibe: dengdan, berhevkirina drav, rêveberiya pêbaweriyê, hwd.
Me bi mînakek hêsan dest pê kir danişînên Q & A û di RIDE IDE - mînak bi berîka hevpar.

Ka em li vê nimûneyê binêrin, hîpotezan biceribînin û li hin xerîban binêrin:

Bila Alice - Xwediyê dAppê hebe
Boob û Cooper hevkarên Alice, hev-damezrînerên Alice-BC DAO ne
Nelî xwediyê karsaziyek e ku hewceyê fînansê ye
Bank - bankek ku nîşanan belav dike

Qonaxa 1. Destpêkirina hevsengiyan

Ji bo ku hûn nîşanekan li ser tora ceribandina pêlan bistînin, hûn hewce ne ku têkilî daynin kanîk û navnîşana ku nîşanan bişînin destnîşan bikin.
Hûn dikarin navnîşana di IDE-ê de bi vekirina hûrguliyên hesabê xwe bibînin.
Em Bank 10 WAVES ronî dikin. Dûv re em kontrol dikin ku ew bi geroka blok û danûstendinê gihîştine: reviewer

Naha em nîşanekan ji bankê li beşdarên mayî belav bikin. (Têbînî: Hemî danûstendinên li ser tora pêlan ne belaş in, ji ber vê yekê balansek erênî ya herî kêm hewce ye ku hemî beşdaran danûstendinan bikin).

1 WAVES = 100000000 yekîneyên (pêl), ji ber ku mîqdar tenê dikarin jimarek bêkêmasî bin
0.01 WAVES (Heqê Danûstendinê) = 1000000

Bank -> [3 WAVES] -> Alice, bi rêya TransferTransaction (Tîp: 4).

Em kontrol dikin ku env.SEED ya ku danûstendinên jê têne îmze kirin bi Bankeya me re têkildar e:
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Ger hevokek tovê lihevhatî tune be, tenê di tabloya Hesaban de biguherînin û dîsa kontrol bikin.
Piştî vê yekê, em ji bo veguheztina 3 WAVES Alice danûstendinek diafirînin, ragihandin û îmze dikin.
Her weha hûn dikarin daneyên Alice bi navgîniya guhêrbar env.accounts bibînin. Jimarkirin ji 0 dest pê dike, lewra Alice env.accounts[1] ye.
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

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

Encam dikare di gerokê de jî were dîtin, girêdanek jê re dê tavilê piştî darvekirinê ji me re were vegerandin muamele.

Em piştrast dikin ku balansa Alice ji hêla 3 WAVES ve tê dagirtin, û balansa bankê li 10 - 3 - 0.01 = 0.699 dimîne.
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Em her yek Boob û Cooper 3 WAVES, û Neli, Xena û Mark 0.2 WAVES her yek bi heman rengî dişînin.
(Têbînî: Me xeletiyek yek karakter çêkir û Neli 0.02 WAVES şandin. Hişyar bin!)

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

Piştî dagirtina hevsengiyên hemî beşdaran, em dibînin:
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Qonaxa 2. Hesabek dApp çêbikin

Me li hev kir ku Alice dê bibe afirîner û xwedan serîlêdana nenavendî.
Herin Hesaban, wê wekî SEED saz bikin û lihevhatina env.SEED Alice kontrol bikin.

Ka em hewl bidin ku li ser hesabê Alice skrîpta herî hêsan (peyman) saz bikin.
Têkiliyên biaqil ên di Waves de pêşdaraz in ku her cûre danûstendina derketinê di bin hin mercan de qedexe dikin an dihêlin. Di vê rewşê de, ev şert HERDEM e. Koda peymanê rast e. Banga deploy().

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Xerca her danûstendina setScript 1400000/100000000 = 0.014 PÊL. Li ser hevsengiya wê Alice 2.986 PÊL hene.

Ka em naha hewl bidin ku li ser hesabê Alice, ku tê de hatî destnîşan kirin, mantiqa peymana hişmend a tevlihevtir saz bikin mînak

Ride4Dapps naha 2 celebên annotasyonê yên nû vedihewîne:

  1. @Callable(ez) - wekî parameter i, daneyên li ser kîjan hesabê ku danûstendinê gazî kiriye/îmza kiriye digire. Ew encama vê fonksiyonê ye ku guhartina di rewşa hesabê dApp de diyar dike. Hesabên din dikarin bi vê annotationê ve danûstandinan biafirînin û fonksiyonan bikin û rewşa hesabê dApp biguhezînin.
  2. @Verifier(tx) - Verastkera danûstendinê bi parametreya tx-ya danûstendinê. Bi mantiqa pêşdarazê ya RIDE re têkildar e. Di vê gotinê de ye ku hûn dikarin guheztinên din ên mantiqa peymanên biaqil ên li ser hesabê dApp-ê destûr bidin an qedexe bikin.

Werin em bikin dApp hesab ji bo hemî beşdaran wekî walletek hevpar.
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Ji bo ku hûn kontrol bikin ka kîjan peyman niha li ser hesabê we çalak e, hûn dikarin koda bingehîn64 ya peymana jîr di nav lêkolerê blokê de kopî bikin û bi karanîna decompiler nas bikin (bo nimûne)
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Em piştrast dikin ku mantiqa peymana biaqil bi ya ku em hêvî dikin li hev dike.
Alice li ser hevsengiya wê 2.972 PÊL mane.

Ev dApp dişopîne ka her beşdarek bi mekanîzmayek çiqas beşdarî fona hevpar dibe danûstendina daneyê - Ketina Daneyê (Kîpa niha, Hejmara nû), ku currentKey ew hesabê ye ku gazî fonksiyona depoyê dike, û newAmount nirxa hevsengiya dagirtî ye.

Boob û Cooper bi 1 WAVES ve depoyên xwe didin hesabê dApp.
Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Em xeletiyekê dikin û danûstandin derbas nabe. Ji ber ku, tevî ku em pê bawer bûn ku em li ser navê Bob danûstendinê dikin, me di navnîşan de xeletiyek kir û hesabek Bankê ya ku peymanek jîr nîne destnîşan kir. Hêjayî balkişandinê ye li vir xalek girîng - ji bo hewldanên neserkeftî yên destpêkirina danûstendinan xercek heye nayê rakirin! Alice li ser hevsengiya wê 2.972 PÊL mane. Bob 3 PÊL hene.

Bob 1 WAVES ji Hesabê dApp re şand.

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

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Bob heye 1.99 WAVES maye. Ango, Bob 0.01 komîsyona WAVES da

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Alice li ser hevsengiya wê 2.972 PÊL hebûn, niha ew 3.972 ye. Li ser hesabê Alice jî danûstendinek hate tomar kirin, lê ji Hesabê dApp (Alice) komîsyonek nehat barkirin.
Piştî ku Cooper jî hesabê nû da, balansa Alice bû 4.972 WAVES.

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Hûn dikarin di tabloya Daneyê de di geroka blokê de zanibin ku xwediyê çend WAVES di berîka hevpar de ye.

Cooper hişê xwe guhert ku mîqdara 1 WAVES li ser berîka giştî bihêle û biryar da ku nîvê hevbendiyê vekişîne. Ji bo vê yekê, divê ew fonksiyona vekişînê bang bike.

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Lêbelê, em dîsa xelet bûn, ji ber ku fonksiyona vekişînê bi tevahî pîvanên cûda û îmzeyek cûda heye. Dema ku hûn li ser RIDE4DAPPS peymanên biaqil sêwirînin divê hûn bala xwe bidin vê xalê

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Cooper niha di bîlançoya xwe de 2.48 WAVES heye. Li gorî vê yekê, 3 WAVES - 1 - 0.01, û paşê + 0.5 - 0.01. Li gorî vê yekê, her bangek ji bo depokirin û vekişandinê 0.01 WAVES lêçû. Wekî encamek, navnîşên di tabloya xwedan dApps de wiha guherî.

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Bob jî biryar da ku hinek pere ji berîka hevpar vekişîne, lê xeletiyek kir û hewl da ku 1.5 WAVES vekişîne.

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Lêbelê, peymana hişmend ji bo vê rewşê kontrolek hebû.

Xena xapînokek e, wê hewl da ku 1 WAVES ji hesabê giştî vekişîne.

Fêrbûna nivîsandina peymanên jîr ên Waves li ser RIDE û RIDE4DAPPS. Beş 1 (Baletê pir-bikarhêner)

Ji wê re jî bi ser neket.

Di beşa paşîn de, em ê li pirsgirêkên tevlihevtir ên ku bi bêkêmasîbûna Hesabê Alice dApp ve girêdayî ne binêrin.

Source: www.habr.com

Add a comment