ืชื•ื›ื ื™ืช ืฉื•ืชืคื™ื ืžื‘ื•ื–ืจืช ื‘ืงื•ื“ ืคืชื•ื— ื‘-Waves blockchain

ืชื•ื›ื ื™ืช ืฉื•ืชืคื™ื ืžื‘ื•ื–ืจืช ื‘-Waves blockchain, ื”ืžื™ื•ืฉืžืช ื›ื—ืœืง ืžืžืขื ืง Waves Labs ืขืœ ื™ื“ื™ ืฆื•ื•ืช Bettex.

ื”ืคื•ืกื˜ ืื™ื ื• ืคืจืกื•ืžื™! ื”ืชื•ื›ื ื” ื”ื™ื ื‘ืงื•ื“ ืคืชื•ื—, ื”ืฉื™ืžื•ืฉ ื•ื”ื”ืคืฆื” ืฉืœื” ื‘ื—ื™ื ื. ื”ืฉื™ืžื•ืฉ ื‘ืชื•ื›ื ื™ืช ืžืžืจื™ืฅ ืืช ื”ืคื™ืชื•ื— ืฉืœ ืืคืœื™ืงืฆื™ื•ืช dApp ื•ื‘ืื•ืคืŸ ื›ืœืœื™ ืžืงื“ื ื‘ื™ื–ื•ืจ, ืžื” ืฉืžื•ืขื™ืœ ืœื›ืœ ืžืฉืชืžืฉ ืื™ื ื˜ืจื ื˜.

ืชื•ื›ื ื™ืช ืฉื•ืชืคื™ื ืžื‘ื•ื–ืจืช ื‘ืงื•ื“ ืคืชื•ื— ื‘-Waves blockchain

ื”-dApp ื”ืžื•ืฆื’ ืœืชื•ื›ื ื™ื•ืช ืฉื•ืชืคื™ื ื”ื™ื ืชื‘ื ื™ืช ืœืคืจื•ื™ืงื˜ื™ื ื”ื›ื•ืœืœื™ื ืฉื•ืชืคื™ื ื›ื—ืœืง ืžื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœื”ื. ื”ืงื•ื“ ื™ื›ื•ืœ ืœืฉืžืฉ ื›ืชื‘ื ื™ืช ืœื”ืขืชืงื”, ื›ืกืคืจื™ื™ื”, ืื• ื›ืกื˜ ืฉืœ ืจืขื™ื•ื ื•ืช ืœื™ื™ืฉื•ื ื˜ื›ื ื™.

ืžื‘ื—ื™ื ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, ืžื“ื•ื‘ืจ ื‘ืžืขืจื›ืช ืฉื•ืชืคื™ื ืจื’ื™ืœื” ื”ืžื™ื™ืฉืžืช ืจื™ืฉื•ื ืขื ืžืคื ื”, ืฆื‘ื™ืจืช ืชื’ืžื•ืœื™ื ืจื‘-ืฉื›ื‘ื™ืช ืœื”ืคื ื™ื•ืช ื•ื”ื ืขื” ืœืจื™ืฉื•ื ื‘ืžืขืจื›ืช (ืงืืฉื‘ืง). ื”ืžืขืจื›ืช ื”ื™ื dApp "ื˜ื”ื•ืจื”", ื›ืœื•ืžืจ, ืืคืœื™ืงืฆื™ื™ืช ื”ืื™ื ื˜ืจื ื˜ ืžืงื™ื™ืžืช ืื™ื ื˜ืจืืงืฆื™ื” ื™ืฉื™ืจื” ืขื ื”ื‘ืœื•ืงืฆ'ื™ื™ืŸ, ืœืœื ืงืฆื” ืื—ื•ืจื™ ืžืฉืœื”, ืžืกื“ ื ืชื•ื ื™ื ื•ื›ื•'.

