Galīgā Korda apmācība 2021. gadā

Vēlaties kļūt par Kordas ekspertu? Šajā Corda apmācībā tiks apskatīts viss, kas jums jāzina par Corda lietojumprogrammas izstrādi.

Blockchain ir nogājusi garu ceļu. Ideja par izplatītu virsgrāmatu tehnoloģiju ir atrisinājusi daudzus sāpju punktus, kurus pārdzīvo pašreizējās organizācijas. Galvenais mērķis ir kļūt efektīvākam, drošākam un mērogojamākam, neieguldot miljoniem dolāru.

Corda ir atvērtā koda blokķēdes platforma, kas nodrošina globālu blokķēdes ekosistēmu. Tas piedāvā stingru privātumu, izmantojot viedos līgumus. Tas arī palīdz biznesam veikt tiešus darījumus un nodrošina rentablu pieeju uzņēmējdarbības racionalizēšanai.

Galvenā atšķirība ir tā, kā Korda apstrādā darījumus. Tas ir DLT, kas vēlas uzlabot bloku ķēdes iespējamību, ātrumu un mērogojamību, nepieņemot pilnu virsgrāmatu ar katru vienaudžu. Ja darījumu var pabeigt starp diviem vienaudžiem, neinformējot par to visu tīklu, Korda izmantos šo pieeju. Tas ir paredzēts arī, lai iekļautu citas puses, kas ļauj ērti sekot darījumam un redzēt tā derīgumu. Tā ir izplatīta virsgrāmatas tehnoloģija biznesam.

Sāksim ar mūsu Corda blockchain apmācību tūlīt!

Drīzumā: Corda attīstības kursa iesācējiem ceļvedis

Kā tiek strukturēta Kordas attīstības apmācība?

Mēs sīki aprakstīsim Corda. Lielākajā daļā sadaļu mēs centīsimies aptvert svarīgos Korda jēdzienus.

Galvenie jēdzieni, kurus mēs aplūkosim, ir šādi.

  • Valsts
  • Līgums
  • Plūsmas sekcijas

Mūsu apmācība izveidos IOU lietojumprogrammu. IOU nozīmē “I Owe yoU”. Šis ir vienkāršs fakta izklāsts, ka vienai personai pieder nauda no citas personas. Koncepciju mēs sīkāk aplūkosim vēlāk.

Lai viss būtu vienkāršāk, mēs izmantosim Kotlin programmēšanas valodu. Kā izglītojamam būtu lieliski, ja pazīstat Kotlinu, taču tā nav vajadzīga prasme, lai būtu jāievēro apmācība.

Rīki

Pirms sākam izmantot Corda apmācību iesācējiem, mums būs nepieciešami šādi rīki. Ir arī bloku ķēdes rīki, kurus izstrādātājs patiešām mīl bieži izmantot. Tomēr mēs tos šodien neaptversim.

  • Kotlins
  • Gradle
  • Git
  • IntelliJ
  • Komandrinda

No integrētās attīstības vides mēs izmantosim IntelliJ. Tas vienkāršos mūsu attīstību.


Corda apmācība

Kas ir Korda?

Corda bloku ķēde ir vislabāk definēta kā atvērts avots, kas risina biznesa problēmas, nodrošinot savietojamu bloku ķēdes tīklu. Tās galvenās iezīmes ietver stingru privātumu, efektivitāti un tiešus darījumus, izmantojot viedo līgumu tehnoloģiju.

Kordā izmantotos viedos līgumus var rakstīt, izmantojot JVM valodas vai Java. Corda platformas dApps ir pazīstams kā CorDapps. Viņi arī piedāvā vienādranga mezglu tīklu ar iespēju izmantot Notāra infrastruktūru. Infrastruktūra tiek izmantota darījumu apstiprināšanai un secībai, neprasot translēšanas informāciju pārraidīt visiem tīkla vienaudžiem.

Vēl viena svarīga sastāvdaļa, ko izmanto blokķēde, ietver Flow sistēmu, kas pārvalda sarunas un saziņu starp dalībniekiem.

Izpratne par Kordas virsgrāmatu

