เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚

เดนเดฒเต‡เดพ! เดตเต‡เดตเตเดธเต เดจเต‹เดกเดฟเตฝ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ 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. เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เด•เต‹เดกเต เดชเตเดฒเด—เดฟเตป

เดจเดฟเด™เตเด™เตพ IDE-เด•เดณเตเดŸเต† เด†เดฐเดพเดงเด•เดจเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดŽเดกเดฟเดฑเตเดฑเตผเดฎเดพเดฐเต† เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดˆ เด˜เดŸเตเดŸเด‚ เด“เดชเตเดทเดฃเดฒเดพเดฃเต. เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚ เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เดณเดพเดฃเต. เดจเดฟเด™เตเด™เตพ vim เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเตเดฒเด—เดฟเตป เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• เดตเดฟเด‚-เดฑเตˆเดกเต.

เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เด•เต‹เดกเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดคเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•: https://code.visualstudio.com/

เดตเดฟเดŽเดธเต เด•เต‹เดกเต เดคเตเดฑเดจเตเดจเต เดตเต‡เดตเตเดธเต-เดฑเตˆเดกเต เดชเตเดฒเด—เดฟเตป เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•:

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚

เดตเต‡เดตเตเดธเต เด•เต€เดชเตเดชเตผ เดฌเตเดฐเต—เดธเตผ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚: https://wavesplatform.com/products-keeper

เดšเต†เดฏเตเดคเตเด•เดดเดฟเดžเตเดžเต!

เดจเต‹เดกเตเด‚ เดตเต‡เดตเตเดธเต เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเดฑเตเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•

1. เดจเต‹เดกเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•:

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

REST API เดตเดดเดฟเดฏเดพเดฃเต เดจเต‹เดกเต เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเด• http://localhost:6869:

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
เดจเต‹เดกเดฟเดจเตเดณเตเดณ เดธเตเดตเดพเด—เตผ 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. เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดฒเต‹เด•เตเด•เตฝ เดจเต‹เดกเต เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดŽเดคเตเดฐ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด•เดพเดฃเตเด‚.

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
เดตเต‡เดตเตเดธเต เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเตผ เด’เดฐเต เดฒเต‹เด•เตเด•เตฝ เดจเต‹เดกเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดฑเตˆเดกเต เด˜เดŸเดจเดฏเตเด‚ เดธเตผเดซเตเดฌเต‹เตผเดกเต เดŸเต‚เดณเตเด‚

เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต เด…เดคเดฟเตฝ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

surfboard init

เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต เด˜เดŸเดจ, "เดนเดฒเต‹ เดตเต‡เตพเดกเต" เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ, เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เดฎเดพเตปเดกเต เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ VS เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เดซเต‹เตพเดกเตผ เดคเตเดฑเดจเตเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพ เด•เดพเดฃเตเด‚:

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
Surfboard.config.json

  • ./ride/ เดŽเดจเตเดจ เดซเต‹เตพเดกเดฑเดฟเดจเต เด•เต€เดดเดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด’เดฑเตเดฑ เดซเดฏเตฝ เด•เดพเดฃเดพเด‚ wallet.ride - dApp เด•เต‹เดกเต เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดกเดฏเดฑเด•เตเดŸเดฑเดฟ. เด…เดŸเตเดคเตเดค เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ เดžเด™เตเด™เตพ dApps เดนเตเดฐเดธเตเดตเดฎเดพเดฏเดฟ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเด‚.
  • ./test/ เดซเต‹เตพเดกเดฑเดฟเดจเต เด•เต€เดดเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด’เดฐเต *.js เดซเดฏเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเตเด‚. เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เด‡เดตเดฟเดŸเต† เดธเต‚เด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • ./surfboard.config.json - เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ.