ื˜ื›ื ื™ืงื•ืช ื‘ืฉื™ืžื•ืฉ ืฉื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ื•ืช ื’ื ื‘ืคืจื•ื™ืงื˜ื™ื ืจื‘ื™ื ืื—ืจื™ื:

  • ืงืจื™ืืช ื—ืฉื‘ื•ืŸ ื—ื›ื ืœื—ื•ื‘ื•ืช ืขื ืคื™ืจืขื•ืŸ ืžื™ื™ื“ื™ (ื‘ื–ืžืŸ ื”ืฉื™ื—ื” ืื™ืŸ ืืกื™ืžื•ื ื™ื ื‘ื—ืฉื‘ื•ืŸ ืœืชืฉืœื•ื ืขื‘ื•ืจ ื”ืฉื™ื—ื”, ืืš ื”ื ืžื•ืคื™ืขื™ื ืฉื ื‘ืขืงื‘ื•ืช ื”ืฉื™ื—ื”).
  • PoW-captcha - ื”ื’ื ื” ืžืคื ื™ ืงืจื™ืื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื” ืœืคื•ื ืงืฆื™ื•ืช ื—ืฉื‘ื•ืŸ ื—ื›ื - ืื ืœื•ื’ื™ ืœ-captcha, ืืš ื‘ืืžืฆืขื•ืช ื”ื•ื›ื—ื” ืœืฉื™ืžื•ืฉ ื‘ืžืฉืื‘ื™ ืžื—ืฉื•ื‘.
  • ืฉืื™ืœืชื” ืœืžืคืชื—ื•ืช ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ืชื‘ื ื™ืช.

ื”ื‘ืงืฉื” ืžื•ืจื›ื‘ืช ืž:

  • ืงื•ื“ ื—ืฉื‘ื•ืŸ ื—ื›ื ื‘ืฉืคืช ride4dapps (ืืฉืจ, ื›ืžืชื•ื›ื ืŸ, ืžื•ื–ื’ ืœื—ืฉื‘ื•ืŸ ื”ื—ื›ื ื”ืจืืฉื™ ืฉืขื‘ื•ืจื• ื™ืฉ ืœื™ื™ืฉื ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉื•ืชืคื™ื);
  • ืขื˜ื™ืคื” js ื”ืžื™ื™ืฉืžืช ืจืžืช ื”ืคืฉื˜ื” ืขืœ ืคื ื™ WAVES NODE REST API;
  • ืงื•ื“ ืขืœ ื”ืžืกื’ืจืช vuejs, ืฉื”ื™ื ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื™ื” ื•ื‘ืงื•ื“ RIDE.

ื”ื‘ื” ื ืชืืจ ืืช ื›ืœ ื”ืชื›ื•ื ื•ืช ื”ืžืคื•ืจื˜ื•ืช.

ืงืจื™ืื” ืœื—ืฉื‘ื•ืŸ ื—ื›ื ืœื—ื•ื‘ื•ืช ืขื ืคื™ืจืขื•ืŸ ืžื™ื™ื“ื™

ืงืจื™ืื” ืœ-InvokeScript ื“ื•ืจืฉืช ืชืฉืœื•ื ืฉืœ ืขืžืœื” ืžื”ื—ืฉื‘ื•ืŸ ืฉื™ื–ื ืืช ื”ืขืกืงื”. ื–ื• ืœื ื‘ืขื™ื” ืื ืืชื” ืขื•ืฉื” ืคืจื•ื™ืงื˜ ืœื’ื™ืงื™ื ืฉืœ ื‘ืœื•ืงืฆ'ื™ื™ืŸ ืฉื™ืฉ ืœื”ื ื›ืžื•ืช ืžืกื•ื™ืžืช ืฉืœ ืืกื™ืžื•ื ื™ WAVES ืขืœ ื—ืฉื‘ื•ื ื, ืื‘ืœ ืื ื”ืžื•ืฆืจ ืžื›ื•ื•ืŸ ืœืฉื™ืžื•ืฉ ืขืœ ื™ื“ื™ ื”ืฆื™ื‘ื•ืจ ื”ืจื—ื‘, ื–ื” ื”ื•ืคืš ืœื‘ืขื™ื” ืจืฆื™ื ื™ืช. ื”ืจื™ ืขืœ ื”ืžืฉืชืžืฉ ืœื“ืื•ื’ ืœืจื›ื™ืฉืช ืืกื™ืžื•ื ื™ WAVES (ืื• ื ื›ืก ืžืชืื™ื ืื—ืจ ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืœืชืฉืœื•ื ืขืกืงืื•ืช), ืžื” ืฉืžื’ื“ื™ืœ ืืช ืžื—ืกื•ื ื”ื›ื ื™ืกื” ื”ื ื™ื›ืจ ืžืžื™ืœื ืœืคืจื•ื™ืงื˜. ืื ื• ื™ื›ื•ืœื™ื ืœื”ืคื™ืฅ ื ื›ืก ืœืžืฉืชืžืฉื™ื ืฉื™ื•ื›ืœื• ืœืฉืœื ืขื‘ื•ืจ ืขืกืงืื•ืช ื•ืœื”ืชืžื•ื“ื“ ืขื ื”ืกื™ื›ื•ืŸ ืฉืœ ืฉื™ืžื•ืฉ ืœืจืขื” ื‘ื”ื ื›ืืฉืจ ื ื•ืฆืจื•ืช ืžืขืจื›ื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช ืœืฉืื™ื‘ืช ื ื›ืก ื ื–ื™ืœ ืžื”ืžืขืจื›ืช ืฉืœื ื•.

