αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž›αž€ RIDE dApp

αžŸαž½αžŸαŸ’αžαžΈ! αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŸαžšαžŸαŸαžš αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš dApp αž’αž˜αŸ’αž˜αžαžΆαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„ Waves αŸ” αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž§αž”αž€αžšαžŽαŸαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž αž“αž·αž„αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž›αž€ RIDE dApp

αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ dApps αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž˜αŸ’αž˜αžαžΆαž‚αžΊαžŸαŸ’αž‘αžΎαžšαžαŸ‚αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ–

  • αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αžΌαžŠ
  • αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·
  • αž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ
  • αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž

αž§αž”αž€αžšαžŽαŸ

1. docker αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš node αž“αž·αž„ Waves Explorer

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž…αž„αŸ‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αž“αžΆαŸ†αž„αž‘αŸ αž’αŸ’αž“αž€αž’αžΆαž…αžšαŸ†αž›αž„αž‡αŸ†αž αžΆαž“αž“αŸαŸ‡αŸ” αž™αŸ‰αžΆαž„αžŽαžΆαž˜αž·αž‰αž˜αžΆαž“αž”αžŽαŸ’αžαžΆαž‰αžŸαžΆαž€αž›αŸ’αž”αž„αž“αž·αž„αž–αž·αžŸαŸ„αž’αž“αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžŠαŸ„αž™β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αžŠαžΆαž€αŸ‹β€‹αž–αž„αŸ’αžšαžΆαž™β€‹αžαŸ’αž“αžΆαŸ†αž„β€‹αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αžαŸ’αž›αž½αž“β€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€β€‹αž‘αŸ αžŠαŸ†αžŽαžΎαžšβ€‹αž€αžΆαžšβ€‹αžŸαžΆαž€αž›αŸ’αž”αž„β€‹αž’αžΆαž…β€‹αž“αžΉαž„β€‹αž’αžΌαžŸβ€‹αž”αž“αŸ’αž›αžΆαž™αŸ”

  • αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‚αžŽαž“αžΈαžαŸ’αž˜αžΈαž‡αžΆαž“αž·αž…αŸ’αž…αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαžΆαž€αž›αŸ’αž”αž„αŸ” faucet αž”αžŽαŸ’αžαžΆαž‰αžŸαžΆαž€αž›αŸ’αž”αž„αž•αŸ’αž‘αŸαžš 10 WAVES αžšαŸ€αž„αžšαžΆαž›αŸ‹ 10 αž“αžΆαž‘αžΈαž˜αŸ’αžαž„αŸ”
  • αž–αŸαž›αžœαŸαž›αžΆαž”αŸ’αž›αž»αž€αž‡αžΆαž˜αž’αŸ’αž™αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰αžŸαžΆαž€αž›αŸ’αž”αž„αž‚αžΊ 1 αž“αžΆαž‘αžΈαž€αŸ’αž“αž»αž„αžαŸ’αž“αžΆαŸ†αž„ - 15 αžœαž·αž“αžΆαž‘αžΈαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž…αŸ’αžšαžΎαž“αŸ”
  • αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžˆαŸ’αž›αžΆαž“αž–αžΆαž“αž‚αžΊαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžŸαžΆαž’αžΆαžšαžŽαŸˆαŸ”
  • αž–αž½αž€αž‚αŸαž€αŸαž’αžΆαž…αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‡αžΆαž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“ αžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαžαŸ‚αž‘αžΆαŸ†αŸ”

αž…αžΆαž”αŸ‹αž–αžΈαž–αŸαž›αž“αŸαŸ‡αžαž‘αŸ… αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

2. αž§αž”αž€αžšαžŽαŸαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ Surfboard

  • αž‘αžΆαž‰αž™αž€ αž“αž·αž„αžŠαŸ†αž‘αžΎαž„ Node.js αžŠαŸ„αž™αž”αŸ’αžšαžΎ ppa, homebrew ឬ exe αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ– https://nodejs.org/en/download/.
  • αžŠαŸ†αž‘αžΎαž„ Surfboard αžŠαŸ‚αž›αž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ”

npm install -g @waves/surfboard

3. αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ Visual Studio Code