Envs เด’เดฐเต เดชเตเดฐเดงเดพเดจ เดตเดฟเดญเดพเด—เดฎเดพเดฃเต. เด“เดฐเต‹ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเตเด‚ เด‡เดคเตเดชเต‹เดฒเต† เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  • เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเตปเตเดฑเต† dApp, CHAIN_ID เดŽเดจเตเดจเดฟเดต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดจเต‹เดกเดฟเตปเตเดฑเต† REST API เดŽเตปเดกเตโ€Œเดชเต‹เดฏเดฟเตปเตเดฑเต.
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เดŸเต†เดธเตเดฑเตเดฑเต เดŸเต‹เด•เตเด•เดฃเตเด•เดณเตเดŸเต† เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏ เดŸเต‹เด•เตเด•เดฃเตเด•เดณเตเดณเตเดณ เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดจเดพเดฏเตเดณเตเดณ เด’เดฐเต เดฐเดนเดธเตเดฏ เดตเดพเด•เตเดฏเด‚.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเดจเดพเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, surfboard.config.json เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฃเต (defaultEnv เด•เต€ เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฃเต).

เดตเดพเดฒเดฑเตเดฑเต-เดกเต†เดฎเต‹ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป

เดˆ เดตเดฟเดญเดพเด—เด‚ RIDE เดญเดพเดทเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เดฑเดซเดฑเตปเดธเต เด…เดฒเตเดฒ. เดชเด•เดฐเด‚, เดฌเตเดฒเต‹เด•เตเด•เตโ€Œเดšเต†เดฏเดฟเดจเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดจเตเดจเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเต‡เด•เตเด•เต เดจเต‹เด•เตเด•เตเด•.

เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดตเดพเดฒเดฑเตเดฑเต-เดกเต†เดฎเต‹ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดจเต‹เด•เตเด•เดพเด‚. เด’เดฐเต dApp เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด†เตผเด•เตเด•เตเด‚ เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เด…เดฏเดฏเตเด•เตเด•เดพเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดคเดฐเด‚เด—เด™เตเด™เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเดฟเตปเดตเดฒเดฟเด•เตเด•เดพเดจเดพเด•เต‚. InvokeScript เดŸเตเดฐเดพเตปเดธเดพเด•เตเดทเตป เดตเดดเดฟ เดฐเดฃเตเดŸเต @เด•เต‹เดณเดฌเดฟเตพ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเดฃเต:

  • 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

เดธเดพเดฎเตเดชเดฟเตพ เด•เต‹เดกเตเด‚ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚ เดธเดพเดฎเต‚เดนเดฟเด•เด‚.

เด’เดฐเต เดซเดฏเตฝ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ VSCode เดชเตเดฒเด—เดฟเตป เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เดธเดฎเดพเดนเดพเดฐเดคเตเดคเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดŸเดพเดฌเดฟเตฝ เดชเดฟเดถเด•เตเด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚.

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
เดซเดฏเตฝ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดฎเดฑเตเดฑเตŠเดฐเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดŽเดกเดฟเดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•

surfboard compile ride/wallet.ride

เด‡เดคเต base64 เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดค RIDE เด•เต‹เดกเดฟเตปเตเดฑเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด‚.

'wallet.ride' เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดŸเต†เดธเตเดฑเตเดฑเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต

เดจเดฎเตเด•เตเด•เต เดจเต‹เด•เตเด•เดพเด‚ เดŸเต†เดธเตเดฑเตเดฑเต เดซเดฏเตฝ. JavaScript-เตปเตเดฑเต† เดฎเต‹เดšเตเดš เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต "เดฎเตเดฎเตเดชเต" เดซเด‚เด—เตเดทเดจเตเด‚ เดฎเต‚เดจเตเดจเต เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเด‚ เด‰เดฃเตเดŸเต:

  • "เดฎเตเดฎเตเดชเต" MassTransferTransaction เดตเดดเดฟ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด…เด•เตเด•เต—เดฃเตเดŸเตเด•เตพเด•เตเด•เต เดซเดฃเตเดŸเต เดจเตฝเด•เตเดจเตเดจเต, เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดธเดฎเดพเดนเดฐเดฟเดšเตเดšเต เดฌเตเดฒเต‹เด•เตเด•เตเดšเต†เดฏเดฟเดจเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเต.
  • "เดจเดฟเด•เตเดทเต‡เดชเดฟเด•เตเด•เดพเด‚" เดŽเดจเตเดจเดคเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด‡เตปเดตเต‹เด•เตเด•เตโ€Œเดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŸเตเดฐเดพเตปเดธเดพเด•เตเดทเตป เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต, เดฐเดฃเตเดŸเต เด…เด•เตเด•เต—เดฃเตเดŸเตเด•เตพเด•เตเด•เตเดฎเดพเดฏเตเดณเตเดณ เดกเต†เดชเตเดชเต‹เดธเดฟเดฑเตเดฑเต() เดซเด‚เด—เตโ€Œเดทเตป เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเดจเตเดจเต.
  • เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฐเตเดŸเต† เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เดฎเต‹เดทเตเดŸเดฟเด•เตเด•เดพเตป เด†เตผเด•เตเด•เตเด‚ เดธเดพเดงเดฟเด•เตเด•เดพเดคเตเดค "เดจเดฟเด•เตเดทเต‡เดชเดฟเดšเตเดšเดคเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดชเดฟเตปเดตเดฒเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ".
  • เดชเดฟเตปเดตเดฒเดฟเด•เตเด•เดฒเตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹ เดŽเดจเตเดจ เดชเดฐเดฟเดถเต‹เดงเดจ "เดจเดฟเด•เตเดทเต‡เดชเดฟเด•เตเด•เดพเด‚".