ื–ื” ื™ื”ื™ื” ืžืื•ื“ ื ื•ื— ืื ืืคืฉืจ ื”ื™ื” ืœืงืจื•ื ืœ-InvokeScript "ืขืœ ื—ืฉื‘ื•ืŸ ื”ื ืžืขืŸ" (ื”ื—ืฉื‘ื•ืŸ ื”ื—ื›ื ืขืœื™ื• ืžื•ืชืงืŸ ื”ืกืงืจื™ืคื˜), ื•ืงื™ื™ืžืช ืืคืฉืจื•ืช ื›ื–ื•, ืื ื›ื™ ืœื ื‘ืื•ืคืŸ ื‘ืจื•ืจ.

ืื ื‘ืชื•ืš InvokeScript ืืชื” ืžื‘ืฆืข ScriptTransfer ืœื›ืชื•ื‘ืช ื”ืžืชืงืฉืจ, ืืฉืจ ืžืคืฆื” ืขืœ ืืกื™ืžื•ื ื™ ื”ืขืžืœื” ืฉื”ื•ืฆืื•, ืื– ืฉื™ื—ื” ื›ื–ื• ืชืฆืœื™ื—, ื’ื ืื ื‘ื–ืžืŸ ื”ืฉื™ื—ื” ืœื ื”ื™ื• ื ื›ืกื™ื ื‘ื—ืฉื‘ื•ืŸ ื”ืžืชืงืฉืจ. ื”ื“ื‘ืจ ืืคืฉืจื™ ืžื›ื™ื•ื•ืŸ ืฉื”ื‘ื“ื™ืงื” ืœืžืกืคื™ืง ืืกื™ืžื•ื ื™ื ืžืชื‘ืฆืขืช ืœืื—ืจ ืงืจื™ืืช ื”ืขืกืงื”, ื•ืœื ืœืคื ื™ื”, ื›ืš ืฉื ื™ืชืŸ ืœื‘ืฆืข ืขืกืงืื•ืช ื‘ืืฉืจืื™ ื‘ื›ืคื•ืฃ ืœืคื™ืจืขื•ืŸ ืžื™ื™ื“ื™.

ScriptTransfer(i.caller, i.fee, unit)

ื”ืงื•ื“ ืฉืœื”ืœืŸ ืžื—ื–ื™ืจ ืืช ื”ืขืžืœื” ืฉื”ื•ืฆืื” ื‘ืืžืฆืขื•ืช ื›ืกืคื™ ื—ืฉื‘ื•ืŸ ื—ื›ื. ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืฉื™ืžื•ืฉ ืœืจืขื” ื‘ืชื›ื•ื ื” ื–ื•, ื™ืฉ ืฆื•ืจืš ืœื”ืฉืชืžืฉ ื‘ื”ืžื—ืื” ืฉื”ืžืชืงืฉืจ ืžื•ืฆื™ื ืืช ื”ืขืžืœื” ื‘ื ื›ืก ื”ื ื“ืจืฉ ื•ื‘ืžื’ื‘ืœื•ืช ืกื‘ื™ืจื•ืช:

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

