เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ

เจธเจค เจธเฉเจฐเฉ€ เจ…เจ•เจพเจฒ! เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจตเจพเจ‚เจ—เจพ เจ•เจฟ เจ‡เฉฑเจ• เจตเฉ‡เจตเจœเจผ เจจเฉ‹เจก 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค dApp เจ•เจฟเจตเฉ‡เจ‚ เจฒเจฟเจ–เจฃเจพ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆเฅค เจ†เจ‰ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจธเจพเจงเจจเจพเจ‚, เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจ…เจคเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจตเฉ‡เจ–เฉ€เจ.

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ

dApps เจ…เจคเฉ‡ เจจเจฟเจฏเจฎเจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจ•เจพเจธ เจธเจ•เฉ€เจฎ เจฒเจ—เจญเจ— เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ€ เจนเฉˆ:

  • เจ•เฉ‹เจก เจฒเจฟเจ–เจฃเจพ
  • เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจฒเจฟเจ–เจฃเจพ
  • เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจพเจ‚เจš เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ
  • เจŸเฉˆเจธเจŸเจฟเฉฐเจ—

เจธเฉฐเจฆ

1. docker เจ‡เฉฑเจ• เจจเฉ‹เจก เจ…เจคเฉ‡ เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจจเฉ‹เจก เจธเจผเฉเจฐเฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจชเฉœเจพเจ… เจจเฉ‚เฉฐ เจ›เฉฑเจก เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจ‡เฉฑเจ• เจŸเฉˆเจธเจŸ เจ…เจคเฉ‡ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจจเฉˆเจŸเจตเจฐเจ• เจนเฉˆ. เจชเจฐ เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจจเฉ‹เจก เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ…เฉฑเจ—เฉ‡ เจตเจง เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

  • เจคเฉเจนเจพเจจเฉ‚เฉฐ เจŸเฉˆเจธเจŸ เจŸเฉ‹เจ•เจจเจพเจ‚ เจตเจพเจฒเฉ‡ เจจเจตเฉ‡เจ‚ เจ–เจพเจคเจฟเจ†เจ‚ เจฆเฉ€ เจฒเจ—เจพเจคเจพเจฐ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€เฅค เจŸเฉˆเจธเจŸ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจจเฉฑเจ• เจนเจฐ 10 เจฎเจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš 10 เจตเฉ‡เจต เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจŸเฉˆเจธเจŸ เจจเฉˆเจŸเจตเจฐเจ• เจตเจฟเฉฑเจš เจ”เจธเจค เจฌเจฒเจพเจ• เจธเจฎเจพเจ‚ 1 เจฎเจฟเฉฐเจŸ เจนเฉˆ, เจจเฉ‹เจก เจตเจฟเฉฑเจš - 15 เจธเจ•เจฟเฉฐเจŸเฅค เจ‡เจน เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฒเจˆ เจ•เจˆ เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค
  • เจœเจจเจคเจ• เจŸเฉˆเจธเจŸ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจนเจฎเจฒเจพเจตเจฐ เจ•เฉˆเจšเจฟเฉฐเจ— เจธเฉฐเจญเจต เจนเฉˆเฅค
  • เจ‰เจน เจฐเฉฑเจ–-เจฐเจ–เจพเจ… เจฆเฉ‡ เจ•เจพเจฐเจจ เจ…เจธเจฅเจพเจˆ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจฃเจ‰เจชเจฒเจฌเจง เจตเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจนเฉเจฃ เจคเฉ‹เจ‚ เจฎเฉˆเจ‚ เจ‡เจน เจฎเฉฐเจจ เจฒเจตเจพเจ‚เจ—เจพ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจจเฉ‹เจก เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹.

2. เจธเจฐเจซเจฌเฉ‹เจฐเจก เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ

  • เจ‡เฉฑเจฅเฉ‡ ppa, homebrew เจœเจพเจ‚ exe เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ Node.js เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ…เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹: https://nodejs.org/en/download/.
  • เจธเจฐเจซเจฌเฉ‹เจฐเจก เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹, เจ‡เฉฑเจ• เจŸเฉ‚เจฒ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจจเฉ‹เจก 'เจคเฉ‡ เจŸเฉˆเจธเจŸ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