เดตเต‡เดตเตเดธเต เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเดฑเดฟเตฝ เดธเตผเดซเตเดฌเต‹เตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดจเดŸเดคเตเดคเดฟ เดซเดฒเด™เตเด™เตพ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเด•

เดŸเต†เดธเตเดฑเตเดฑเต เดจเดŸเดคเตเดคเดพเตป, เด“เดŸเตเด•

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 เดจเดฟเดฒ, เดตเดฟเด˜เดŸเดฟเดชเตเดชเดฟเดšเตเดš เดฌเตˆเดจเดฑเดฟ เดซเดฏเตฝ เดŽเดจเตเดจเดฟเดต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚.

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
เดตเต‡เดตเตเดธเต เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเตผ. เด‡เดชเตเดชเต‹เตพ เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดš เด’เดฐเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป.

เดšเดฟเดฒ เดธเตผเดซเตเดฌเต‹เตผเดกเต เดจเตเดฑเตเด™เตเด™เตเด•เตพ:

1. เดŸเต†เดธเตเดฑเตเดฑเตเดจเต†เดฑเตเดฑเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•:

surfboard test --env=testnet

เดŸเต†เดธเตเดฑเตเดฑเต เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เดจเต‡เดŸเตเด•

2. เด‡เดŸเดชเดพเดŸเตเด•เดณเตเดŸเต† JSON เดชเดคเดฟเดชเตเดชเตเด•เดณเตเด‚ เด…เดต เดจเต‹เดกเต เดตเดดเดฟ เดŽเด™เตเด™เดจเต† เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เด•เดพเดฃเดฃเดฎเต†เด™เตเด•เดฟเตฝ, -v เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŸเต†เดธเตเดฑเตเดฑเต เดฑเตบ เดšเต†เดฏเตเดฏเตเด• (เด…เตผเดคเตเดฅเด‚ 'เดตเต†เตผเดฌเต‹เดธเต'):

surfboard test -v

เดตเต‡เดตเตเดธเต เด•เต€เดชเตเดชเตผ เด‰เดณเตเดณ เด†เดชเตเดชเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

1. เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเต‡เดตเตเดธเต เด•เต€เดชเตเดชเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•: http://localhost:6869

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
เด’เดฐเต เดฒเต‹เด•เตเด•เตฝ เดจเต‹เดกเดฟเดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเต‡เดตเตเดธเต เด•เต€เดชเตเดชเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

2. เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดจเดพเดฏเดฟ เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฐเดนเดธเตเดฏ เดตเดพเด•เตเดฏเด‚ เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเดฃเต‹? เดฒเดพเดณเดฟเดคเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดจเต‹เดกเดฟเตปเตเดฑเต† เดชเตเดฐเดพเดฐเด‚เดญ เดตเดฟเดคเตเดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•: waves private node seed with waves tokens. เดตเดฟเดฒเดพเดธเด‚: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF.

3. npm เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเต†เตผเดตเตผเดฒเต†เดธเตเดธเต เดธเดฟเด‚เด—เดฟเตพ เดชเต‡เดœเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•: chrome-ext.wvservices.com/dapp-wallet.html