αž‡αŸ†αž αžΆαž“αž“αŸαŸ‡αž‚αžΊαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž’αŸ’αž“αž€αž‚αžΆαŸ†αž‘αŸ’αžš IDEs αž αžΎαž™αž…αžΌαž›αž…αž·αžαŸ’αžαž’αŸ’αž“αž€αž€αŸ‚αž’αžαŸ’αžαž”αž‘αŸ” αž§αž”αž€αžšαžŽαŸαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎ vim αžŸαžΌαž˜αž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž›αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ vim-αž‡αž·αŸ‡.

αž‘αžΆαž‰αž™αž€ αž“αž·αž„αžŠαŸ†αž‘αžΎαž„ 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

αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαžαž‡αžΆαž˜αž½αž™αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αž˜αŸ’αžšαŸ„αž„ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž "αž‡αŸ†αžšαžΆαž”αžŸαž½αžšαž–αž·αž—αž–αž›αŸ„αž€" αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΎαž€ Folder αž“αŸαŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎ 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 αž‚αžΊαž‡αžΆβ€‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšβ€‹αžŠαŸ‚αž›β€‹αž’αžΆαž…β€‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšβ€‹αž”αžΆαž“)αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Wallet-demo

αž•αŸ’αž“αŸ‚αž€αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž―αž€αžŸαžΆαžšαž™αŸ„αž„αž‘αŸ…αž—αžΆαžŸαžΆ RIDE αž‘αŸαŸ” αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž™αžΎαž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„ αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Wallet-demo αžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αŸ” αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž’αžΆαž…αž•αŸ’αž‰αžΎαžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ dApp αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžŠαž€ WAVES αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž˜αž»αžαž„αžΆαžš @Callable αž–αžΈαžšαž˜αžΆαž“αžαžΆαž˜αžšαž™αŸˆ InvokeScriptTransactionαŸ–

  • deposit()αžŠαŸ‚αž›αž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαž‘αžΌαž‘αžΆαžαŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™ WAVES
  • withdraw(amount: Int)αžŠαŸ‚αž›αžαŸ’αžšαž‘αž”αŸ‹αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹

αž–αŸαž‰αž˜αž½αž™αžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαžšαž”αžŸαŸ‹ dApp αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ (αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ β†’ αž…αŸ†αž“αž½αž“) αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αŸ–

αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–
αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž›αž‘αŸ’αž’αž•αž›

αžŠαŸ†αž”αžΌαž„
αž‘αž‘αŸ

Alice αžŠαžΆαž€αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹ 5 WAVES
αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“ alice β†’ 500000000

Bob αžŠαžΆαž€αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹ 2 WAVES

αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“ alice β†’ 500000000
bob-αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ β†’ 200000000

αž›αŸ„αž€ Bob αžŠαž€ 7 WAVES
αž”αžŠαž·αžŸαŸαž’!

αž’αžΆαž›αžΈαžŸαžŠαž€ 4 WAVES
αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“ alice β†’ 100000000
bob-αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ β†’ 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 αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αž‡αžΆαž”αž“αŸ’αžαžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž―αž€αžŸαžΆαžšαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αž“αž€αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž αžΆαŸ”

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž›αž€ RIDE dApp
αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’αž’αžαŸ’αžαž”αž‘αž•αŸ’αžŸαŸαž„αž“αŸ…αž–αŸαž›αž…αž„αž€αŸ’αžšαž„αž―αž€αžŸαžΆαžš αžŸαžΌαž˜αž”αŸ’αžšαžΎ

surfboard compile ride/wallet.ride

αžœαžΆαž“αžΉαž„αž…αŸαž‰αž‡αžΆαžŸαŸŠαŸαžšαžΈαž“αŸƒαž€αžΌαžŠ RIDE αžŠαŸ‚αž›αž”αžΆαž“αž…αž„αž€αŸ’αžšαž„ base64 αŸ”

αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŸαžΆαž€αž›αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ 'wallet.ride'

αžαŸ„αŸ‡αž˜αžΎαž› αž―αž€αžŸαžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„. αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ Mocha αžšαž”αžŸαŸ‹ JavaScript αŸ” αž˜αžΆαž“αž˜αž»αžαž„αžΆαžš "αž˜αž»αž“" αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž”αžΈ:

  • "αž˜αž»αž“αž–αŸαž›" αž•αŸ’αžαž›αŸ‹αž˜αžΌαž›αž“αž·αž’αž·αžŠαž›αŸ‹αž‚αžŽαž“αžΈαž…αŸ’αžšαžΎαž“αžαžΆαž˜αžšαž™αŸˆ MassTransferTransaction αž…αž„αž€αŸ’αžšαž„αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž αžΎαž™αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžœαžΆαž‘αŸ… blockchain αŸ”
  • β€œαž’αžΆαž…αžŠαžΆαž€αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹β€ αž•αŸ’αž‰αžΎ 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