Corda Ledger nav līdzīga virsgrāmatu sistēmai, ko izmanto tradicionālās blokķēdes tehnoloģijas. Tāpēc mums ir skaidri jāsaprot, kā tas darbojas, un jāsaprot tas gan no funkcionālā, gan no datu viedokļa.

Kordas virsgrāmata darbojas kā grafiks. Visi diagrammas mezgli ir savienoti viens ar otru tieši vai caur dažiem citiem mezgliem. Visi mezgli var sazināties savā starpā, ja viņi to vēlas. Diagrammas izmantošana nozīmē, ka nav nepieciešams translēt darījumu globāli.

Mezglu atrašana

Tātad, kā mezgli atklāj viens otru? Lai atrastu viens otru, viņi izmanto tīkla karti. Jūs to varat iedomāties, līdzīgi kā tālruņu grāmatā. Tīkla kartē ir metadati, lai atrastu katru no šiem pakalpojumiem, tādējādi nodrošinot jauku veidu karšu atrašanai.

Kā tas darbojas?

Lielākais izaicinājums globālā apraides blokķēdes tīklā ir vienprātība. Tātad, kā mezgli zina viens par otru un pārbauda šo informāciju?

Atbilde šeit ir kopīgi fakti. Katrs mezgls kādā vai citā veidā pārklājas ar jebkuru citu mezglu. Koplietotie fakti tiek glabāti Corda virsgrāmatā, ko pēc tam var izmantot, lai pārbaudītu informāciju. Kordas virsgrāmatā ir šo kopu kopums. Tā kā nav centrālā mezgla, šie mezgli darbojas starpniekserveri, kad ir jāpārbauda lietas. Lai saglabātu šo informāciju, katram mezglam ir glabātuve, kurā ir fakts, kuru nevar mainīt. Šādi izstrādātāji ievieš blokķēdi.

Štatos

Valstis Kordas blokķēdē ir nemainīgas. Tie tiek izmantoti, lai konkrētā brīdī saglabātu kopīgus faktus par darījumu, vienošanos vai līgumu.

Izklausās tehniski? Mēģināsim to sadalīt vienkāršākos vārdos.

Dalīti fakti

Paņemsim divus cilvēkus, izmantojot Corda virsgrāmatu. Nosauksim viņus par Alfa un Bravo.

Abiem ir kopīgs fakts. Kopīgais fakts ir IOU (I Own You). IOU tiek izmantota, ja aizdevējam ir nauda aizdevuma sniedzējam. Lai fakts būtu kopīgs, abiem ir viena un tā pati dalītā informācija, kas attēlota IOU.

Pārstāvēt jebko

Valstis var izmantot, lai pārstāvētu jebko. Tas nozīmē, ka tā var uzglabāt jebkāda veida informāciju dažādiem kordas lietošanas gadījumiem. Kā izstrādātājs jūs varat izmantot štatus, lai uzglabātu KYC informāciju, finanšu instrumentus, sindicētos aizdevumus utt.

Arī stāvokļus var izmantot, lai saglabātu vairākus atribūtus. Bet valstīm ir ierobežojums. Ierobežojums ir tāds, ka pēc tam, kad valstij tiek piešķirts tips, tās veidu nevar mainīt. Ja jūs izveidojat IOU valsti, tad tai būs jānorāda IOU stāvoklis līdz mūža galam.

Nemainīgs un attīstošs

Valstis ir radītas nemainīgas. Tomēr to nemainīgums attiecas uz laiku. Valsts tiek parādīta noteiktā laikā.

Tas nozīmē, ka papildus sākotnējam stāvoklim var izveidot jaunu stāvokli. Tas tiek darīts, kad valstī tiek veiktas jaunas izmaiņas, kuras ir jāuzglabā. Tad veco valsti sauc par vēsturisku.