npm install -g @waves/surfboard

3. เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจธเจŸเฉ‚เจกเฉ€เจ“ เจ•เฉ‹เจก เจชเจฒเฉฑเจ—เจ‡เจจ

เจ‡เจน เจ•เจฆเจฎ เจตเจฟเจ•เจฒเจชเจฟเจ• เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ IDEs เจฆเฉ‡ เจชเฉเจฐเจธเจผเฉฐเจธเจ• เจจเจนเฉ€เจ‚ เจนเฉ‹ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฐเจœเฉ€เจน เจฆเจฟเฉฐเจฆเฉ‡ เจนเฉ‹เฅค เจธเจพเจฐเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจŸเฉ‚เจฒ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจนเจจเฅค เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจตเจฟเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจชเจฒเฉฑเจ—เจ‡เจจ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเจฟเจ“ vim-เจธเจตเจพเจฐเฉ€.

เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจธเจŸเฉ‚เจกเฉ€เจ“ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ…เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹: https://code.visualstudio.com/

VS เจ•เฉ‹เจก เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจตเฉ‡เจตเจœเจผ-เจฐเจพเจˆเจก เจชเจฒเฉฑเจ—เจ‡เจจ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹:

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ

เจตเฉ‡เจต เจ•เฉ€เจชเจฐ เจฌเจฐเจพเจŠเจœเจผเจฐ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ: https://wavesplatform.com/products-keeper

เจนเฉ‹ เจ—เจฟเจ†!

เจจเฉ‹เจก เจ…เจคเฉ‡ เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹

1. เจจเฉ‹เจก เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹:

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

เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจจเฉ‹เจก เจจเฉ‚เฉฐ REST API เจฆเฉเจ†เจฐเจพ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ http://localhost:6869:

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจจเฉ‹เจก เจฒเจˆ เจธเจตเฉˆเจ—เจฐ REST API

2. เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹:

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

เจ‡เฉฑเจ• เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจœเจพเจ“ http://localhost:3000. เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เฉ‹เจ—เฉ‡ เจ•เจฟ เจ•เจฟเฉฐเจจเฉ€ เจœเจฒเจฆเฉ€ เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจธเจฅเจพเจจเจ• เจจเฉ‹เจก เจธเจฐเจ•เจŸ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ.

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจจเฉ‹เจก เจ‰เจฆเจพเจนเจฐเจจ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ

เจฐเจพเจˆเจก เจฌเจฃเจคเจฐ เจ…เจคเฉ‡ เจธเจฐเจซเจฌเฉ‹เจฐเจก เจŸเฉ‚เจฒ

เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฌเจฃเจพเจ“ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“

surfboard init

เจ•เจฎเจพเจ‚เจก เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจขเจพเจ‚เจšเฉ‡, "เจนเฉˆเจฒเฉ‹ เจตเจฐเจฒเจก" เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸเจพเจ‚ เจจเจพเจฒ เจ‡เฉฑเจ• เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจซเฉ‹เจฒเจกเจฐ เจจเฉ‚เฉฐ VS เจ•เฉ‹เจก เจจเจพเจฒ เจ–เฉ‹เจฒเฉเจนเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เฉ‹เจ—เฉ‡:

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
Surfboard.config.json

  • ./ride/ เจซเฉ‹เจฒเจกเจฐ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจซเจพเจˆเจฒ wallet.ride เจฎเจฟเจฒเฉ‡เจ—เฉ€ - เจ‰เจน เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจœเจฟเฉฑเจฅเฉ‡ dApp เจ•เฉ‹เจก เจธเจฅเจฟเจค เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ…เจ—เจฒเฉ‡ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš dApps เจฆเจพ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค
  • ./test/ เจซเฉ‹เจฒเจกเจฐ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• *.js เจซเจพเจˆเจฒ เจฎเจฟเจฒเฉ‡เจ—เฉ€เฅค เจŸเฉˆเจธเจŸ เจ‡เฉฑเจฅเฉ‡ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค
  • ./surfboard.config.json โ€“ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจŸเฉˆเจธเจŸเจพเจ‚ เจฒเจˆ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเฅค

Envs เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจญเจพเจ— เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

  • เจจเฉ‹เจก เจฆเจพ REST API เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจœเฉ‹ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฆเฉ‡ dApp เจ…เจคเฉ‡ CHAIN_ID เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค
  • เจŸเฉ‹เจ•เจจเจพเจ‚ เจตเจพเจฒเฉ‡ เจ–เจพเจคเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจ—เฉเจชเจค เจตเจพเจ•เจพเจ‚เจธเจผ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจŸเฉˆเจธเจŸ เจŸเฉ‹เจ•เจจเจพเจ‚ เจฆเฉ‡ เจธเจฐเฉ‹เจค เจนเฉ‹เจฃเจ—เฉ‡เฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจตเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, surfboard.config.json เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจˆ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจธเจฅเจพเจจเจ• เจตเจพเจคเจพเจตเจฐเจฃ เจนเฉˆ (เจกเจฟเจซเจพเจฒเจŸ เจˆเจเจจเจตเฉ€ เจ•เฉเฉฐเจœเฉ€ เจ‡เฉฑเจ• เจฌเจฆเจฒเจฃเจฏเฉ‹เจ— เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจนเฉˆ)เฅค

เจตเจพเจฒเจฟเจŸ-เจกเฉˆเจฎเฉ‹ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ

เจ‡เจน เจญเจพเจ— RIDE เจญเจพเจธเจผเจพ เจฆเจพ เจนเจตเจพเจฒเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ‡, เจฌเจฒเจพเจ•เจšเฉˆเจจ เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ, เจ‡เจธ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจขเฉฐเจ— เจจเจพเจฒ เจธเจฎเจเจฃ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจคเฉˆเจจเจพเจค เจ…เจคเฉ‡ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ†เจ‰ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจตเจพเจฒเจฟเจŸ-เจกเฉˆเจฎเฉ‹ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจเฅค เจ•เฉ‹เจˆ เจตเฉ€ 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 เจชเจฒเฉฑเจ—เจ‡เจจ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเจฟเจฐเฉฐเจคเจฐ เจธเฉฐเจ•เจฒเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจธเจฎเฉฑเจธเจฟเจ† เจŸเฉˆเจฌ เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจตเจฐเจคเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจตเจฐเจคเฉ‹

surfboard compile ride/wallet.ride

เจ‡เจน เจฌเฉ‡เจธ 64 เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจฐเจพเจˆเจก เจ•เฉ‹เจก เจฆเฉ€ เจ‡เฉฑเจ• เจฒเฉœเฉ€ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเฉ‡เจ—เจพเฅค

'wallet.ride' เจฒเจˆ เจŸเฉˆเจธเจŸ เจธเจ•เฉเจฐเจฟเจชเจŸ

เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจŸเฉˆเจธเจŸ เจซเจพเจˆเจฒ. JavaScript เจฆเฉ‡ เจฎเฉ‹เจšเจพ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจฆเฉเจ†เจฐเจพ เจธเฉฐเจšเจพเจฒเจฟเจคเฅค เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• "เจชเจนเจฟเจฒเจพเจ‚" เจซเฉฐเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจคเจฟเฉฐเจจ เจŸเฉˆเจธเจŸ เจนเจจ:

  • "เจชเจนเจฟเจฒเจพเจ‚" เจฎเจพเจธ เจŸเจฐเจพเจ‚เจธเจซเจฐ เจŸเจฐเจพเจ‚เจธเฉˆเจ•เจธเจผเจจ เจฆเฉเจ†เจฐเจพ เจฎเจฒเจŸเฉ€เจชเจฒ เจ–เจพเจคเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจซเฉฐเจก เจ•เจฐเจฆเจพ เจนเฉˆ, เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฒเจพเจ•เจšเฉˆเจจ เจตเจฟเฉฑเจš เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • "เจœเจฎเจพ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ" เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจจเฉ‚เฉฐ เจ‡เฉฑเจ• InvokeScriptTransaction เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจฆเฉ‹ เจ–เจพเจคเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจฒเจˆ deposit() เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • "เจœเจฎเจพ เจ•เฉ€เจคเฉ‡ เจ—เจ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจขเจตเจพ เจจเจนเฉ€เจ‚ เจธเจ•เจฆเฉ‡" เจŸเฉˆเจธเจŸ เจนเจจ เจ•เจฟ เจ•เฉ‹เจˆ เจตเฉ€ เจฆเฉ‚เจœเฉ‡ เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ‡ เจŸเฉ‹เจ•เจจเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉ‹เจฐเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • "เจœเจฎเจพ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ" เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจขเจตเจพเจ‰เจฃ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

