แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp

แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ! แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ›แƒ” แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ dApp Waves แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก, แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒก แƒ“แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก.

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp

dApps แƒ“แƒ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒ:

  • แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ
  • แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒ
  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ
  • แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ

แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜

1. docker แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ แƒ“แƒ Waves Explorer-แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“

แƒ—แƒฃ แƒแƒ  แƒ’แƒกแƒฃแƒ แƒ— แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒแƒ— แƒ”แƒก แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜. แƒงแƒแƒ•แƒ”แƒšแƒ˜แƒ•แƒ” แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ“แƒ แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒฃแƒšแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒญแƒ˜แƒแƒœแƒฃแƒ แƒ“แƒ”แƒก.

  • แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ˜แƒ—. แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒแƒœแƒ™แƒแƒœแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก 10 แƒขแƒแƒšแƒฆแƒแƒก แƒงแƒแƒ•แƒ”แƒš 10 แƒฌแƒฃแƒ—แƒจแƒ˜.
  • แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒฅแƒกแƒ”แƒšแƒจแƒ˜ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ“แƒ แƒ 1 แƒฌแƒฃแƒ—แƒ˜แƒ, แƒ™แƒ•แƒแƒœแƒซแƒจแƒ˜ โ€“ 15 แƒฌแƒแƒ›แƒ˜. แƒ”แƒก แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒกแƒแƒ›แƒฉแƒœแƒ”แƒ•แƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒฏแƒ”แƒ แƒแƒ“ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒแƒก.
  • แƒกแƒแƒฏแƒแƒ แƒ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ–แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ’แƒ แƒ”แƒกแƒ˜แƒฃแƒšแƒ˜ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ.
  • แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ.

แƒแƒ›แƒ˜แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ•แƒ˜แƒ•แƒแƒ แƒแƒฃแƒ“แƒ”แƒ‘, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ™แƒ•แƒแƒœแƒซแƒ—แƒแƒœ.

2. Surfboard Command Line Tool

  • แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— Node.js ppa, homebrew แƒแƒœ exe แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒฅ: https://nodejs.org/en/download/.
  • แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— Surfboard, แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒ— แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”.

npm install -g @waves/surfboard

3. Visual Studio Code แƒ›แƒแƒ“แƒฃแƒšแƒ˜

แƒ”แƒก แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒ—แƒ˜แƒ, แƒ—แƒฃ แƒแƒ  แƒฎแƒแƒ แƒ— IDE-แƒ”แƒ‘แƒ˜แƒก แƒ’แƒฃแƒšแƒจแƒ”แƒ›แƒแƒขแƒ™แƒ˜แƒ•แƒแƒ แƒ˜ แƒ“แƒ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒก แƒแƒœแƒ˜แƒญแƒ”แƒ‘แƒ— แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ  แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ”แƒ‘แƒก. แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ. แƒ—แƒฃ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— vim-แƒก, แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒแƒฅแƒชแƒ˜แƒ”แƒ— แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒก vim-ride.

แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— Visual Studio Code: https://code.visualstudio.com/

แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— VS Code แƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— waves-ride แƒ›แƒแƒ“แƒฃแƒšแƒ˜:

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp

Waves Keeper แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ: https://wavesplatform.com/products-keeper

แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ!

แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒ“แƒ Waves Explorer

1. แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— แƒ™แƒ•แƒแƒœแƒซแƒ˜:

docker run -d -p 6869:6869 wavesplatform/waves-private-node

แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ REST API-แƒจแƒ˜ http://localhost:6869:

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
Swagger REST API แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

2. แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— Waves Explorer-แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜:

docker run -d -e API_NODE_URL=http://localhost:6869 -e NODE_LIST=http://localhost:6869 -p 3000:8080 wavesplatform/explorer

แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— http://localhost:3000. แƒ—แƒฅแƒ•แƒ”แƒœ แƒœแƒแƒฎแƒแƒ•แƒ—, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒฌแƒ แƒ”.

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
Waves Explorer แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก

RIDE แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ Surfboard แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒกแƒจแƒ˜

surfboard init

แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒ—, "hello world" แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—แƒ แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒ—. แƒ—แƒฃ แƒแƒ› แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒ— VS Code-แƒ˜แƒ—, แƒœแƒแƒฎแƒแƒ•แƒ—:

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
Surfboard.config.json

  • ./ride/ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ แƒœแƒแƒฎแƒแƒ•แƒ— แƒ”แƒ แƒ— แƒคแƒแƒ˜แƒšแƒก wallet.ride - แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ, แƒกแƒแƒ“แƒแƒช แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก dApp แƒ™แƒแƒ“แƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒ’แƒแƒ•แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒ— dApps-แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ‘แƒšแƒแƒ™แƒจแƒ˜.
  • ./test/ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ แƒœแƒแƒฎแƒแƒ•แƒ— *.js แƒคแƒแƒ˜แƒšแƒก. แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒแƒฅ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ.
  • ./surfboard.config.json โ€“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“.

Envs แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“:

  • แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก REST API แƒ‘แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก dApp-แƒ˜แƒกแƒ แƒ“แƒ CHAIN_ID-แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“.
  • แƒกแƒแƒ˜แƒ“แƒฃแƒ›แƒšแƒ แƒคแƒ แƒแƒ–แƒ แƒขแƒแƒ™แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒ แƒ.

แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, surfboard.config.json แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒ›แƒ แƒแƒ•แƒแƒš แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“. แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒแƒ แƒ˜แƒก แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒ (defaultEnv แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒชแƒ•แƒแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜).

แƒกแƒแƒคแƒฃแƒšแƒ”-แƒ“แƒ”แƒ›แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ

แƒ”แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ RIDE แƒ”แƒœแƒแƒ–แƒ”. แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—, แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ”แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ“แƒ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒฃแƒ™แƒ”แƒ— แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ— แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒฃแƒ‘แƒ แƒแƒšแƒ Wallet-แƒ“แƒ”แƒ›แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก. แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒขแƒแƒ™แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ dApp แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ”. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒ. แƒแƒ แƒ˜ @Callable แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ InvokeScriptTransaction-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—:

  • deposit()แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒ—แƒแƒœแƒ“แƒแƒ แƒ—แƒฃแƒš แƒ’แƒแƒ“แƒแƒฎแƒ“แƒแƒก WAVES-แƒจแƒ˜
  • withdraw(amount: Int)แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒŸแƒ”แƒขแƒแƒœแƒ”แƒ‘แƒก

dApp แƒกแƒแƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ แƒชแƒ˜แƒ™แƒšแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ (แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ†’ แƒ—แƒแƒœแƒฎแƒ) แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ“แƒ”แƒ‘แƒ:

แƒแƒฅแƒชแƒ˜แƒ
แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ

แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜
แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜

แƒแƒšแƒ˜แƒกแƒ˜แƒก แƒ“แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒ”แƒ‘แƒ˜ 5 แƒขแƒแƒšแƒฆแƒ
แƒแƒšแƒ˜แƒกแƒ-แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ†’ 500000000

แƒ‘แƒแƒ‘ แƒ“แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒ”แƒ‘แƒ˜ 2 แƒขแƒแƒšแƒฆแƒ

แƒแƒšแƒ˜แƒกแƒ-แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ†’ 500000000
แƒ‘แƒแƒ‘-แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ†’ 200000000

แƒ‘แƒแƒ‘ แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ‘แƒก 7 แƒขแƒแƒšแƒฆแƒแƒก
แฒฃแฒแฒ แฒงแฒแฒคแฒ˜แฒšแฒ˜!

แƒแƒšแƒ˜แƒกแƒ แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ‘แƒก 4 แƒขแƒแƒšแƒฆแƒแƒก
แƒแƒšแƒ˜แƒกแƒ-แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ†’ 100000000
แƒ‘แƒแƒ‘-แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ โ†’ 200000000

แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“:

# In this example multiple accounts can deposit their funds and safely take them back. No one can interfere with this.
# An inner state is maintained as mapping `address=>waves`.
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ACCOUNT #-}
@Callable(i)
func deposit() = {
 let pmt = extract(i.payment)
 if (isDefined(pmt.assetId))
    then throw("works with waves only")
    else {
     let currentKey = toBase58String(i.caller.bytes)
     let currentAmount = match getInteger(this, currentKey) {
       case a:Int => a
       case _ => 0
     }
     let newAmount = currentAmount + pmt.amount
     WriteSet([DataEntry(currentKey, newAmount)]) 
   }
 }
@Callable(i)
func withdraw(amount: Int) = {
 let currentKey = toBase58String(i.caller.bytes)
 let currentAmount = match getInteger(this, currentKey) {
   case a:Int => a
   case _ => 0
 }
 let newAmount = currentAmount - amount
 if (amount < 0)
   then throw("Can't withdraw negative amount")
   else if (newAmount < 0)
     then throw("Not enough balance")
     else ScriptResult(
       WriteSet([DataEntry(currentKey, newAmount)]),
       TransferSet([ScriptTransfer(i.caller, amount, unit)])
      )
 }
@Verifier(tx)
func verify() = false

แƒ™แƒแƒ“แƒ˜แƒก แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒแƒฅ GitHub.

VSCode แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒฃแƒฌแƒงแƒ•แƒ”แƒข แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒแƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒฉแƒแƒœแƒแƒ แƒ—แƒจแƒ˜ PROBLEM.

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒกแƒฎแƒ•แƒ แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ แƒ˜ แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒกแƒแƒก, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ—

surfboard compile ride/wallet.ride

แƒ”แƒก แƒ’แƒแƒ›แƒแƒ˜แƒขแƒแƒœแƒก base64 แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ RIDE แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒก.

แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ 'wallet.ride'-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒคแƒแƒ˜แƒšแƒ˜. แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ JavaScript-แƒ˜แƒก Mocha-แƒ˜แƒก แƒคแƒ แƒ”แƒ˜แƒ›แƒ•แƒแƒ แƒ˜แƒ—. แƒแƒ แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ "แƒแƒ“แƒ แƒ”" แƒ“แƒ แƒกแƒแƒ›แƒ˜ แƒขแƒ”แƒกแƒขแƒ˜:

  • โ€žBeforeโ€œ แƒแƒคแƒ˜แƒœแƒแƒœแƒกแƒ”แƒ‘แƒก แƒ›แƒ แƒแƒ•แƒแƒš แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒก MassTransferTransaction-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ“แƒ’แƒ”แƒœแƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก แƒ“แƒ แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒก แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜.
  • โ€žแƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ แƒ˜แƒชแƒฎแƒ•แƒโ€œ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก InvokeScriptTransaction-แƒก แƒฅแƒกแƒ”แƒšแƒจแƒ˜, แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒก แƒ“แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒ˜แƒก() แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒแƒ แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  • โ€žแƒ•แƒ”แƒ  แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒก แƒ˜แƒ›แƒแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ“แƒ”แƒžแƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒโ€œ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒ•แƒ”แƒ แƒแƒ•แƒ˜แƒœ แƒ›แƒแƒ˜แƒžแƒแƒ แƒแƒ•แƒก แƒกแƒฎแƒ•แƒ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒ™แƒ”แƒœแƒ”แƒ‘แƒก.
  • โ€žแƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ แƒ˜แƒชแƒฎแƒ•แƒโ€œ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒ—แƒแƒœแƒฎแƒ”แƒ‘แƒ˜ แƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜.

แƒฉแƒแƒแƒขแƒแƒ แƒ”แƒ— แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ Surfboard-แƒ“แƒแƒœ แƒ“แƒ แƒ’แƒแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ— แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ Waves Explorer-แƒจแƒ˜

แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“, แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ—

surfboard test

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒชแƒแƒšแƒ™แƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜), แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒฃแƒจแƒ•แƒแƒ—

surfboard test my-scenario.js

Surfboard แƒจแƒ”แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒก แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก ./test/ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ surfboard.config.json-แƒจแƒ˜. แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒ›แƒกแƒ’แƒแƒ•แƒก แƒ แƒแƒฆแƒแƒชแƒแƒก:

wallet test suite
Generating accounts with nonce: ce8d86ee
Account generated: foofoofoofoofoofoofoofoofoofoofoo#ce8d86ee - 3M763WgwDhmry95XzafZedf7WoBf5ixMwhX
Account generated: barbarbarbarbarbarbarbarbarbar#ce8d86ee - 3MAi9KhwnaAk5HSHmYPjLRdpCAnsSFpoY2v
Account generated: wallet#ce8d86ee - 3M5r6XYMZPUsRhxbwYf1ypaTB6MNs2Yo1Gb
Accounts successfully funded
Script has been set
   โˆš Can deposit (4385ms)
   โˆš Cannot withdraw more than was deposited
   โˆš Can withdraw (108ms)
