Quam aedificare, explica ac test undas EQUITO dApp

Salve! In hoc articulo monstrabo tibi quomodo scribere et currere regularem dApp in nodo undarum. Intueamur necessaria instrumenta, methodos et exemplum evolutionis.

Quam aedificare, explica ac test undas EQUITO dApp

Ratio evolutionis dapps et applicationes regulares fere eadem sunt;

  • Scribere codice
  • Scribens automated temptationis
  • Deductis ad applicationem
  • Testis

vasa cantici

1. docker nodi currere et fluctus Explorer

Si nodi incipere non vis, hunc gradum transilire potes. Post omnes, probatio et experimentalis ornatum est. Sed sine nodo tuo explicas, processum probatio trahat.

  • Constanter novis rationibus testatis signis indigetis. Test faucet network transfert 10 FLUCTUS omnis 10 minuta.
  • Mediocris tempus scandalum in retis test est 1 minute, in nodo – 15 secundis. Hoc imprimis notabile est cum res plures confirmationes requirit.
  • Caching petulantia in nodis testium publicarum fieri potest.
  • Possunt etiam esse ad tempus perpendat propter sustentationem.

Posthac ponam te tuo nodo operari.

2. Surfboard Imperii linea Mors

  • Download et inaugurare Node.js ppa, homebrew vel exe hic: https://nodejs.org/en/download/.
  • Surfboard instrue, instrumentum quod permittit ut probationes in nodi existente curras.

npm install -g @waves/surfboard

3. Visual Studio Code plugin

Hic gradus libitum est si IDEs ventilabrum non es et editoribus textum praefers. Omnia necessaria instrumenta recta utilitas imperant. Si vim uteris, operam ad plugin vim-ride.

Download Visual Studio et install Code: https://code.visualstudio.com/

Open VS Code and install the fluctus-vehi plugin:

Quam aedificare, explica ac test undas EQUITO dApp

Fluctus custos navigatoris extensio: https://wavesplatform.com/products-keeper

Factum est?

Satus nodi et fluctus Explorer

1. Satus nodi:

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

Fac ut nodi iactum sit per CETERA API in http://localhost:6869:

Quam aedificare, explica ac test undas EQUITO dApp
Swagger CETERA API pro nodi

2. Committitur instantia fluctus Explorer:

docker run -d -e API_NODE_URL=http://localhost:6869 -e NODE_LIST=http://localhost:6869 -p 3000:8080 wavesplatform/explorer

Aperire pasco et vade ad http://localhost:3000. Videbis quam cito cathena nodi vacui loci construatur.

Quam aedificare, explica ac test undas EQUITO dApp
Fluctus Explorer ostendit loci nodi exempli

EQUITO structuram et instrumentum Surfboard

Facere inani presul et imperium in eo currunt

surfboard init

Praeceptum initiale directorium cum structurae exertae, "salve mundi" applicationes ac probat. Si folder VS cum Codice aperias, videbis:

Quam aedificare, explica ac test undas EQUITO dApp
Surfboard.config.json

  • Sub ./ride/ folder invenies unum fasciculum wallet.ride - indicem ubi dApp codice sita est. Breviter dAppas in proximo stipite resolvemus.
  • Sub ./test/ folder invenies *.js fasciculum. Hie reponuntur Probat.
  • ./surfboard.config.json - configuration lima pro currit probat.

Envs est huj. Quisque sit amet felis quam.

  • CETERA API terminus nodi qui dApp et CHAIN_ID aenei ad immittendi usus erit.
  • A secret phrase for an account with the signs that will be the sources of your test signis.

Ut videre potes, surfboard.config.json plures ambitus per defaltam sustinet. Default est ambitus localis (pro defaultEnv clavis est modulus mutabilis).

vidulum demo application

Haec sectio non referenda est ad linguam vehi. Sed potius vide applicationem quam explicamus et probamus ut melius intellegatur quid in impedimento agatur.

Intueamur simplicem applicationem pera-demo. Quisquam potest mittere signa ad dApp oratio. Tu modo fluctus tuos subducere potes. Duo munera @Callable praesto sunt per InvokeScriptTransaction:

  • deposit()quae extraordinaria solutione FLUCTUS
  • withdraw(amount: Int)signis quae redit

In cyclo dApp, structura (inscriptio → moles) conservabitur;

actionis
Ex re publica

initial
inanis