ืขืฆื ื”ืจืขื™ื•ืŸ ืฉืœ captcha ื”ื•ื›ื—ืช ืขื‘ื•ื“ื” ืื™ื ื• ื—ื“ืฉ ื•ื›ื‘ืจ ื™ื•ืฉื ื‘ืคืจื•ื™ืงื˜ื™ื ืฉื•ื ื™ื, ื›ื•ืœืœ ืืœื• ืฉื™ื•ืฉืžื• ืขืœ ื‘ืกื™ืก WAVES. ื”ืจืขื™ื•ืŸ ื”ื•ื ืฉื›ื“ื™ ืœื‘ืฆืข ืคืขื•ืœื” ืฉืฆื•ืจื›ืช ืืช ื”ืžืฉืื‘ื™ื ืฉืœ ื”ืคืจื•ื™ืงื˜ ืฉืœื ื•, ืขืœ ื”ืžืชืงืฉืจ ืœื‘ื–ื‘ื– ื’ื ืืช ื”ืžืฉืื‘ื™ื ืฉืœื•, ืžื” ืฉืžื™ื™ืงืจ ืœืžื“ื™ ื”ืชืงืคืช ื“ืœื“ื•ืœ ืžืฉืื‘ื™ื. ืœืื™ืžื•ืช ืงืœื” ืžืื•ื“ ื•ื‘ืขืœื•ืช ื ืžื•ื›ื” ืฉืฉื•ืœื— ื”ืขืกืงื” ืคืชืจ ืืช ื‘ืขื™ื™ืช PoW, ื™ืฉ ื‘ื“ื™ืงืช ืžื–ื”ื” ืขืกืงื”:

if take(toBase58String(i.transactionId), 3) != "123" then throw("ื”ื•ื›ื—ืช ืขื‘ื•ื“ื” ื ื›ืฉืœื”") else

ืขืœ ืžื ืช ืœื‘ืฆืข ืขืกืงื”, ืขืœ ื”ืžืชืงืฉืจ ืœื‘ื—ื•ืจ ืคืจืžื˜ืจื™ื ื›ืืœื” ื›ืš ืฉืงื•ื“ ื”-base58 (id) ืฉืœื• ื™ืชื—ื™ืœ ื‘ืžืกืคืจื™ื 123, ื”ืžืชืื™ื ื‘ืžืžื•ืฆืข ืœื›ืžื” ืขืฉืจื•ืช ืฉื ื™ื•ืช ืฉืœ ื–ืžืŸ ืžืขื‘ื“ ื•ื‘ื“ืจืš ื›ืœืœ ืกื‘ื™ืจ ืœืžืฉื™ืžื” ืฉืœื ื•. ืื ื ื“ืจืฉ PoW ืคืฉื•ื˜ ื™ื•ืชืจ ืื• ืžื•ืจื›ื‘ ื™ื•ืชืจ, ื ื™ืชืŸ ืœืฉื ื•ืช ืืช ื”ืžืฉื™ืžื” ื‘ืงืœื•ืช ื‘ืฆื•ืจื” ื‘ืจื•ืจื”.

ืฉืื™ืœืชื” ืœืžืคืชื—ื•ืช ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ืชื‘ื ื™ืช

ืขืœ ืžื ืช ืœื”ืฉืชืžืฉ ื‘ื‘ืœื•ืงืฆ'ื™ื™ืŸ ื›ืžืกื“ ื ืชื•ื ื™ื, ื—ื™ื•ื ื™ ืฉื™ื”ื™ื• ื›ืœื™ API ืœืฉืื™ืœืชืช ืžืกื“ ื”ื ืชื•ื ื™ื ื›ืžืคืชื—ื•ืช ื”ืžื‘ื•ืกืกื™ื ืขืœ ืชื‘ื ื™ื•ืช. ืขืจื›ืช ื›ืœื™ื ื›ื–ื• ื”ื•ืคื™ืขื” ื‘ืชื—ื™ืœืช ื™ื•ืœื™ 2019 ื‘ืฆื•ืจืช ืคืจืžื˜ืจ ?ื”ืชืืžื•ืช ื‘ื‘ืงืฉืช REST API /addresses/data?matches=regexp. ื›ืขืช, ืื ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืงื‘ืœ ื™ื•ืชืจ ืžืžืคืชื— ืื—ื“ ืžืืคืœื™ืงืฆื™ื™ืช ืื™ื ื˜ืจื ื˜ ื•ืœื ืืช ื›ืœ ื”ืžืคืชื—ื•ืช ื‘ื‘ืช ืื—ืช, ืืœื ืจืง ืงื‘ื•ืฆื” ื›ืœืฉื”ื™, ืื– ื ื•ื›ืœ ืœื‘ื—ื•ืจ ืœืคื™ ืฉื ืžืคืชื—. ืœื“ื•ื’ืžื”, ื‘ืคืจื•ื™ืงื˜ ื–ื”, ืขืกืงืื•ืช ืžืฉื™ื›ื” ืžืงื•ื“ื“ื•ืช ื›