Piemēram, ja Alpha nomaksās parādu pret Bravo, tad tiks izveidota jauna valsts, atsaucoties uz faktu, ka Alpha ir dzēsa parādu. Turklāt, ja valsts tiks pabeigta, IOU derīguma termiņš beigsies. Vienkārši sakot, valsts dzīves cikls šajā gadījumā ir šāds.

  1. Tiek parādīts pirmais stāvoklis, lai parādītu, ka Alfa ir parādā Bravo. Tas norāda arī dalīties ar vairāk informācijas par IoU, ieskaitot datumu, laiku, procentu likmi, aizdotās summas un citu noderīgu informāciju, kas nepieciešama IoU.
  2. Tagad, kad Alfa atrisina parādu, tiek izveidota jauna valsts, kas atjaunina jauno informāciju. Vecā valsts nekādā veidā netiek skarta, jo tā ir nemainīga.
  3. Jaunais stāvoklis tagad ir atjaunināts divu lietotāju kopīgotajos faktos.
  4. Tagad vecā valsts tiek saukta par vēsturisku. Vienā darījumā var būt vairāki vēsturiski stāvokļi. Tas var novest pie stāvokļu secības izveidošanas.
  5. Tiek izveidota secības galva, kas attiecas uz pēdējo stāvokli. Arī jaunākās valstis tiek sauktas par neizmantotām.

Lasīt vairāk: Hyperledger vs Corda vs Ethereum salīdzināšanas ceļvedis

Gatavošanās attīstības videi

Tagad, kā norādīts dApp izstrādes ceļvedī, videi jābūt gatavai Corda izstrādes apmācībai. Lai sāktu, jums ir nepieciešami šādi rīki.

  • Oracle JDK 8 JVM – v8u171 vai jaunāka versija.
  • Git
  • IntelliJ IDEJA

Klonēšanas Git repozitorijs

Labākais veids, kā sākt savu ceļojumu, ir CorDapp piemērs mūsu attīstības vidē. Labā ziņa ir tā, ka Corda piedāvā CorDapp piemēru, kuru varat lejupielādēt un palaist lokāli.

Varat klonēt repozitoriju lokāli, izmantojot komandu git clone, kā norādīts zemāk.

git klons http://github.com/roger3cev/corda-training-template.git

Apmācībai mēs izmantosim IntelliJ, lai importētu git repozitoriju. Atveriet IntelliJ. Kad tas būs izdarīts, jūs redzēsiet iespēju pārbaudīt versiju vadību. Noklikšķiniet uz tā un pēc tam klonējiet repozitoriju savā datorā.

Jūs varat izvēlēties saglabāt projektu; jūs atradīsit projekta repozitoriju, kā norādīts zemāk.

Apakšējā labajā stūrī jūs atradīsit paziņojumu, kurā teikts: importējiet Gradle projektu, piemēram, zemāk. Ir svarīgi, lai mūsu Corda apmācība darbotos.

Noklikšķiniet uz “Import Gradle Project”.

Jums arī jāiestata projekta SDK. Atveriet projekta iestatījumus un pēc tam atlasiet jaunāko Java versiju. Manā gadījumā tas tika iestatīts uz Java 11.0.5.

Ja atrodat kļūdu, ko palaist, jums jāatjaunina Gradle un jāļauj importēt nepieciešamos krātuves, lai tas darbotos. Lai to izdarītu, būs vajadzīgs zināms laiks. Tātad, ieņemiet aizmugurējo sēdekli un gaidiet, kamēr tas tiks pabeigts.

Man vajadzēja apmēram 20 minūtes, lai pabeigtu visus Gradle atkarību atjauninājumus.

Ātri apskatīsim mūsu Corda apmācības projekta struktūru. Mūsu galvenā krātuve ir src fails. Kad mēs izmantojam Kotlin, mēs izmantosim Kotlin-source mapi; zem tā atradīsit mapi src. Lūdzu, nejauciet to ar mapi java-source.

Šeit jūs atradīsit visus nepieciešamos failus apmācības mapē. Ir arī “testa” mape, kurā ir lietojumprogrammas testa vienības.

Vēl viens svarīgs fails, par kuru mums jāzina, ir IOUState.kt. Tas atrodas apmācības ietvaros > Valsts.

Valsts vienību testu darbība

IOUState klase izskatās ļoti vienkārša. Tas vēl nav pabeigts. Mēs izmantosim testa vadītu izstrādes metodiku, lai izstrādātu klasi un sagatavotu to darbam.

