Sådan udvikles en DApp på VeChain (II): Setup & Walk Around

Synkronisering: Desktop VeChain DApp-miljø.

Opsætning på 3 minutter

Store! Jeg kan se, at du har overlevet den sidste tutorial, nu er det tid til at begynde at programmere. Den første ting, vi har brug for, er et Sync-miljø.

Okay, lad os nu klone Sync-projektkildekoden i en terminal og spin den op i dev-tilstand:

> mkdir legepladser
> cd legepladser /
> git klon git@github.com: vechain / thor-sync.electron.git
> cd thor-sync.electron /
> node -v # Sørg for, at du har node.js> V10.0.0 installeret
> npm installation # Installer afhængigheder
> npm run dev # Start synkroniseringen i dev mode

Når du ser Sync-elektronvinduet dukke op, er vi alle klar!

Boot up: npm run dev

Poke omkring: Bekendt med Sync

Okay, lad os nu lægge terminalen til side og fokusere mere på GUI-vinduet. Sync er en browser-lignende tegnebog, der er indlejret med Connex.js-bibliotek, som kan tilbyde den webside, der kører inden i den, muligheden for at kommunikere med VeChain blockchain.

Opret en testbog

Først, lad os oprette en testbog til os selv:

Gå til tegnebogspanelet for at se eksisterende tegnebøger.

Fantastisk, klik nu på det øverste højre “tegnebog” -ikon, hvis du er på testnet, er der allerede 3 tegnebøger til rådighed til test: "Foo", "Baz" og "Bar". Lad dem være i fred, lad os klikke på knappen "Opret" for at oprette en ny.

Opret en ny tegnebog til vores test
Du kan også importere din eksisterende tegnebog af Ethereum i Sync, samt bruge en tredjepartsgenerator til at oprette en tegnebog, som VeChain Address Generator på github.

Følg instruktionerne på Synkronisering nu. Jeg har en tegnebog med en offentlig adresse, den indeholder i øjeblikket 0 VET og 0 VTHO :

0xa7a609b928c4eac077d0e5640f3fa650746c4fcf

Tænd tegnebogen med VTHO

Dernæst udfylder vi den nyligt oprettede tegnebog ved at tilføje nogle VTHO-midler til den. VTHO bruges som gebyret, der brændstof for transaktionerne og på testnet. Hvor får jeg det? VeChain-kerneteamets DApp-demo: VET / VTHO-vandhane!

Gå videre, besøg webadressen: https://faucet.vecha.in i Sync, og du vil se en interessant webside, der giver VTHO gratis på testnet:

Få gratis VET / VTHO på testnet

Følg knappen "Gør krav på tokens" midt på websiden, og lad os få noget gratis VET / VTHO til test. Husk at vælge den tegnebog, du oprettede, og indtast adgangskoden i overensstemmelse hermed for at kræve tokens. Jeg har allerede gjort krav på 500 erhvervsuddannelse med 500 VTHO.

Spil med Connex.js API'er

Nu hvor vi har penge på testnet, lad os gå videre til at udforske blockchain-funktionaliteterne leveret af Sync, biblioteket connex.js. Lad os åbne en ny tom fane og derefter skifte udviklerværktøjer for at se, hvad der bruges til bilag:

Åbn Developer Tools for at besøge Connex.

Når du er på konsollen af ​​udviklerværktøjerne (ligesom Chrome udviklerværktøjer), skal du indtaste følgende kode:

> forbinde
 {version: "1.2.0", thor: {…}, leverandør: {...}}
thor: {ticker: ƒ, konto: ƒ, blok: ƒ,…}
sælger: {tegn: ƒ, ejet: ƒ}
udgave: "1.2.0"
__proto __: Objekt

Ja, hvert eneste vindue har allerede implanteret connex-objektet på websiden. Og dette connex-objekt kan gøre en masse ting med VeChain-netværket. Lad os udforske nogle enkle:

Spil med konto ()