withdraw_${userAddress}_${txid}

ื”ืžืืคืฉืจ ืœืš ืœืงื‘ืœ ืจืฉื™ืžื” ืฉืœ ืขืกืงืื•ืช ืœืžืฉื™ื›ืช ื›ืกืคื™ื ืขื‘ื•ืจ ื›ืœ ื›ืชื•ื‘ืช ื ืชื•ื ื” ื‘ืืžืฆืขื•ืช ื”ืชื‘ื ื™ืช:

?matches=withdraw_${userAddress}_.*

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ืžืจื›ื™ื‘ื™ื ืฉืœ ื”ืคืชืจื•ืŸ ื”ืžื•ื’ืžืจ.

ืงื•ื“ Vuejs

ื”ืงื•ื“ ื”ื•ื ื”ื“ื’ืžื” ืขื•ื‘ื“ืช ืงืจื•ื‘ื” ืœืคืจื•ื™ืงื˜ ื”ืืžื™ืชื™. ื”ื•ื ืžื™ื™ืฉื ื›ื ื™ืกื” ื“ืจืš Waves Keeper ื•ืขื•ื‘ื“ ืขื ืกืคืจื™ื™ืช affiliate.js, ืื™ืชื” ื”ื•ื ืจื•ืฉื ืืช ื”ืžืฉืชืžืฉ ื‘ืžืขืจื›ืช, ืžื‘ืฆืข ืฉืื™ืœืชื•ืช ื‘ื ืชื•ื ื™ ืขืกืงืื•ืช, ื•ื’ื ืžืืคืฉืจ ืœืš ืœืžืฉื•ืš ื›ืกืคื™ื ืฉื”ืจื•ื•ื™ื—ื• ืœื—ืฉื‘ื•ืŸ ื”ืžืฉืชืžืฉ.

ืชื•ื›ื ื™ืช ืฉื•ืชืคื™ื ืžื‘ื•ื–ืจืช ื‘ืงื•ื“ ืคืชื•ื— ื‘-Waves blockchain

ืงื•ื“ ืขื‘ื•ืจ RIDE

ืžื•ืจื›ื‘ ืžืคื•ื ืงืฆื™ื•ืช ื”ืจื™ืฉื•ื, ื”ืžื™ืžื•ืŸ ื•ื”ืžืฉื™ื›ื”.

ืคื•ื ืงืฆื™ื™ืช ื”ืจื™ืฉื•ื ืจื•ืฉืžืช ืžืฉืชืžืฉ ื‘ืžืขืจื›ืช. ื™ืฉ ืœื• ืฉื ื™ ืคืจืžื˜ืจื™ื: ืžืคื ื” (ื›ืชื•ื‘ืช ืžืคื ื”) ื•ืคืจืžื˜ืจ salt, ืฉืื™ื ื• ื‘ืฉื™ืžื•ืฉ ื‘ืงื•ื“ ื”ืคื•ื ืงืฆื™ื”, ื”ื“ืจื•ืฉ ืœื‘ื—ื™ืจืช ืžื–ื”ื” ื”ืขืกืงื” (ืžืฉื™ืžื” PoW-captcha).