Testu virzīta attīstība ir lieliska pieeja mūsdienu attīstības praksei. Tas jau no paša sākuma palīdz novērst kļūdas vai citus jautājumus.

Tāpēc lejupielādētajai veidnei jau ir atbilstoši testi katrai klasei, ieskaitot līgumu, plūsmu un stāvokli.

Lai sāktu, mums jādodas uz Testiem > Kotlins> tīkls > Corda > apmācība > Valsts > IOUStateTests

Tur jūs atradīsit jau uzrakstītus testus. Tam ir arī daudz tonnu dokumentācijas. R3 Corda komanda ir veltījusi laiku, lai izveidotu veidni.

Lai veiktu vienu testu, jums ir jāatceļ sadaļa, kā parādīts zemāk.

Atlasiet kodu un nospiediet Ctrl + /, lai komentētu. Ja izmantojat MAC, lai komentētu, izmantojiet CMD + /.

Tagad mums ir pienācis laiks veikt vienības pārbaudi.

Tā kā mūsu IOUState klase ir gandrīz tukša, testi neizdosies, un jūs saņemsiet šādu testa kļūdu.

Kā redzat, tas saka, ka Kotlin-source: tests neizdevās NoSuchFieldException dēļ. Tas nozīmē, ka tests gaida mainīgo lielumu tur, kur to nav atrasts.

Lai to labotu, mums jāatgriežas pie mūsu faila IOUState.kt un tas ir jārediģē. Ja Tu zini kā izveidot blokķēdes lietotni, tas jums būs vienkāršs uzdevums.

Pirms mēs turpinām, mums labāk jāsaprot Kotlins. Lai saprastu kodu, kuru mēs rediģēsim, labāk ir iegūt ievadu. Kotlins ir blīva programmēšanas valoda. Turklāt Kotlins gatavojas pārveidot par JVM virtuālo mašīnu, tāpēc mums vajadzētu būt labi, izmantojot to mūsu apmācībā.

  • datu klase IOUState → Šis atslēgvārds nozīmē, ka mēs definējam datu klasi ar nosaukumu “IOUState”.
  • val dati → mainīgā deklarācija. Lauka nosaukums ir dati
  • Virkne = “dati” → tas nosaka datu mainīgā noklusējuma vērtību, ja nekas nav definēts.
  • ContractState → Saskarne

Ja pēc testa veicāt visas izmaiņas failā IOUState.kt, klase IOUState izskatīsies šādi.

datu klase IOUState (val summa: summa,

                   val aizdevējs: puse,

                   val aizņēmējs: puse,

                   val samaksāts: Summa = Summa (0, summa. runāts),

                   ignorēt val linearId: UniqueIdentifier = UniqueIdentifier ()): LinearState {

   / **

    * Šis rekvizīts satur mezglu sarakstu, kas var “izmantot” šo stāvokli derīgā darījumā. Šajā gadījumā

    * Aizdevējs vai aizņēmējs.

    * /

   ignorēt val dalībnieki: Saraksts gūt() = listOf (aizdevējs, aizņēmējs)

   / **

    * Palīgmetodes, veidojot darījumus IOU norēķināšanai un pārsūtīšanai.

    * – [maksāt] samaksā apmaksātajam īpašumam summu. Tā neveic validāciju.

    * – [arNewLender] izveido pašreizējā stāvokļa kopiju ar tikko norādīto aizdevēju. Lietošanai, pārvietojot.

    * /

   jautri maksāt (summaToPay: summa) = kopija (samaksāts = samaksāts.pluss (summaToPay))

   jautri withNewLender (newLender: Party) = kopija (aizdevējs = newLender)

}

Tagad jums vajadzētu būt iespējai pievienot palīgu metodes saskaņā ar iepriekš sniegtajiem komentāriem.

Vai vēlaties kļūt par Kordas ekspertu? Šeit ir ceļvedis līdz R3 Corda sertifikācijai, kas palīdzēs jums veikt sertifikācijas procesu.

Corda Kontakti

