เบชเบฐเบเบฒเบเบเบต! เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเปเบญเบเบเบฐเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบเบเบฝเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ dApp เบเบปเบเบเบฐเบเบดเบขเบนเปเปเบ Waves node. เปเบซเปเปเบเบดเปเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบฒเปเบเบฑเบ, เบงเบดเบเบตเบเบฒเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ.
เปเบเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบชเปเบฒเบฅเบฑเบ dApps เปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบปเบเบเบฐเบเบดเปเบกเปเบเปเบเบทเบญเบเบเบทเบเบฑเบ:
- เบเบฒเบเบเบฝเบเบฅเบฐเบซเบฑเบ
- เบเบฒเบเบเบฝเบเปเบเบเบเบปเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ
- เบเบฒเบเปเบเบตเบเบเบปเบงเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ
- เบเบฒเบเบเบปเบเบชเบญเบ
เปเบเบทเปเบญเบเบกเบท
1. docker
เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบ node เปเบฅเบฐ Waves Explorer
เบเปเบฒเบเปเบฒเบเบเปเปเบเปเบญเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ node, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบกเบเบฑเปเบเบเบญเบเบเบตเป. เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบซเบกเบปเบ, เบกเบตเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเบเบฒเบเบเบปเบเบฅเบญเบ. เปเบเปเปเบเบเบเปเปเบกเบตเบเบฒเบ deploy node เบเบญเบเบเปเบฒเบเปเบญเบ, เบเบฐเบเบงเบเบเบฒเบเบเบปเบเบชเบญเบเบญเบฒเบเบเบฐ drag เบชเบธเบ.
- เบเปเบฒเบเบเบฐเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบฑเบเบเบตเปเบซเบกเปเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเบเบฑเบ tokens เบเบปเบเบชเบญเบ. faucet เปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฐเปเบญเบ 10 WAVES เบเบธเบเป 10 เบเบฒเบเบต.
- เปเบงเบฅเบฒเบเบฅเบฑเบญเบเบชเบฐเปเบฅเปเบเปเบเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเปเบกเปเบ 1 เบเบฒเบเบต, เปเบเปเบซเบเบ โ 15 เบงเบดเบเบฒเบเบต. เบเบตเปเปเบกเปเบเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเบเบชเบฐเปเบเบฒเบฐเปเบเปเบงเบฅเบฒเบเบตเปเบเบธเบฅเบฐเบเปเบฒเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบขเบทเบเบขเบฑเบเบซเบผเบฒเบ.
- เบเบฒเบเปเบเบฑเบเบเปเปเบกเบนเบเปเบเบเบฎเบธเบเบฎเบฒเบเปเบกเปเบเปเบเบฑเบเปเบเปเบเปเปเบเบเปเปเบเบปเบเบชเบญเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ.
- เบเบงเบเบกเบฑเบเบญเบฒเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเบปเปเบงเบเบฒเบงเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบณเบฅเบธเบเบฎเบฑเบเบชเบฒ.
เบเบฒเบเบเบตเปเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ node เบเบญเบเบเปเบฒเบเปเบญเบ.
2. Surfboard Command Line Tool
- เบเบฒเบงเปเบซเบฅเบเปเบฅเบฐเบเบดเบเบเบฑเปเบ Node.js เปเบเบเปเบเป ppa, homebrew เบซเบผเบท exe เบเบตเปเบเบตเป:
https://nodejs.org/en/download/ . - เบเบดเบเบเบฑเปเบ Surfboard, เปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบ node เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง.
npm install -g @waves/surfboard
3. Visual Studio Code plugin
เบเบฑเปเบเบเบญเบเบเบตเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบเปเบฒเบเบเปเปเปเบกเปเบเปเบเบเบเบญเบ IDEs เปเบฅเบฐเบกเบฑเบเบเบปเบงเปเบเปเปเบเบเปเปเบเบงเบฒเบก. เปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเปเบเบทเปเบญเบเปเบเปเบเปเบฒเบชเบฑเปเบ. เบเปเบฒเบเปเบฒเบเปเบเป vim, เปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบ plugin
เบเบฒเบงเปเบซเบผเบ เปเบฅเบฐเบเบดเบเบเบฑเปเบ Visual Studio Code:
เปเบเบตเบเบฅเบฐเบซเบฑเบ VS เปเบฅเบฐเบเบดเบเบเบฑเปเบ plugin waves-ride:
เบชเปเบงเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบ Waves Keeper:
เปเบฅเปเบง!
เปเบฅเบตเปเบก node เปเบฅเบฐ Waves Explorer
1. เปเบฅเบตเปเบก node:
docker run -d -p 6869:6869 wavesplatform/waves-private-node
เปเบซเปเปเบเปเปเบเบงเปเบฒ node เบเบทเบเปเบเบตเบเบเบปเบงเปเบเบเบเปเบฒเบ REST API เปเบ
Swagger REST API เบชเปเบฒเบฅเบฑเบ node
2. เปเบฅเบตเปเบกเบเบปเบงเบขเปเบฒเบเบเบญเบ Waves Explorer:
docker run -d -e API_NODE_URL=http://localhost:6869 -e NODE_LIST=http://localhost:6869 -p 3000:8080 wavesplatform/explorer
เปเบเบตเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเปเบฅเบฐเปเบเบเบตเป
Waves Explorer เบชเบฐเปเบเบเบเบปเบงเบขเปเบฒเบ node เบเปเบญเบเบเบดเปเบ
เปเบเบเบชเปเบฒเบ RIDE เปเบฅเบฐเปเบเบทเปเบญเบเบกเบท Surfboard
เบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบซเบงเปเบฒเบเปเบเบปเปเบฒเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเปเบเบกเบฑเบ
surfboard init
เบเปเบฒเบชเบฑเปเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบตเปเบเบเบชเปเบฒเบเปเบเบเบเบฒเบ, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบเบฒเบเบเบปเบเบชเบญเบ "เบชเบฐเบเบฒเบเบเบตเปเบฅเบ". เบเปเบฒเบเปเบฒเบเปเบเบตเบเปเบเบเปเบเบตเบเบตเปเบเปเบงเบเบฅเบฐเบซเบฑเบ VS, เบเปเบฒเบเบเบฐเปเบซเบฑเบ:
Surfboard.config.json
- เบเบฒเบเปเบเปเปเบเบเปเบเบต ./ride/ เบเปเบฒเบเบเบฐเบเบปเบเปเบซเบฑเบเปเบเบฅเปเบเบฝเบง wallet.ride - เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบฅเบฐเบซเบฑเบ dApp เบเบฑเปเบเบขเบนเป. เบเบงเบเปเบฎเบปเบฒเบเบฐเบงเบดเปเบเบฒเบฐ dApps เบชเบฑเปเบเปเปเบเบเบฅเบฑเบญเบเบเปเปเปเบ.
- เบเบฒเบเปเบเปเปเบเบเปเบเบต ./test/ เบเปเบฒเบเบเบฐเบเบปเบเปเบซเบฑเบเปเบเบฅเป *.js. เบเบฒเบเบเบปเบเบชเบญเบเบเบทเบเปเบเบฑเบเปเบงเปเบเบตเปเบเบตเป.
- ./surfboard.config.json โ เปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบณเบฅเบฑเบเบเบฒเบเปเบฅเปเบเบเบฒเบเบเบปเบเบชเบญเบ.
Envs เปเบกเปเบเบเบฒเบเบชเปเบงเบเบเบตเปเบชเปเบฒเบเบฑเบ. เบชเบฐโเบเบฒเบโเปเบงเบโเบฅเปเบญเบกโเปเบเปโเบฅเบฐโเปเบกเปเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบฑเปเบโเบเบตเปโ:
- REST API endpoint เบเบญเบ node เบเบตเปเบเบฐเปเบเปเปเบเบทเปเบญเปเบเบตเบ dApp เปเบฅเบฐ CHAIN_ID เบเบญเบเปเบเบทเบญเบเปเบฒเบ.
- เบเบฐเปเบซเบเบเบฅเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบตเบเบตเปเบกเบต tokens เบเบตเปเบเบฐเปเบเบฑเบเปเบซเบผเปเบเบเบญเบ tokens เบเบฒเบเบเบปเบเบชเบญเบเบเบญเบเบเปเบฒเบ.
เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, surfboard.config.json เบฎเบญเบเบฎเบฑเบเบซเบผเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ. เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเปเบญเบเบเบดเปเบ (เบเบธเปเบก defaultEnv เปเบกเปเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบเปเบเป).
เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Wallet-demo
เบเบฒเบเบเบตเปเบเปเปเปเบเปเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเบฒเบชเบฒ RIDE. เปเบเบเบเบตเปเบเบฐ, เปเบเบดเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเปเปเบฅเบฐเบเบปเบเบชเบญเบเปเบเบทเปเบญเปเบซเปเปเบเบปเปเบฒเปเบเบเบตเบเบถเปเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบ blockchain.
เบกเบฒเปเบเบดเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Wallet-demo เบเปเบฒเบเป. เบเบธเบเบเบปเบเบชเบฒเบกเบฒเบเบชเบปเปเบ tokens เปเบเบซเบฒเบเบตเปเบขเบนเป dApp. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบ WAVES เบเบญเบเบเปเบฒเบเปเบเปเปเบเบปเปเบฒเบเบฑเปเบ. เบชเบญเบเบเบฑเบเบเบฑเบ @Callable เบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเบฒเบ InvokeScriptTransaction:
deposit()
เปเบเบดเปเบเบเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฒเบเปเบเบดเบเบเบตเปเบเบดเบเบเบฑเบเบกเบฒเปเบ WAVESwithdraw(amount: Int)
เปเบเบดเปเบเบชเบปเปเบเบเบทเบ tokens
เบเบฐเบซเบผเบญเบเบงเบปเบเบเบญเบเบเบตเบงเบดเบเบเบญเบ dApp, เปเบเบเบชเปเบฒเบ (เบเบตเปเบขเบนเป โ เบเปเบฒเบเบงเบ) เบเบฐเบเบทเบเบฎเบฑเบเบชเบฒเปเบงเป:
เบเบฒเบเบเบฐเบเบดเบเบฑเบ
เบชเบฐเบเบฒเบเบฐเบเบปเบเปเบเปเบฎเบฑเบ
เปเบเปเบเบทเปเบญเบเบเบปเปเบ
เบซเบงเปเบฒเบเปเบเบปเปเบฒ
Alice เบเบฒเบ 5 WAVES
alice-address โ 500000000
Bob เบเบฒเบ 2 WAVES
alice-address โ 500000000
bob-เบเบตเปเบขเบนเป โ 200000000
Bob เบเบญเบ 7 WAVES
เบเบฐเบเบดเปเบชเบ!
Alice เบเบญเบ 4 WAVES
alice-address โ 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
เบฅเบฐเบซเบฑเบเบเบปเบงเบขเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเปเบเบตเป
plugin VSCode เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเปเบเบเบฐเบเบฐเบเบตเปเปเบเปเปเบเปเบเบฅเป. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบเบเบเบฑเบเบซเบฒเปเบเปเบเบฐเบซเบผเบญเบเปเบงเบฅเบฒ.
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเปเบเบปเบงเปเบเปเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบกเปเบเบฅเป, เปเบซเปเปเบเป
surfboard compile ride/wallet.ride
เบเบตเปเบเบฐเบญเบญเบเบเบธเบเบเบญเบเบฅเบฐเบซเบฑเบ RIDE เบเบตเปเบฅเบงเบเบฅเบงเบกเบเบฒเบ base64.
เบเบปเบเบชเบญเบเบชเบฐเบเบฃเบดเบเบชเบณเบฅเบฑเบ 'wallet.ride'
เปเบซเปเปเบเบดเปเบเบขเบนเป
- "เบเปเบญเบ" เบชเบฐเบซเบเบญเบเบเบถเบเบซเบผเบฒเบเบเบฑเบเบเบตเบเปเบฒเบ MassTransferTransaction, เบฅเบงเบเบฅเบงเบกเบชเบฐเบเบดเบเปเบฅเบฐเบเปเบฒเปเบเปเบเปเปเบ blockchain.
- "เบชเบฒเบกเบฒเบเบเบฒเบเปเบเบดเบเปเบเป" เบชเบปเปเบ InvokeScriptTransaction เปเบเบซเบฒเปเบเบทเบญเบเปเบฒเบ, เปเบเบตเบเปเบเปเบซเบเปเบฒเบเบตเปเปเบเบดเบเบเบฒเบ () เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฑเบเบเบตเบเบฑเบเบชเบญเบ.
- "เบเปเปเบชเบฒเบกเบฒเบเบเบญเบเปเบเปเบซเบผเบฒเบเบเปเบงเบฒเปเบเบดเบเบเบฒเบ" เบเบฒเบเบเบปเบเบชเบญเบเบเบตเปเบเปเปเบกเบตเปเบเบชเบฒเบกเบฒเบเบฅเบฑเบ tokens เบเบญเบเบเบปเบเบญเบทเปเบ.
- โเบชเบฒเบกเบฒเบเบเบฒเบเปเบเบดเบเปเบเปโ เบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบฒเบเบเบญเบเปเบเบดเบเปเบเปเบเบทเบเบเบฐเบกเบงเบเบเบปเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ.
เบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฒเบ 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, เปเบเบฅเปเบเบฒเบเบชเบญเบเบเบตเปเปเบเบเบซเบฑเบ.
Waves Explorer. เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบซเบฒเบเปเปเบเบทเบเบเบณเปเบเป.
เบเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒ Surfboard:
1. เปเบเบทเปเบญเบเบปเบเบชเบญเบเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก testnet, เปเบเป:
surfboard test --env=testnet
2. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบดเปเบเบชเบฐเบเบฑเบ JSON เบเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบตเปเบเบงเบเบกเบฑเบเบเบทเบเบเบธเบเปเบเปเบเปเบเบ node, เบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเบเปเบงเบ -v (เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ 'verbose'):
surfboard test -v
เปเบเปเปเบญเบฑเบเบเบฑเบ Waves Keeper
1. เบเบฑเปเบเบเปเบฒ Waves Keeper เปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบ:
เบเบฑเปเบเบเปเบฒ Waves Keeper เปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ node เบเปเบญเบเบเบดเปเบ
2. เบเปเบฒเปเบเบปเปเบฒเบเบฐเปเบซเบเบเบฅเบฑเบเบเบตเปเบกเบต tokens เบชเปเบฒเบฅเบฑเบเปเบเบทเบญเบเปเบฒเบ? เปเบเบทเปเบญเบเบงเบฒเบกเบเปเบฒเบเบเบฒเบ, เปเบซเปเปเบเปเปเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบญเบ node เบเบญเบเบเปเบฒเบ: waves private node seed with waves tokens
. เบเบตเปเบขเบนเป: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF
.
3. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบซเบเปเบฒเบเบฝเบง serverless เบเบปเบงเบเปเบฒเบเปเบญเบเปเบเบเปเบเป npm. เบซเบผเบทเปเบเบเบตเปเบญเบฑเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง:
4. เปเบชเปเบเบตเปเบขเบนเป wallet เบเบฒเบเบเบฒเบเบเบปเบเบชเบญเบ (เบเบตเบเบเปเบญเบเบเปเบฒเบเปเบเบดเบ) เปเบชเปเปเบเบเปเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเบขเบนเป dApp
5. เปเบชเปเบเปเบฒเบเบงเบเบเปเบญเบเปเปเบเบเปเบญเบ "เปเบเบดเบเบเบฒเบ" เปเบฅเบฐเบเบฅเบดเบเปเบชเปเบเบธเปเบก:
Waves Keeper เบฎเปเบญเบเบเปเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบเบทเปเบญเปเบเบฑเบเบเบทเป InvokeScriptTransaction เบเปเบงเบเบเบฒเบเบเปเบฒเบเปเบเบดเบ 10 WAVES.
6. เบขเบทเบเบขเบฑเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ:
เบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบฅเบฐเบญเบญเบเบญเบฒเบเบฒเบเปเบเบชเบนเปเปเบเบทเบญเบเปเบฒเบ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบ ID เบเบญเบเบเบฒเบ
7. เบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบเปเบเป Waves Explorer. เปเบชเป ID เปเบเบเปเบญเบเบเบญเบเบซเบฒ
เบเบปเบเบชเบฐเบซเบผเบธเบเปเบฅเบฐเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบก
เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบดเปเบเปเบเบทเปเบญเบเบกเบทเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ, เบเบปเบเบชเบญเบ, เบเบณเปเบเป เปเบฅเบฐเบเบณเปเบเป dApps เบเปเบฒเบเปเปเบเปเบงเบเบต Waves:
- เบเบฒเบชเบฒ RIDE
- VS Code Editor
- Waves Explorer
- เปเบฎเบทเบญเปเบ
- เบเบนเปเบฎเบฑเบเบชเบฒเบเบทเปเบ
เบฅเบดเปเบเบชเบณเบฅเบฑเบเบเบนเปเบเบตเปเบเปเบญเบเบเบฒเบเบชเบทเบเบเปเปเบเบฒเบเบฎเบฝเบเบฎเบนเป RIDE:
เบชเบทเบเบเปเปเปเบเบปเปเบฒเปเบเปเบเบซเบปเบงเบเปเป RIDE เปเบฅเบฐเบชเปเบฒเบ dApp เบเปเบฒเบญเบดเบเบเบญเบเบเปเบฒเบ!
TL; DR:
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com