เจธเจฐเจซเจฌเฉ‹เจฐเจก เจคเฉ‹เจ‚ เจŸเฉˆเจธเจŸ เจšเจฒเจพเจ“ เจ…เจคเฉ‡ เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจตเจฟเฉฑเจš เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‹

เจชเจฐเจ–เจฃ เจฒเจˆ, เจฆเฉŒเฉœเฉ‹

surfboard test

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจˆ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ), เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹

surfboard test my-scenario.js

เจธเจฐเจซเจฌเฉ‹เจฐเจก เจŸเฉˆเจธเจŸ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ ./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)

เจนเฉ‚เจฐเฉ‡! เจŸเฉˆเจธเจŸ เจชเจพเจธ เจ•เฉ€เจคเฉ‡เฅค เจนเฉเจฃ เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ: เจฌเจฒเจพเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เฉ‹ เจœเจพเจ‚ เจ–เฉ‹เจœ เจตเจฟเฉฑเจš เจ‰เจชเจฐเฉ‹เจ•เจค เจชเจคเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‚เฉฐ เจชเฉ‡เจธเจŸ เจ•เจฐเฉ‹ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจจเฉเจธเจพเจฐเฉ€ wallet#. เจ‰เฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ, dApp เจธเจฅเจฟเจคเฉ€, เจกเฉ€เจ•เฉฐเจชเจพเจˆเจฒเจก เจฌเจพเจˆเจจเจฐเฉ€ เจซเจพเจˆเจฒ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐเฅค เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจœเฉ‹ เจนเฉเจฃเฉ‡ เจคเจพเจ‡เจจเจพเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

เจ•เฉเจ เจธเจฐเจซเจฌเฉ‹เจฐเจก เจธเฉเจเจพเจ…:

1. เจŸเฉˆเจธเจŸเจจเฉˆเฉฑเจŸ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจŸเฉˆเจธเจŸ เจ•เจฐเจจ เจฒเจˆ, เจตเจฐเจคเฉ‹:

surfboard test --env=testnet

เจŸเฉˆเจธเจŸ เจŸเฉ‹เจ•เจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹

2. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเฉ‡ JSON เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจจเฉ‹เจก เจฆเฉเจ†เจฐเจพ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ -v (เจญเจพเจต 'เจตเจฐเจฌเฉ‹เจœเจผ') เจจเจพเจฒ เจŸเฉˆเจธเจŸ เจšเจฒเจพเจ“:

surfboard test -v

เจตเฉ‡เจต เจ•เฉ€เจชเจฐ เจจเจพเจฒ เจเจชเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

1. เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจตเฉ‡เจต เจ•เฉ€เจชเจฐ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเฉ‹: http://localhost:6869

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจฒเฉ‹เจ•เจฒ เจจเฉ‹เจก เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจตเฉ‡เจต เจ•เฉ€เจชเจฐ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ

2. เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฒเจˆ เจŸเฉ‹เจ•เจจเจพเจ‚ เจจเจพเจฒ เจ—เฉเจชเจค เจตเจพเจ•เจพเจ‚เจธเจผ เจจเฉ‚เฉฐ เจ†เจฏเจพเจค เจ•เจฐเจจเจพ เจนเฉˆ? เจธเจพเจฆเจ—เฉ€ เจฒเจˆ, เจ†เจชเจฃเฉ‡ เจจเฉ‹เจก เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจฌเฉ€เจœ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹: waves private node seed with waves tokens. เจชเจคเจพ: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF.

3. เจคเฉเจธเฉ€เจ‚ npm เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเจฐเจตเจฐ เจฐเจนเจฟเจค เจธเจฟเฉฐเจ—เจฒ เจชเฉ‡เจœ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ‡เฉฑเจ• 'เจคเฉ‡ เจœเจพเจ“: chrome-ext.wvservices.com/dapp-wallet.html

