ProHoster > Blag > Riarachán > Conas an Waves RIDE dApp a thógáil, a imscaradh agus a thástáil
Conas an Waves RIDE dApp a thógáil, a imscaradh agus a thástáil
Dia dhuit! San Airteagal seo taispeánfaidh mé duit conas dApp rialta a scríobh agus a reáchtáil ar nód Waves. A ligean ar breathnú ar na huirlisí is gá, modhanna agus sampla d'fhorbairt.
Tá an scéim forbartha do dApps agus feidhmchláir rialta beagnach mar a chéile:
Cód a scríobh
Tástáil uathoibrithe a scríobh
Seoladh an t-iarratas
Tástáil
Uirlisí
1. docker chun an nód agus Waves Explorer a rith
Mura bhfuil tú ag iarraidh nód a thosú, is féidir leat an chéim seo a scipeáil. Tar éis an tsaoil, tá líonra tástála agus turgnamhach ann. Ach gan do nód féin a imscaradh, féadfaidh an próiseas tástála tarraingt ar aghaidh.
Beidh cuntais nua ag teastáil uait i gcónaí le comharthaí tástála. Aistríonn faucet an líonra tástála 10 dTONN gach 10 nóiméad.
Is é an meán-am bloc sa líonra tástála ná 1 nóiméad, sa nód - 15 soicind. Tá sé seo faoi deara go háirithe nuair a éilíonn idirbheart deimhnithe iolracha.
Is féidir taisceadh ionsaitheach a dhéanamh ar nóid tástála poiblí.
D’fhéadfadh sé nach mbeidh siad ar fáil go sealadach mar gheall ar chothabháil.
As seo amach glacfaidh mé leis go bhfuil tú ag obair le do nód féin.
Suiteáil Surfboard, uirlis a ligeann duit tástálacha a rith ar nód atá ann cheana féin.
npm install -g @waves/surfboard
3. Breiseán Cód Visual Studio
Tá an chéim seo roghnach mura bhfuil tú ina lucht leanúna de IDEanna agus gur fearr leat eagarthóirí téacs. Is fóntais líne ordaithe iad na huirlisí riachtanacha go léir. Má úsáideann tú vim, tabhair aird ar an mbreiseán vim-turas.
Íoslódáil agus suiteáil Visual Studio Code: https://code.visualstudio.com/
Oscail Cód VS agus suiteáil an breiseán tonnta-turas:
docker run -d -e API_NODE_URL=http://localhost:6869 -e NODE_LIST=http://localhost:6869 -p 3000:8080 wavesplatform/explorer
Oscail brabhsálaí agus téigh go dtí http://localhost:3000. Feicfidh tú cé chomh tapa agus a thógtar ciorcad nód áitiúil folamh.
Léiríonn Waves Explorer sampla nód áitiúil
Struchtúr RIDE agus uirlis Surfboard
Cruthaigh eolaire folamh agus rith an t-ordú ann
surfboard init
Cuireann an t-ordú tús le heolaire le struchtúr an tionscadail, feidhmchláir agus tástálacha “hello world”. Má osclaíonn tú an fillteán seo le Cód VS, feicfidh tú:
Surfboard.config.json
Faoin bhfillteán ./ride/ gheobhaidh tú wallet.ride comhad amháin - an t-eolaire ina bhfuil an cód dApp suite. Déanfaimid anailís achomair ar dApps sa chéad bhloc eile.
Faoin bhfillteán ./test/ gheobhaidh tú comhad *.js. Stóráiltear tástálacha anseo.
./surfboard.config.json – comhad cumraíochta chun tástálacha a rith.
Is cuid thábhachtach é Envs. Tá gach timpeallacht cumraithe mar seo:
críochphointe REST API den nód a úsáidfear chun dApp agus CHAIN_ID an líonra a sheoladh.
Frása rúnda le haghaidh cuntais le comharthaí a bheidh mar fhoinse do do chomharthaí tástála.
Mar a fheiceann tú, tacaíonn surfboard.config.json le timpeallachtaí iolracha de réir réamhshocraithe. Is í an timpeallacht áitiúil an réamhshocrú (paraiméadar inathraithe is ea an eochair defaultEnv).
Sparán-iarratas taispeána
Ní tagairt í an chuid seo don teanga RIDE. Ina ionad sin, breathnú ar an bhfeidhmchlár a dhéanaimid a imscaradh agus a thástáil chun tuiscint níos fearr a fháil ar a bhfuil ag tarlú sa blockchain.
Breathnaímid ar fheidhmchlár taispeána Sparán simplí. Is féidir le duine ar bith comharthaí a sheoladh chuig seoladh dApp. Ní féidir leat ach do WAVES a tharraingt siar. Tá dhá fheidhm @Callable ar fáil trí InvokeScriptTransaction:
deposit()a éilíonn íocaíocht cheangailte i dTONNTAí
withdraw(amount: Int)a thugann comharthaí ar ais
Le linn shaolré dApp, coimeádfar an struchtúr (seoladh → méid):
gníomh
Staid mar thoradh air
tosaigh
folamh
Taisceann Alice 5 TONNTA
seoladh alice → 500000000
Taisceann Bob 2 TONNTA
seoladh alice → 500000000
seoladh bob → 200000000
Tarraingíonn Bob siar 7 dTONN
DÁITEADH!
Tarraingíonn Alice siar 4 TONNTA
seoladh alice → 100000000
seoladh bob → 200000000
Seo é an cód chun an cás a thuiscint go hiomlán:
# 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
Tacaíonn an breiseán VSCode le tiomsú leanúnach agus comhad á chur in eagar. Mar sin, is féidir leat monatóireacht a dhéanamh i gcónaí ar earráidí sa chluaisín FADHBANNA.
Más mian leat eagarthóir téacs difriúil a úsáid agus an comhad á thiomsú agat, bain úsáid as
surfboard compile ride/wallet.ride
Aschuirfidh sé seo sraith de chód RIDE tiomsaithe base64.
Script tástála le haghaidh 'wallet.ride'
Breathnaímid ar comhad tástála. Cumhachtaithe ag creat Mocha JavaScript. Tá feidhm “Roimh” agus trí thástáil ann:
Maoiníonn “Roimh” cuntais iolracha trí MassTransferTransaction, tiomsaíonn sé an script agus imscartar chuig an blockchain é.
Seolann “Is féidir éarlais” Idirbheart InvokeScript chuig an líonra, ag gníomhachtú an fheidhm Taisce() do gach ceann den dá chuntas.
“Ní féidir níos mó a tharraingt siar ná mar a cuireadh i dtaisce” tástálacha nach féidir le haon duine comharthaí daoine eile a ghoid.
Seiceálacha “An féidir a thaisceadh” go ndéantar aistarraingtí a phróiseáil i gceart.
Rith tástálacha ó Surfboard agus déan anailís ar na torthaí in Waves Explorer
Chun an tástáil a rith, rith
surfboard test
Má tá scripteanna iolracha agat (mar shampla, tá script imscartha ar leith ag teastáil uait), is féidir leat rith
surfboard test my-scenario.js
Baileoidh Surfboard na comhaid tástála san fhillteán ./test/ agus reáchtálfaidh sé an script ar an nód atá cumraithe i surfboard.config.json. Tar éis cúpla soicind feicfidh tú rud éigin mar seo:
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)
Hooray! Tástálacha a rith. Breathnaímid anois ar cad a tharlaíonn agus Waves Explorer in úsáid: féach ar na bloic nó greamaigh ceann de na seoltaí thuas sa chuardach (mar shampla, an ceann comhfhreagrach wallet#. Is féidir leat teacht ar stair na n-idirbheart, stádas dApp, comhad dénártha dí-thiomsaithe.
Tonnta Explorer. Feidhmchlár atá díreach imlonnaithe.
Roinnt Leideanna Surfboard:
1. Chun tástáil a dhéanamh sa timpeallacht testnet, bain úsáid as:
Coimeádaí Tonnta a chur ar bun chun oibriú le nód áitiúil
2. Iompórtáil frása rúnda le comharthaí don líonra? Ar mhaithe le simplíocht, bain úsáid as síol tosaigh do nód: waves private node seed with waves tokens. Seoladh: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF.
3. Is féidir leat feidhmchlár aon leathanach gan freastalaí a rith tú féin ag baint úsáide as npm. Nó téigh go dtí an ceann atá ann cheana féin: chrome-ext.wvservices.com/dapp-wallet.html
4. Cuir isteach an seoladh sparán ón rith tástála (a bhfuil líne faoi thuas) isteach sa bhosca téacs seoladh dApp
5. Cuir isteach méid beag sa réimse “Taisce” agus cliceáil ar an gcnaipe:
Iarrann Coimeádaí Tonnta cead chun Idirbheart InvokeScript a shíniú agus íocaíocht 10 dTONNTA aige.
6. Deimhnigh an t-idirbheart:
Cruthaítear an t-idirbheart agus craoltar é chuig an líonra. Anois is féidir leat a ID a fheiceáil
7. Monatóireacht a dhéanamh ar an idirbheart ag baint úsáide as Waves Explorer. Cuir isteach ID sa réimse cuardaigh
Conclúidí agus faisnéis bhreise
D’fhéachamar ar na huirlisí chun dApps simplí a fhorbairt, a thástáil, a úsáid agus a úsáid ar Ardán na dTonnta:
RIDE teanga
Vs eagarthóir cód
Tonnta Explorer
Surfboard
Coimeádaí Tonnta
Naisc dóibh siúd ar mian leo leanúint ar aghaidh ag foghlaim RIDE: