āĻšā§āĻ¯āĻžāĻ˛ā§! āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻŦ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ Waves āĻ¨ā§āĻĄā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ 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-āĻāĻ° āĻ
āĻ¨ā§āĻ°āĻžāĻā§ āĻ¨āĻž āĻšāĻ¨ āĻāĻŦāĻ āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻāĻŋ āĻāĻā§āĻāĻŋāĻā§ˇ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻšāĻ˛ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŋāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻāĻŋāĻ¤ā§ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻ¨
āĻāĻŋāĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻā§āĻĄāĻŋāĻ āĻā§āĻĄ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
VS āĻā§āĻĄ āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻāĻ¯āĻŧā§āĻ-āĻ°āĻžāĻāĻĄ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻŋāĻĒāĻžāĻ° āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨:
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨!
āĻ¨ā§āĻĄ āĻāĻŦāĻ āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻā§āĻ¸āĻĒā§āĻ˛ā§āĻ°āĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨
1. āĻ¨ā§āĻĄ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨:
docker run -d -p 6869:6869 wavesplatform/waves-private-node
āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¨ā§āĻĄāĻāĻŋ REST API āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§āĻā§
āĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ 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
āĻāĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻ¯āĻžāĻ¨
āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻā§āĻ¸āĻĒā§āĻ˛ā§āĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¨ā§āĻĄ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§
āĻ°āĻžāĻāĻĄ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻĢāĻŦā§āĻ°ā§āĻĄ āĻā§āĻ˛
āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻ¤ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨
surfboard init
āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻžāĻ āĻžāĻŽā§, "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ" āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°āĻāĻŋ āĻāĻŋāĻāĻ¸ āĻā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻ˛ā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨:
Surfboard.config.json
- ./ride/ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĢāĻžāĻāĻ˛ wallet.ride āĻĒāĻžāĻŦā§āĻ¨ - āĻ¯ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ dApp āĻā§āĻĄāĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦā§āĻ˛āĻā§ āĻ¸āĻāĻā§āĻˇā§āĻĒā§ dApps āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻŦāĨ¤
- ./test/ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§āĻ° āĻ¨āĻŋāĻā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ *.js āĻĢāĻžāĻāĻ˛ āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻāĻžāĻ¨ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ.
- ./surfboard.config.json â āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛āĨ¤
Envs āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻāĻžāĻāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻāĻ āĻŽāĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
- āĻ¨ā§āĻĄā§āĻ° REST API āĻļā§āĻˇ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¯āĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° dApp āĻāĻŦāĻ CHAIN_ID āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
- āĻā§āĻā§āĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻĒāĻ¨ āĻŦāĻžāĻā§āĻ¯āĻžāĻāĻļ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¤ā§āĻ¸ āĻšāĻŦā§ā§ˇ
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, surfboard.config.json āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻšāĻ˛ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦā§āĻļ (defaultEnv āĻā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ)āĨ¤
āĻāĻ¯āĻŧāĻžāĻ˛ā§āĻ-āĻĄā§āĻŽā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨
āĻāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ RIDE āĻāĻžāĻˇāĻžāĻ° āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻŦāĻ°āĻ, āĻŦā§āĻ˛āĻāĻā§āĻāĻ¨ā§ āĻā§ āĻāĻāĻā§ āĻ¤āĻž āĻāĻ°āĻ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ āĻ¤āĻž āĻĻā§āĻā§āĻ¨āĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¯āĻŧāĻžāĻ˛ā§āĻ-āĻĄā§āĻŽā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĻā§āĻāĻŋāĨ¤ āĻ¯ā§ āĻā§āĻ āĻāĻāĻāĻŋ dApp āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻā§āĻā§āĻ¨ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻĒāĻ¨āĻžāĻ° WAVES āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. InvokeScriptTransaction āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĻā§āĻāĻŋ @Callable āĻĢāĻžāĻāĻļāĻ¨ āĻāĻĒāĻ˛āĻŦā§āĻ§:
deposit()
āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ WAVES-āĻ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ āĻ°ā§āĻĨāĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨withdraw(amount: Int)
āĻ¯āĻž āĻā§āĻā§āĻ¨ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ
dApp āĻā§āĻŦāĻ¨āĻāĻā§āĻ° āĻā§āĻĄāĻŧā§, āĻāĻžāĻ āĻžāĻŽā§ (āĻ āĻŋāĻāĻžāĻ¨āĻž â āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ) āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻž āĻšāĻŦā§:
āĻāĻ°ā§āĻŽ
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ°āĻžāĻˇā§āĻā§āĻ°
āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻāĻŋāĻ
āĻāĻžāĻ˛āĻŋ
āĻ
ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸ 5 āĻ¤āĻ°āĻā§āĻ āĻāĻŽāĻž āĻāĻ°ā§
āĻāĻ˛āĻŋāĻ¸-āĻ āĻŋāĻāĻžāĻ¨āĻž â 500000000
āĻŦāĻŦ 2 āĻ¤āĻ°āĻā§āĻ āĻāĻŽāĻž āĻāĻ°ā§
āĻāĻ˛āĻŋāĻ¸-āĻ āĻŋāĻāĻžāĻ¨āĻž â 500000000
āĻŦāĻŦ-āĻ āĻŋāĻāĻžāĻ¨āĻž â 200000000
āĻŦāĻŦ ā§āĻāĻŋ āĻ¤āĻ°āĻā§āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ° āĻāĻ°ā§
āĻ
āĻ¸ā§āĻŦā§āĻā§āĻ¤!
āĻāĻ˛āĻŋāĻ¸ ā§ĒāĻāĻŋ āĻ¤āĻ°āĻā§āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ° āĻāĻ°ā§
āĻāĻ˛āĻŋāĻ¸-āĻ āĻŋāĻāĻžāĻ¨āĻž â 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
āĻāĻāĻŋ āĻŦā§āĻ¸64 āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž RIDE āĻā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻŦā§āĨ¤
'wallet.ride'-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ
āĻāĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ¨
- "āĻāĻā§" MassTransferTransaction āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻĢāĻžāĻ¨ā§āĻĄ āĻāĻ°ā§, āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§ āĻāĻŦāĻ āĻŦā§āĻ˛āĻāĻā§āĻāĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤
- "āĻāĻŽāĻžāĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨" āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻāĻāĻāĻŋ 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 āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ, āĻĄāĻŋāĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻĢāĻžāĻāĻ˛ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¤āĻ°āĻā§āĻ āĻāĻā§āĻ¸āĻĒā§āĻ˛ā§āĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯āĻž āĻ¸āĻŦā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŋāĻā§ āĻ¸āĻžāĻ°ā§āĻĢāĻŦā§āĻ°ā§āĻĄ āĻāĻŋāĻĒāĻ¸:
1. āĻā§āĻ¸ā§āĻāĻ¨ā§āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
surfboard test --env=testnet
2. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° JSON āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨ā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ, -v āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ (āĻŽāĻžāĻ¨ā§ 'āĻāĻžāĻ°ā§āĻŦā§āĻ¸'):
surfboard test -v
āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻŋāĻĒāĻžāĻ° āĻ¸āĻš āĻ ā§āĻ¯āĻžāĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž
1. āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻŋāĻĒāĻžāĻ° āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°ā§āĻ¨:
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻŋāĻĒāĻžāĻ° āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
2. āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻā§āĻ¨ āĻ¸āĻš āĻā§āĻĒāĻ¨ āĻŦāĻžāĻā§āĻ¯āĻžāĻāĻļ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻŦā§āĻ¨? āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻ¨ā§āĻĄā§āĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨: waves private node seed with waves tokens
. āĻ āĻŋāĻāĻžāĻ¨āĻž: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF
.
3. āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻĒāĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻŋāĻā§āĻ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨ āĻāĻāĻ āĻĒā§āĻˇā§āĻ āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ
āĻĨāĻŦāĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻāĻāĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨:
4. dApp āĻ āĻŋāĻāĻžāĻ¨āĻž āĻā§āĻā§āĻ¸āĻ āĻŦāĻā§āĻ¸ā§ āĻā§āĻ¸ā§āĻ āĻ°āĻžāĻ¨ (āĻāĻĒāĻ°ā§ āĻāĻ¨ā§āĻĄāĻžāĻ°āĻ˛āĻžāĻāĻ¨ āĻāĻ°āĻž) āĻĨā§āĻā§ āĻāĻ¯āĻŧāĻžāĻ˛ā§āĻ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ˛āĻŋāĻā§āĻ¨
5. "āĻāĻŽāĻžāĻ¨āĻ¤" āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻāĻŋ āĻā§āĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ˛āĻŋāĻā§āĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¤āĻžāĻŽāĻāĻŋ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨:
āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻŋāĻĒāĻžāĻ° 10āĻāĻŋ āĻāĻ¯āĻŧā§āĻā§āĻ° āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻā§āĻāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻ°āĻžāĻ¨āĻā§āĻ¯āĻžāĻāĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋāĻ° āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°ā§āĨ¤
6. āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨:
āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻ° āĻāĻāĻĄāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
7. Waves Explorer āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻŽāĻ¨āĻŋāĻāĻ° āĻāĻ°ā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻĄāĻŋ āĻ˛āĻŋāĻā§āĻ¨
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻāĻŦāĻ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯
āĻāĻŽāĻ°āĻž āĻāĻ¯āĻŧā§āĻāĻ¸ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ dApps āĻŦāĻŋāĻāĻžāĻļ, āĻĒāĻ°ā§āĻā§āĻˇāĻž, āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻāĻŋ:
- RIDE āĻāĻžāĻˇāĻž
- āĻāĻŋāĻāĻ¸ āĻā§āĻĄ āĻāĻĄāĻŋāĻāĻ°
- āĻāĻ¯āĻŧā§āĻāĻ¸ āĻāĻā§āĻ¸āĻĒā§āĻ˛ā§āĻ°āĻžāĻ°
- āĻ¸āĻžāĻ°ā§āĻĢāĻŦā§āĻ°ā§āĻĄ
- āĻ¤āĻ°āĻā§āĻ āĻ°āĻā§āĻˇāĻžāĻāĻžāĻ°ā§
āĻ¯āĻžāĻ°āĻž RIDE āĻļā§āĻāĻž āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻā§āĻ:
RIDE āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻĄā§āĻŦ āĻĻā§āĻāĻ¯āĻŧāĻž āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ dApp āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨!
TL; āĻĄāĻŋāĻāĻ°:
āĻāĻ¤ā§āĻ¸: www.habr.com