4. dApp เจเจกเจฐเฉˆเฉฑเจธ เจŸเฉˆเจ•เจธเจŸ เจฌเจพเจ•เจธ เจตเจฟเฉฑเจš เจŸเฉˆเจธเจŸ เจฐเจจ (เจ‰เฉฑเจชเจฐ เจฐเฉ‡เจ–เจพเจ‚เจ•เจฟเจค) เจคเฉ‹เจ‚ เจตเจพเจฒเจฟเจŸ เจชเจคเจพ เจฆเจฐเจœ เจ•เจฐเฉ‹

5. โ€œเจกเจฟเจชเจพเจœเจผเจฟเจŸโ€ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ เจฐเจ•เจฎ เจฆเจพเจ–เจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจฌเจŸเจจ เจคเฉ‡ เจ•เจฒเจฟเจ• เจ•เจฐเฉ‹:

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจตเฉ‡เจตเจœเจผ เจ•เฉ€เจชเจฐ 10 เจตเฉ‡เจตเจœเจผ เจฆเฉ‡ เจญเฉเจ—เจคเจพเจจ เจฆเฉ‡ เจจเจพเจฒ เจ‡เจจเจตเฉ‹เจ•เจธเจ•เฉเจฐเจฟเจชเจŸ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจฆเจธเจคเจ–เจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

6. เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเฉ‹:

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ
เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจจเฉ‚เฉฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ• 'เจคเฉ‡ เจฌเจฃเจพเจ‡เจ† เจ…เจคเฉ‡ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‰เจธเจฆเฉ€ เจ†เจˆเจกเฉ€ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹

7. เจตเฉ‡เจตเจœเจผ เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเฉ‹เฅค เจ–เฉ‹เจœ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš ID เจฆเจฐเจœ เจ•เจฐเฉ‹

เจฐเจพเจˆเจก dApp เจตเฉ‡เจตเจœเจผ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเจจเจพ เจนเฉˆ

เจธเจฟเฉฑเจŸเฉ‡ เจ…เจคเฉ‡ เจตเจพเจงเฉ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€

เจ…เจธเฉ€เจ‚ เจตเฉ‡เจตเจœเจผ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจธเจงเจพเจฐเจจ dApps เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ, เจŸเฉˆเจธเจŸ เจ•เจฐเจจ, เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจตเจฐเจคเจฃ เจฒเจˆ เจŸเฉ‚เจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฟเจ†:

  • เจฐเจพเจˆเจก เจญเจพเจธเจผเจพ
  • VS เจ•เฉ‹เจก เจธเฉฐเจชเจพเจฆเจ•
  • เจตเฉ‡เจต เจเจ•เจธเจชเจฒเฉ‹เจฐเจฐ
  • เจธเจฐเจซ เจฌเฉ‹เจฐเจก
  • เจตเฉ‡เจต เจ•เฉ€เจชเจฐ

เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจฒเจฟเฉฐเจ• เจœเฉ‹ เจฐเจพเจˆเจก เจธเจฟเฉฑเจ–เจฃเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ:

เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚
เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ”เจจเจฒเจพเจˆเจจ IDE
เจตเฉ‡เจตเจœเจผ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€
เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจกเจฟเจตเฉˆเจฒเจชเจฐ เจšเฉˆเจŸ
เจธเจŸเฉˆเจ•เจ“เจตเจฐเจซเจฒเฉ‹ 'เจคเฉ‡ เจฒเจนเจฟเจฐเจพเจ‚ เจ…เจคเฉ‡ เจธเจตเจพเจฐเฉ€
เจจเจตเจพเจ‚! เจตเฉ‡เจตเจœเจผ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ dApps เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ”เจจเจฒเจพเจˆเจจ เจ•เฉ‹เจฐเจธ

เจฐเจพเจˆเจก เจตเจฟเจธเจผเฉ‡ เจตเจฟเฉฑเจš เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ‹ เจ…เจคเฉ‡ เจ†เจชเจฃเจพ เจชเจนเจฟเจฒเจพ dApp เจฌเจฃเจพเจ“!

TL; เจกเจพ: bit.ly/2YCFnwY

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