3 passing (15s)

แƒฐแƒแƒ! แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒฉแƒแƒแƒ‘แƒแƒ แƒ. แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ Waves Explorer-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก: แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ— แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒแƒœ แƒฉแƒแƒกแƒ•แƒ˜แƒ— แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒแƒจแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ wallet#. แƒแƒฅ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ, dApp แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜, แƒ“แƒ”แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜.

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
Waves Explorer. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ’แƒแƒœแƒšแƒแƒ’แƒ“แƒ.

แƒกแƒ”แƒ แƒคแƒ˜แƒœแƒ’แƒ˜แƒก แƒ“แƒแƒคแƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒฉแƒ”แƒ•แƒ:

1. แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ—:

surfboard test --env=testnet

แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ˜

2. แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก JSON แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒฉแƒแƒแƒขแƒแƒ แƒ”แƒ— แƒขแƒ”แƒกแƒขแƒ˜ -v-แƒ˜แƒ— (แƒ˜แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ‘แƒ โ€žแƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒ”แƒ แƒ˜โ€œ):

surfboard test -v

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ Waves Keeper-แƒ˜แƒ—

1. แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— Waves Keeper แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“: http://localhost:6869

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
Waves Keeper-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ™แƒ•แƒแƒœแƒซแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

2. แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒ˜แƒ“แƒฃแƒ›แƒšแƒ แƒคแƒ แƒแƒ–แƒ แƒขแƒแƒ™แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒฅแƒกแƒ”แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก? แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ—แƒ”แƒกแƒšแƒ˜: waves private node seed with waves tokens. แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF.

3. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ”แƒ แƒ—แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ npm-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒแƒœ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ–แƒ”: chrome-ext.wvservices.com/dapp-wallet.html

4. แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— แƒกแƒแƒคแƒฃแƒšแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ (แƒ–แƒ”แƒ›แƒแƒ— แƒฎแƒแƒ–แƒ’แƒแƒกแƒ›แƒฃแƒšแƒ˜) dApp แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ  แƒ•แƒ”แƒšแƒจแƒ˜

5. โ€žแƒ“แƒ”แƒžแƒแƒ–แƒ˜แƒขแƒ˜แƒกโ€œ แƒ•แƒ”แƒšแƒจแƒ˜ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— แƒ›แƒชแƒ˜แƒ แƒ” แƒ—แƒแƒœแƒฎแƒ แƒ“แƒ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก:

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
Waves Keeper แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒœแƒ”แƒ‘แƒแƒ แƒ—แƒ•แƒแƒก แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒแƒฌแƒ”แƒ แƒแƒก InvokeScriptTransaction-แƒก 10 WAVES แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒ—.

6. แƒ“แƒแƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ— แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ:

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp
แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒ›แƒ แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒžแƒ˜แƒ แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒ›แƒแƒฌแƒ›แƒแƒ‘แƒ

7. แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ Waves Explorer-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— ID แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒ•แƒ”แƒšแƒจแƒ˜

แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—, แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜ RIDE dApp

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒ”แƒ— แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก Waves แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ” แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ dApps-แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก, แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก, แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

  • RIDE แƒ”แƒœแƒ
  • VS แƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ˜
  • Waves Explorer
  • Surfboard
  • แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒ™แƒแƒ แƒ”

แƒšแƒ˜แƒœแƒ™แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒกแƒแƒช แƒกแƒฃแƒ แƒก แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒก RIDE-แƒก แƒกแƒฌแƒแƒ•แƒšแƒ:

แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜
แƒแƒœแƒšแƒแƒ˜แƒœ IDE แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ—
แƒขแƒแƒšแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ
แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒฉแƒแƒขแƒ˜ Telegram-แƒจแƒ˜
Waves แƒ“แƒ RIDE on stackoverflow
แƒแƒฎแƒแƒšแƒ˜! แƒแƒœแƒšแƒแƒ˜แƒœ แƒ™แƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ Waves แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ–แƒ” dApps-แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒ”แƒ— แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ RIDE แƒ—แƒ”แƒ›แƒแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ dApp!

TL; DR: bit.ly/2YCFnwY

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