Mēs uzzinājām, ka valstis var pārtapt jaunās valstīs. Izstrādātāji var kontrolēt virsgrāmatas valsts attīstību, izmantojot līgumus. Šajā sadaļā mēs detalizēti uzzināsim par līgumiem.

Tā kā R3 Corda nav atkarīgs no ziņojumu apraides visā tīklā, katram štata tipam tiek izmantota vienota darījumu pārbaudes definīcija. Tādā veidā Kordas tīkls pārbauda darījumu un gūst vienprātību. Tas ir diezgan līdzīgs tam, kā citi blokķēdes reģistrē darījumus.

Corda līgumi tiek īstenoti, izmantojot funkcijas. Jūs varat domāt par stāvokļiem kā par datu glabāšanas vienībām, un līgumi ir veids, kā pārbaudīt datus un to stāvokļa izmaiņas. Šīs verifikācijas funkcijas ir raksturīgas stāvokļa tipam.

Lai nodrošinātu, ka valstis var pārbaudīt un ir izmantojamas, katrai valstij jābūt atsaucei ar līgumu.

Katrā līgumā ir divi priekšmeti, ieskaitot līguma kodu un juridisko prozu.

Lai to saprastu, apskatīsim nākamo attēlu.

Kā redzat, līgumā ir divi priekšmeti, un štatā šim kodam ir IOU līguma atsauce.

Juridiskā proza: Juridiskā proza ​​tiek izmantota kā atsauce uz juridisko līgumu. To izmanto, lai nodrošinātu, ka strīda gadījumā var izmantot esošo tiesisko regulējumu un tiesu sistēmu.

Citas Corda līgumu galvenās iezīmes ir šādas

  • Vairāki līgumi var atsaukties uz līgumu. Līgumā var būt arī vairāki valsts veidi
  • Corda izmanto verifikācijas funkciju, lai pārbaudītu piedāvāto darījumu
  • Pārbaudes metodes paraksts ir šāds
  • jautri pārbaudīt (tx: darījums): vienība
  • Pārbaudes metode pārbauda darījumu, izpildot visus ierobežojumus. Ja ierobežojums neizdodas, tiks izmests izņēmums; pretējā gadījumā darījums tiks uzskatīts par derīgu.
  • Pārbaudes funkcija ir deterministiska.

The blockchain veidnēs ir arī Corda līgumu kods. Jums vajadzētu arī vērsties pie Kordas līgumiem, kas līdzīgi štatiem. Tas būtu noderīgi, ja jūs apmeklētu Corda testa vienības un pēc tam pievienotu nepieciešamo kodu līgumu klasē.

Corda darījumi

Mūsu nākamā pietura ir Kordas darījumi. Tieši darījumi ļauj veikt stāvokļa izmaiņas.

Tātad, kas ir darījums? Vislabāk to var definēt kā konteineru, kurā ir atsauces uz ievades stāvokli (0 vai vairāk). Viņi arī rada stāvokļus (0 vai vairāk).

Darījumi ļauj tīklam darboties optimāli, ļaujot vairākiem vienaudžiem reāllaikā mijiedarboties. Tas ļauj divām pusēm veikt atomu apmaiņu, netraucējot citas vienaudžu darbības. Turklāt darījumiem ir atomu raksturs. Tas nozīmē, ka darījumu nekad nevar samazināt vai sadalīt.

Ir arī trīs veidu darījumi: Apdrošināšana, Atjauninājumi un Iziet. Katram no tiem ir sava darba kārtība. Uzskaitīsim tos tālāk.

  • Apdrošināšana → Izveido jaunas valstis
  • Atjauninājumi → Mainīt stāvokļa rekvizītus
  • Iziet → Noņemiet no virsgrāmatas stāvokļus

Korda plūst

Corda plūsmas ir darbības, kas nepieciešamas, lai vienaudži veiktu (izpildītu) veiksmīgu darījumu.

Plūsma nosaka CorDapp pamatdarbības loģiku. Tā ir atbildīga par to, lai darījumi tiktu izpildīti pareizā secībā un pareizos parametros. Tā kā darījumi pēc būtības ir sarežģīti, plūsmas ir nepieciešamas, lai nodrošinātu, ka viss darbojas kā paredzēts.