ื”ืคื•ื ืงืฆื™ื” (ื›ืžื• ืคื•ื ืงืฆื™ื•ืช ืื—ืจื•ืช ืžืคืจื•ื™ืงื˜ ื–ื”) ืžืฉืชืžืฉืช ื‘ื˜ื›ื ื™ืงืช ื”-debt call, ื”ืชื•ืฆืื” ืฉืœ ื”ืคื•ื ืงืฆื™ื” ื”ื™ื ืžื™ืžื•ืŸ ืชืฉืœื•ื ืขืžืœื” ืขื‘ื•ืจ ืงืจื™ืืช ืคื•ื ืงืฆื™ื” ื–ื•. ื”ื•ื“ื•ืช ืœืคืชืจื•ืŸ ื–ื”, ืžืฉืชืžืฉ ืฉื–ื” ืขืชื” ื™ืฆืจ ืืจื ืง ื™ื›ื•ืœ ืœืขื‘ื•ื“ ืžื™ื“ ืขื ื”ืžืขืจื›ืช ื•ืื™ื ื• ืฆืจื™ืš ืœื“ืื•ื’ ืœืจื›ื™ืฉื” ืื• ืงื‘ืœืช ื ื›ืก ื”ืžืืคืฉืจ ืœื• ืœืฉืœื ืขืžืœืช ืขืกืงื”.

ื”ืชื•ืฆืื” ืฉืœ ืคื•ื ืงืฆื™ื™ืช ื”ืจื™ืฉื•ื ื”ื™ื ืฉืชื™ ืจืฉื•ืžื•ืช:

${owner)_referer = referer
${referer}_referral_${owner} = owner

ื–ื” ืžืืคืฉืจ ื—ื™ืคื•ืฉ ืงื“ื™ืžื” ื•ืื—ื•ืจื” (ื”ืžืคื ื” ืฉืœ ืžืฉืชืžืฉ ื ืชื•ืŸ ื•ื›ืœ ื”ื”ืคื ื™ื•ืช ืฉืœ ืžืฉืชืžืฉ ื ืชื•ืŸ).

ืคื•ื ืงืฆื™ื™ืช ื”ืงืจืŸ ื”ื™ื ื™ื•ืชืจ ืชื‘ื ื™ืช ืœืคื™ืชื•ื— ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืืžื™ืชื™ืช. ื‘ืžืชื›ื•ื ืชื• ื”ืžื•ืฆื’ืช, ื”ื™ื ืœื•ืงื—ืช ืืช ื›ืœ ื”ื›ืกืคื™ื ืฉื”ื•ืขื‘ืจื• ื‘ืขืกืงื” ื•ืžื—ืœืงื” ืื•ืชื ืœื—ืฉื‘ื•ื ื•ืช ืฉืœ ืžืคื ื™ื ืžื“ืจื’ื•ืช 1, 2, 3, ืœื—ืฉื‘ื•ืŸ ื”"ืงืืฉื‘ืง" ื•ืœื—ืฉื‘ื•ืŸ ื”"ืฉื™ื ื•ื™" (ื›ืœ ืžื” ืฉื ืฉืืจ ื‘ื—ืœื•ืงื” ืœืงื•ื“ืžื™ื). ื—ืฉื‘ื•ื ื•ืช ื ื›ื ืกื™ื ืœื›ืืŸ).