αžšαž›αž€ Explorer αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžŠαŸ‚αž›β€‹αž‘αžΎαž”β€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžŠαžΆαž€αŸ‹β€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžΎαŸ”

αž‚αž“αŸ’αž›αžΉαŸ‡αžαŸ’αž›αŸ‡αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ SurfboardαŸ–

1. αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸ testnet αžŸαžΌαž˜αž”αŸ’αžšαžΎαŸ–

surfboard test --env=testnet

αž‘αž‘αž½αž›αž”αžΆαž“αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŸαžΆαž€αž›αŸ’αž”αž„

2. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αžƒαžΎαž‰αž€αŸ†αžŽαŸ‚ JSON αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αžαŸ’αž“αžΆαŸ†αž„ αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž‡αžΆαž˜αž½αž™ -v (αž˜αžΆαž“αž“αŸαž™αžαžΆ 'verbose'):

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. αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ serverless single page αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ npmαŸ” αž¬αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ– chrome-ext.wvservices.com/dapp-wallet.html

4. αž”αž‰αŸ’αž…αžΌαž›αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž€αžΆαž”αžΌαž”αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„ (αž‚αžΌαžŸαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžαžΆαž„αž›αžΎ) αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž’αž”αŸ‹αž’αžαŸ’αžαž”αž‘αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ dApp

5. αž”αž‰αŸ’αž…αžΌαž›αž…αŸ†αž“αž½αž“αžαž·αž…αžαž½αž…αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž› "αžŠαžΆαž€αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹" αž αžΎαž™αž…αž»αž…αž”αŸŠαžΌαžαž»αž„:

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž›αž€ RIDE dApp
Waves Keeper αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŠαžΎαž˜αŸ’αž”αžΈαž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαž›αžΎ InvokeScriptTransaction αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‘αžΌαž‘αžΆαžαŸ‹ 10 WAVES αŸ”

6. αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ–

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž›αž€ RIDE dApp
αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž•αŸ’αžŸαžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž”αžŽαŸ’αžαžΆαž‰αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αž“αžΆαž„

7. αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎ Waves Explorer αŸ” αž”αž‰αŸ’αž…αžΌαž›αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αŸ’αž“αž»αž„αžœαžΆαž›αžŸαŸ’αžœαŸ‚αž„αžšαž€

αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αžšαž›αž€ RIDE dApp

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“ αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜

αž™αžΎαž„αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαž αžŸαžΆαž€αž›αŸ’αž”αž„ αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ dApps αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆ WavesαŸ–

  • αž—αžΆαžŸαžΆαž‡αž·αŸ‡
  • VS αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’αž€αžΌαžŠ
  • αžšαž›αž€ Explorer
  • αž‡αž·αŸ‡αž”αž“αŸ’αž‘αŸ‡αž€αŸ’αžαžΆαžš
  • αž’αŸ’αž“αž€αžšαž€αŸ’αžŸαžΆαžšαž›αž€

αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž…αž„αŸ‹αž”αž“αŸ’αžαžšαŸ€αž“ RIDEαŸ–

αž§αž‘αžΆαž αžšαžŽαŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž
IDE αž›αžΎαž”αžŽαŸ’αžαžΆαž‰αž‡αžΆαž˜αž½αž™αž§αž‘αžΆαž αžšαžŽαŸ
αž―αž€αžŸαžΆαžšαžšαž›αž€
αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‡αž‡αŸ‚αž€αž“αŸ…αž€αŸ’αž“αž»αž„ Telegram
αžšαž›αž€αž“αž·αž„αž‡αž·αŸ‡αž›αžΎαž‡αž„αŸ‹
αžαŸ’αž˜αžΈ! αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆαžαžΆαž˜αž’αŸŠαž·αž“αž’αžšαžŽαŸαžαžŸαŸ’αžαžΈαž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž dApps αž“αŸ…αž›αžΎ Waves Platform

αž”αž“αŸ’αžαž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž’αžΆαž“αž”αž‘ RIDE αž αžΎαž™αž”αž„αŸ’αž€αžΎαž dApp αžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€!

TL; αž€αž»αž„: bit.ly/2YCFnwY

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