Plūsmas kontrole nodrošina, kad sazināties, ko sazināties un ar ko sazināties.

Tas ir pilnīgs pretstats citām izplatītajām virsgrāmatu tehnoloģijām, kas koncentrējas uz darījuma detaļu pārraidīšanu visā tīklā. Korda plaukst darījumos no punkta uz punktu, kur darījumiem ir jābūt diviem svarīgiem parametriem – sūtītājam un uztvērējam.

Galvenās lietas, kas jums jāzina par plūsmām

  • Plūsmas var pabeigt dažu sekunžu laikā vai var paiet vairākas dienas
  • Viņi ir pilnīgi autonomi
  • Plūsmas guļ, pirms atrod atbildes gaidīšanu
  • Plūsmas seko Flow Framework, kas nodrošina mehānismu izstrādātājiem, lai nodrošinātu pareizu stāvokļa mašīnu attīstību.
  • Plūsmas var būt gan pārī, gan vienpusēji
  • Izstrādātāji var arī kodēt apakšplūsmas, lai padarītu kodu vienkāršāku

Vai vēlaties to uzņemt un kļūt par ekspertu? Šeit ir ceļvedis, kā izveidot blokķēdi Python.

Vienprātība

No visām aizraujošajām lietām, par kurām līdz šim esam runājuši, Korda ir īpaša lieta, kā tā panāk vienprātību. Kordai ir unikāla pieeja, un tāpēc tā ir dzīvotspējīga uzņēmumiem, kas tur darbojas.

Pirmkārt, Korda izmanto divus vienprātības algoritmus. Tas ietver sekojošo

  • Vienotības vienprātība → Šī vienprātības metode nodrošina, ka virsgrāmatā nekad nenotiek konflikti
  • Verifikācijas konsenss → Verifikācijas konsenss apstrādā darījumus un nodrošina, ka saskaņā ar līguma kodu nenotiek konflikti. Tas atvieglo kopīga stāvokļa attīstību tīklā.

Galvenās lietas, kas jums jāzina par Kordas konsensu:

  • Unikāls konsenss nodrošina, ka virsgrāmatas atjauninājumi vienmēr ir unikāli. Turklāt tas pārliecinās, ka virsgrāmata ir derīga atjaunināšanas laikā.
  • Pārbaudes konsenss nodrošina atjauninājuma derīgumu.

Kordas mezgls

Pēdējā Kordas sadaļa, kuru mēs šeit apspriedīsim, ir Kordas mezgls. Kordas mezgls ir augsta līmeņa skats uz Kordu.

Tātad, kas īsti ir Kordas mezgls?

Corda mezgls ir entītija, kas darbojas Java virtuālajā mašīnā. Tas ietver sekojošo

  • Tā piedāvā glabāšanas pakalpojumus un velves
  • SQL DB atbalsta glabātavas un krātuves pakalpojumus
  • Pielikumu glabāšanai tiek izmantotas īpašas mapes
  • Piedāvā pielāgotu funkcionalitāti un iebūvētus paplašinājumus, kas pazīstami kā CorDapps
  • Piedāvā RPC klienta ietvaru

Šādi izskatās Kordas mezgls.

Kā redzat, tajā ir visi nepieciešamie aspekti, lai palaistu Corda tīklu. Viņi mijiedarbojas ar plūsmu un nodrošina pielāgotu CorDapp funkcionalitāti.

Secinājums

Tas mūs noved pie mūsu Corda apmācības beigām. Šeit mēs paskatījāmies uz Corda un mēģinājām redzēt IoU CorDapp. Mēs apspriedām tās dažādās sadaļas, izmantojot veidņu apmācību, kas pieejama Corda GitHub repozitorijā.

Mūsu mērķis ir sākt darbu ar Corda, nemēģinot izskaidrot visu, ko Corda piedāvā. Lai to izdarītu, vienmēr varat izmantot Corda dokumentāciju. Mums ir arī gaidāmais kurss par Corda izstrādes apmācību. Jums noteikti vajadzētu to pārbaudīt, ja vēlaties saņemt pilnīgu izstrādes rokasgrāmatu.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map