Alice deposits 5 FLUCTUS
alice-inscriptio → 500000000

Bob deposita II FLUCTUS

alice-inscriptio → 500000000
Bob-electronica → 200000000

Bob recedit VII FLUCTUS
NEGAVIT!

Alice recedit IV FLUCTUS
alice-inscriptio → 100000000
Bob-electronica → 200000000

Hic in codice ad pleniorem condicionem intellegendam est;

# 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

Sample codice reperiri quoque potest GitHub.

VSCode plugin compilationem continuam sustinet dum limam edens. Ideo semper monitores errores in Problematis tab.

Quam aedificare, explica ac test undas EQUITO dApp
Si alio textu uti voles editor, cum tabella componens, utere

surfboard compile ride/wallet.ride

Hanc seriem base64 compilavit EQUITO codicem constituet.

Test scriptum pro 'wallet.ride'

Intueamur test file. Powered by JavaScript's Mocha framework. Est "Ante" munus et tria probat:

  • "Antequam" multae rationes per MassTransferTransactionem fundunt, scripturam conficit et ad impedimentum disponit.
  • "Potest deponere" InvokeScriptTransaction in retiaculum mittit, depositum activum () munus pro singulis duabus rationibus.
  • “Non plus recedere potest quam depositum est” probat quod nemo potest aliorum signa furari.
  • "Deponere potest" compescit abstractiones recte discursum esse.

Currere probationes ex Surfboard et analyses proventus in Fluctibus Explorer

Test currere, currere

surfboard test

Si multa scripta habes (exempli gratia, scripturam separatam instruere debes), currere potes

surfboard test my-scenario.js

Surfboard colliget tabellas testium in ./test/ folder et percurret scripturam in nodo, quae in surfboard.config.json configuratur. Post pauca secundis aliquid simile hoc videbis;

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)

euge! Probat Sutrium. Nunc inspice quid eveniat cum exploratoribus fluctibus utens: vide caudices vel crustulum unam ex inscriptionibus supra in inquisitionem (exempli gratia correspondentem. wallet#. Illic historiam transactionem invenire potes, dApp statum, fasciculum binarium compilatum.

Quam aedificare, explica ac test undas EQUITO dApp
Fluctus Explorer. Applicatio quae modo explicatur.

Aliqui Surfboard Apicibus:

1. Temptare in ambitu testnet, utere:

surfboard test --env=testnet

Ut signa test

2. Si vis videre JSON versiones transactionum et quomodo a nodo processit, percurre tentationem cum -v.

surfboard test -v

Usura apps cum fluctus custodis

1. fluctus constitue custodis ad opus: http://localhost:6869

Quam aedificare, explica ac test undas EQUITO dApp
Undarum nodi cum loci custodis ad profecta est opus

2. Inferre secretam phrasim cum signis ad network? Pro simplici, utere primo semine nodi tui; waves private node seed with waves tokens. Oratio: 3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF.

3. Currere potes inservientem paginae singulae applicatione te utendo npm. Vel i ad existentem; chrome-ext.wvservices.com/dapp-wallet.html

4. Ingreditur pera inscriptio e test run (underlined above) in dApp electronica text box

5. Intra parva moles in "depositum" campum et deprime puga;

Quam aedificare, explica ac test undas EQUITO dApp
Custos undae licentiam petit ut InvokeScriptTransaction cum solutione 10 FLUCTUUM subscribendi.

6. Confirma rem;

Quam aedificare, explica ac test undas EQUITO dApp
Transactio creatur et iaci ad ornatum. Nunc videre potes id . eius

7. Monitor rei gestae per fluctus Explorer. Intra ID in agro quaerere

Quam aedificare, explica ac test undas EQUITO dApp

Conclusiones et informationis

Inspeximus instrumenta ad explicandum, probandum, explicandum et adhibendum simplex dApps in rostris undarum:

  • Lingua equitare
  • VS Codex Editor
  • fluctus Explorer
  • Surfboard
  • Fluctus custos

Vincula pro iis qui discendi vehi cupiunt pergere:

Plura exempla
Online IDE cum exemplis
Fluctus Documenta
Curabitur in elit Telegram
Fluctus equitant super StackOverflow
NOVUS! Online cursus in creando dApps in unda rostris

Continue tribuo in RHO topic ac primum crea dApp!

TL, DR: bit.ly/2YCFnwY

Source: www.habr.com

Add a comment