Cashback ื”ื•ื ืืžืฆืขื™ ืœื”ื ืขืช ืžืฉืชืžืฉ ื”ืงืฆื” ืœื”ืฉืชืชืฃ ื‘ืžืขืจื›ืช ื”ืคื ื™ื•ืช. ื”ืžืฉืชืžืฉ ื™ื›ื•ืœ ืœืžืฉื•ืš ืืช ื—ืœืง ื”ืขืžืœื” ืฉืฉื•ืœื ืขืœ ื™ื“ื™ ื”ืžืขืจื›ืช ื‘ืฆื•ืจื” ืฉืœ "ืงืืฉื‘ืง" ื‘ืื•ืชื• ืื•ืคืŸ ื›ืžื• ืชื’ืžื•ืœื™ื ืขื‘ื•ืจ ื”ืคื ื™ื•ืช.

ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ืช ื”ืคื ื™ื•ืช, ื™ืฉ ืœืฉื ื•ืช ืืช ืคื•ื ืงืฆื™ื™ืช ื”ืงืจืŸ ื•ืœืฉืœื‘ ืื•ืชื” ื‘ื”ื™ื’ื™ื•ืŸ ื”ืจืืฉื™ ืฉืœ ื”ื—ืฉื‘ื•ืŸ ื”ื—ื›ื ืขืœื™ื• ืชืขื‘ื•ื“ ื”ืžืขืจื›ืช. ืœื“ื•ื’ืžื”, ืื ืžืฉื•ืœื ืชื’ืžื•ืœ ื”ืคื ื™ื” ืขื‘ื•ืจ ื”ื™ืžื•ืจ ืฉื‘ื•ืฆืข, ืื–ื™ ืคื•ื ืงืฆื™ื™ืช ื”ืงืจืŸ ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืžื•ื‘ื ื™ืช ื‘ืœื•ื’ื™ืงื” ืฉื‘ื” ืžื‘ืฆืขื™ื ืืช ื”ื”ื™ืžื•ืจ (ืื• ืžื‘ื•ืฆืขืช ืคืขื•ืœื” ืžืžื•ืงื“ืช ืื—ืจืช ืฉืขื‘ื•ืจื” ืžืฉื•ืœื ื”ืชื’ืžื•ืœ). ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืชื’ืžื•ืœื™ ื”ืคื ื™ื” ืžืงื•ื“ื“ื•ืช ื‘ืคื•ื ืงืฆื™ื” ื–ื•. ืื ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ื™ื•ืชืจ ืื• ืคื—ื•ืช ืจืžื•ืช, ื–ื” ื’ื ืžืชื•ืงืŸ ื‘ืงื•ื“. ืื—ื•ื– ื”ืชื’ืžื•ืœ ื ืงื‘ืข ืขืœ ื™ื“ื™ ื”ืงื‘ื•ืขื™ื level1-level3; ื‘ืงื•ื“ ื”ื•ื ืžื—ื•ืฉื‘ ื› ื›ืžื•ืช * ืจืžื” / 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, ื”ืžื”ื•ื•ื” ื’ืฉืจ ื‘ื™ืŸ ืžื•ื“ืœื™ื ืฉืœ ืฉื•ืชืคื™ื ืœ-WAVES NODE REST API. ืžื™ื™ืฉืžืช ืจืžืช ื”ืคืฉื˜ื” ื‘ืœืชื™ ืชืœื•ื™ื” ื‘ืžืกื’ืจืช (ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ืื—ืช). ืคื•ื ืงืฆื™ื•ืช ืคืขื™ืœื•ืช (ืจื™ืฉื•ื, ื ืกื™ื’ื”) ืžื ื™ื—ื•ืช ืฉ-Waves Keeper ืžื•ืชืงืŸ ื‘ืžืขืจื›ืช; ื”ืกืคืจื™ื™ื” ืขืฆืžื” ืœื ื‘ื•ื“ืงืช ื–ืืช.

ืžื™ื™ืฉื ืฉื™ื˜ื•ืช:

fetchReferralTransactions
fetchWithdrawTransactions
fetchMyBalance
fetchReferrals
fetchReferer
withdraw
register

ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ื”ืฉื™ื˜ื•ืช ื‘ืจื•ืจื” ืžื”ืฉืžื•ืช; ื”ืคืจืžื˜ืจื™ื ื•ื”ื ืชื•ื ื™ื ื”ืžื•ื—ื–ืจื™ื ืžืชื•ืืจื™ื ื‘ืงื•ื“. ืคื•ื ืงืฆื™ื™ืช ื”ืจื™ืฉื•ื ื“ื•ืจืฉืช ื”ืขืจื•ืช ื ื•ืกืคื•ืช - ื”ื™ื ืžืชื—ื™ืœื” ืžื—ื–ื•ืจ ืฉืœ ื‘ื—ื™ืจืช ืžื–ื”ื” ื”ืขืกืงื” ื›ืš ืฉื™ืชื—ื™ืœ ื‘-123 - ื–ื”ื• ื”-PoW-captcha ืฉืชื•ืืจ ืœืขื™ืœ, ืฉืžื’ืŸ ืžืคื ื™ ืจื™ืฉื•ืžื™ื ื”ืžื•ื ื™ื™ื. ื”ืคื•ื ืงืฆื™ื” ืžื•ืฆืืช ืขืกืงื” ืขื ื”ืžื–ื”ื” ื”ื ื“ืจืฉ, ื•ืœืื—ืจ ืžื›ืŸ ื—ื•ืชืžืช ืขืœื™ื” ื“ืจืš Waves Keeper.

ืชื•ื›ื ื™ืช ื”ืฉื•ืชืคื™ื ืฉืœ DEX ื–ืžื™ื ื” ื‘ื›ืชื•ื‘ืช GitHub.com.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”