4. เดŸเต†เดธเตเดฑเตเดฑเต เดฑเดฃเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเดฒเดฑเตเดฑเต เดตเดฟเดฒเดพเดธเด‚ (เดฎเตเด•เดณเดฟเตฝ เด…เดŸเดฟเดตเดฐเดฏเดฟเดŸเตเดŸเดคเต) dApp เดตเดฟเดฒเดพเดธ เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดฌเต‹เด•เตเดธเดฟเตฝ เดจเตฝเด•เตเด•

5. "เดกเต†เดชเตเดชเต‹เดธเดฟเดฑเตเดฑเต" เดซเต€เตฝเดกเดฟเตฝ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดคเตเด• เดจเตฝเด•เดฟ เดฌเดŸเตเดŸเตบ เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•:

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
10 WAVES เดชเต‡เดฏเตโ€Œเดฎเต†เตปเตเดฑเต‹เดŸเต† เด’เดฐเต เด‡เตปเดตเต‹เด•เตเด•เตเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‡เดŸเดชเดพเดŸเดฟเตฝ เด’เดชเตเดชเดฟเดŸเดพเตป เดตเต‡เดตเตเดธเต เด•เต€เดชเตเดชเตผ เด…เดจเตเดฎเดคเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเดจเตเดจเต.

6. เด‡เดŸเดชเดพเดŸเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด•:

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚
เด‡เดŸเดชเดพเดŸเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเด•เตเดทเต‡เดชเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดชเตเดชเต‹เตพ เด…เดตเดณเตเดŸเต† เดเดกเดฟ เด•เดพเดฃเดพเด‚

7. Waves Explorer เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดŸเดชเดพเดŸเต เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•. เดคเดฟเดฐเดฏเตฝ เดซเต€เตฝเดกเดฟเตฝ เดเดกเดฟ เดจเตฝเด•เตเด•

เดคเดฐเด‚เด—เด™เตเด™เตพ เดฑเตˆเดกเต เดกเดฟเด†เดชเตเดชเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚, เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚

เดจเดฟเด—เดฎเดจเด™เตเด™เดณเตเด‚ เด…เดงเดฟเด• เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚

เดตเต‡เดตเตเดธเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเตฝ เดฒเดณเดฟเดคเดฎเดพเดฏ dApps เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดžเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต:

  • เดฑเตˆเดกเต เดญเดพเดท
  • เดตเดฟเดŽเดธเต เด•เต‹เดกเต เดŽเดกเดฟเดฑเตเดฑเตผ
  • เดตเต‡เดตเตเดธเต เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเตผ
  • เดธเตผเดซเตเดฌเต‹เตผเดกเต
  • เดตเต‡เดตเตเดธเต เด•เต€เดชเตเดชเตผ

เดฑเตˆเดกเต เดชเด เดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดตเตผเด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด•เตพ:

เด•เต‚เดŸเตเดคเตฝ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ
เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพเด•เตเด•เตŠเดชเตเดชเด‚ เด“เตบเดฒเตˆเตป IDE
เดตเต‡เดตเตเดธเต เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเตป
เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเตฝ เดกเต†เดตเดฒเดชเตเดชเตผ เดšเดพเดฑเตเดฑเต
เดคเดฟเดฐเดฎเดพเดฒเด•เดณเตเด‚ เดธเตเดฑเตเดฑเดพเด•เตเด•เตเด“เดตเตผเดซเตเดฒเต‹เดฏเดฟเตฝ เดฑเตˆเดกเตเด‚
เดชเตเดคเดฟเดฏเดคเต! เดตเต‡เดตเตเดธเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเตฝ dApps เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด“เตบเดฒเตˆเตป เด•เต‹เดดเตโ€Œเดธเตเด•เตพ

เดฑเตˆเดกเต เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดกเตˆเดตเดฟเด‚เด—เต เดคเตเดŸเดฐเตเด•, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดฆเตเดฏเดคเตเดคเต† dApp เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•!

เด…เดšเตเดšเต เดกเดฟ.เด†เตผ.: bit.ly/2YCFnwY

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•