> var acc = connex.thor.account ('0xa7a609b928c4eac077d0e5640f3fa650746c4fcf')
> acc.get (). derefter (info => {console.log (info)})
Lover {
> parseInt ('0x1b1ae4d6e2ef500000')
500.000.000.000 milliarder
> parseInt ('0x1b1af7398584067000')
500.005.175.000 milliarder

Her forespørgte jeg lige min nyoprettede tegnebog, hvilket resulterer i et svarobjekt af "balance", "energi" og "hasCode" felter. "Balance" er den erhvervsuddannelse, som denne konto har, og "energi" er VTHO-beløbet.

Spil med ticker ()

I VeChain-netværket ved vi ikke nøjagtigt, hvornår en ny blok er produceret, men vi vil bestemt have besked, når den produceres. ticker giver os dette kighul for at blive underrettet. Vi bruger stadig debug-konsollen i Sync:

> var t = connex.thor.ticker ()
undefined
> t.næste (). derefter (() => {console.log ('ny blok!')})
ny blok!

Cool ret? Efter ca. 3–10 sekunder udskrives denne "nye blok!" -Meddelelse, og vi ved, at der tilføjes en ny blok øverst i kæden.

ticker er et løfte, der aldrig afvises, så vi behøver kun at levere en resolut-funktion. Vi har ikke længere brug for setTimeout-funktion!

Spil med opkald ()

Faktisk er selve VTHO-kontrakten en ERC20 / VIP180-kompatibel kontrakt, der bor på VeChain! Og ved du hvad, jeg ved tilfældigvis adressen på det på testnet:

0x0000000000000000000000000000456e65726779

For dem, der ikke forstår ERC20 / VIP180, er en kontrakt et lang levende objekt på blockchain. At tænke på det som et sæt af programinstruktioner og en simpel, fri form, permanent opbevaring, som programmet styrer det. ERC20 / VIP180-kontrakter er enkle "virtual bank" -program, der holder styr på hver enkelt klient og hans balance i en bestemt virtuel mønt / token.

Så vi har adressen på en kontrakt, hvordan kalder vi den? Meget simpelt.

> const balanceOfABI = {
  'konstant': sandt,
  'input': [
    {
      'navn': '_ejer',
      'type': 'adresse'
    }
  ],
  'navn': 'balanceOf',
  'output': [
    {
     'navn': 'balance',
     'type': 'uint256'
    }
  ],
  "betales": falsk,
  'stateMutability': 'view',
  'type': 'funktion'
}
> const balanceOfMethod = connex.thor.account ('0x00000000000000000000000000000000456e65726779'). Metode (balanceOfABI)
> const balanceInfo = afvente balanceOfMethod.call ('0xa7a609b928c4eac077d0e5640f3fa650746c4fcf')
> console.log (balanceInfo)
{data: "0x000000000000000000000000000000000000000000000000001b1b428acf29437000", begivenheder: Array (0), overførsler: Array (0), gasBrugt: 870, tilbageført: falsk,…}

Vi leverer først kontraktmetoden ABI (funktionssignatur) og opretter derefter en handler med kontraktens distributionsadresse. Endelig kalder vi kontraktmetoden med opkald () og leverer den med en parameter, en adresse på den konto, vi er interesseret. Store! Nu har vi resultatet!

Resumé

Nok til dagens undersøgelse!

For at sammenfatte, har vi:

  1. Gik dig gennem installationen af ​​Sync.
  2. Kør et eksempel DApp i Sync og få noget gratis VET / VTHO.
  3. Spil med VeChain blockchain med det for implanterede connex javascript-objekt.

Fra den næste tutorial bruger vi vores viden, vi lærer i dag, og bygger en webside (front-end) af en eksisterende smart kontrakt, VTHO-kontrakt (Ja, en god fyr har gjort det for os, vi låner det bare). Vær klar og lad os gå!

Alle episoder med tutorials:

  • Sådan udvikles en DApp på VeChain (I) : Intro
  • Sådan udvikles en DApp på VeChain (II): Setup & Walk Around
  • Sådan udvikles en DApp på VeChain (III): Komponenter og kodning

Kan du lide mine tutorials? Venter på, at du donerer ved hjælp af Sync ved at klikke nedenfor: