 Tudod, hogy köszönjük. Tudod, hogy köszönjük. Tudod, hogy köszönjük. Tudod, hogy mindenkit alapvetően nem emeszek ő Daniel. És akkor ezek utána, hát mondjuk bevezetés szinkén, azt mondanám, hogy valami olyan jövés mi lesz mára a téma, hogy a legelléén egy kicsit átmegyek azon, hogy mi az pontosan, hogy Hyperledger febrig, illetve esetleg a magában a konzorciumi technógiában is egy kicsit elmélyedünk. Tehát, hogyha valaki esetleg ezeket az a témákat nem ismerné, akkor az előadás és az utána való rész az ön hordó lesz ilyen szempontból, hogy végig megyek egy-két dolgon, hogy mit jelent az a konzorciumi blockchain technógiá és mit jelent a Hyperledger. És a második felében fogunk alapvetően egy kicsit programozgadni, főleg a febrig szempülszint nézzük, mert, hogyha valaki nem ért az egészhez, akkor is szerintem egy ilyen ön hordó módon érdemes végig nézni, és akkor a végén alapvetően jobban fogja haza az egészhez érteni. Én bízom benne, hogy mindenki látja a képernyőmet, majd időnként itt váltogatni fogok screenek között, szójátok, hogyha valami nem működik, vagy valamelyik screenváltás, valamiért nem látható. Illetve nyugodtan szakítsatok meg a gondoljátok, hát vagy élőszóba, vagy itt van egy chat valahol, és elvileg itt a chat, elvileg élesbe is vagyunk, és a YouTube-ban livestreamben látható is az előadás. Úgyhogy időnként így egyszem ránézni a chat-re, úgyhogy ha bármi kérdés van, akkor vagy állítsatok meg, vagy itt a chat-be tegyétek fel nyugodtan és szójatok. Az a terf, hogy nagyobból azért végig mondom az egészet, és akkor a végére hagyjunk egyébként nagyobb, mi ez ilyen diskussziót, ahol esetleg általános kérdéseket is át lehet beszélni, menetközben inkább a témával kapcsolatos kérdésekről tegyetek fel a kérdést, hogyha lehetséges. Úgyhogy itt igazából ez lett volna eken a bevezetően, úgyhogy elvileg élesbe vagyunk, és ilyen bizon benni, hogy lassan bejön az is, aki alapvetően be akart jönni erre a mitábra, és hát bizon benni, hogy valami újdonságot fogtok tanulni. Elvelnézés kérek, én alapvetően tegezni szoktam, így főleg mindenkit, úgyhogy remélem, se enki nem is értudik meg. Rájta, illetve a másik az, hogy, tehát így kamerát magamról nem akarnék megmutatni ennek főleg, vagy azok, ahogy két éve fővon lágozok, úgyhogy ilyenkor, ilyenkor nem annyira nézett ki, úgyhogy szélszesen alapvetően, de én bizon benni, hogy mivel ez egy erősen technikai anyag, ezért nem is lesz rá szükség, tehát ez végül is nem egy szélszpresentáció, hanem inkább egy technikai anyag, szerintem sokkal inkább az fontos, amit mondok, és illetve, ami a slideokon van, és nem az, hogy én milyen szélszmos, hogy tudok menet közben, hát mondjuk, úgyhogy adni vagy nem adni. Úgyhogy a rögtönnel is kezdeném, és még egyszer mondom, akkor az első fél óla az egyen általános bevezetés lenne, mint konszarációmi blockchain-ben, mint pedig a febriknek az architecturájában, itt azért az fontos tudni, hogy febriket nem lehet igazából programozni, annél külhogy az ember ne értené, hogy mi van mögötte egy kicsit. Tehát ez nem egy olyan dolog, hogy csak így elkezdjük programozni, és kész, hanem igazából a febrik programozásnak, hát a kihívás, azért kihívás igazából, mert ami mögötte van azt érteni kell, mint blockchain színtem, mint pedig enterprise blockchain színtem. Úgy kezdenék egy rövid bevezetéssel, ha alakfeltően nagyon elnézés, a slide-ok azok angolú vannak, azokat nem, hát mondjuk úgy, hogy nem fordítottam le, de bizony benné, hogy ez nem akossz azért problémát. Nagyon gyorsan egy gyors bevezetést arról, hogy mi az, hogy konszort szűmi blockchain. Magában blockchain-ben nem mennék nagyon bele, így csak egy slide-ot néznék át, hogy igazából a blockchain az valami olyan, az így egy kis kutokól, olyan, mint tcpipi, csak nem információ átviterre, hanem valami félre hát ilyen értékkalakú szolgáltatások megvalósítására szolgál. És ugye ahhoz, hogy látsuk, hogy hogy néz ki egy ilyen blockchain, az alapvetően van öt darab része, amit körülbelül kell tudni, ugye egyrészt vannak a transzakciók, tehát alapvetően egy high-peleger, vagy egy tetszüleges blockchain, az semmi más nem csinál, mint transzakciót érvényesik. No, lényegében ennyi, amit csinál egy blockchain. Ugye az a trükie ennek alapvetően a blockchain-nek, hogy ezt nem feltétlen egy központosított elem segítségével érvényesíti ezeket a transzakciókat, hanem egy úgynevezett pír-tupír hálózat segítségével, ugye a pír-tupír hálózat, az viszonylag sok egymástól független csomó pont, ami kvázi egyen értékűek, tehát mindegyik ugyanaz csinálja. Ez mondjuk pont a febriknél nem lesz teljes mertékben igaz, de elvileg lehet ott is olyan csomó pontok a harmaza, ahol mindegyik ugyanaz csinálja. És ugye egy transzakciót érvényesítünk, az lényegében egy transzakciós adott bázisba fog belekerülni, transzakció érvényesítés, az amiólyasítjelent, hogy egy konszenzusra kell jutni a hálózatnak, típikusan minden egyes csomó pont azt mondja, hogy érvényes, vagy mindegyik azt mondja, hogy nem érvényes, illetvez konszorciú block csinálni el lehet egy kisit árni annyi. De ugye a konszenzusra jutottunk, valahogy egy hálózat megmondta egy transzakcióról, egy érvényese vagy sem, ugye azt alapvetően egy adott bázisba fogjuk letárolni, egy transzakciós adott bázisba, ahol az összes érvényes transzakció lettárolódik, és például a legtöbb block chain rendszernén, ugye ez egy block chain, tehát ez a hessekkal összekötött adott batchek lényegében. De ugye attól függetlenül, hogy ezt hogy néz ki, ez lényegében semmi más, mint egy transzakciós adott bázis. És akkor van még valami ilyen titkos, nyilvános kultukriptográfia, amikkel tipikusan a transzakciókot aláírjuk. És akkor alapvetően az a különbség, egy konszorkció, és egy teljesen nyílt rendszer között, hogy ki az, aki hozzáfér ezekhez a komponensekhez, ugye két komponensről kell beszélni, az egyik a transzakciókról, a másik pedig a biértupír hálózatnál. Ugye egy érvényos block chain rendszerben, általában ezeket a csomó pontokat bárki üzemeltethet ít, bárki futhattatja. Tehát, hogyha mondjuk egy Ethereum vagy egy Bitcoin hálózatnál, ugye ezeket a csomó pontokat bárki lett ölti a kódot, mondjuk a Githubról, akkor a saját laptopján elindíthatja, az máskérés, hogy Bányaszti nem tud, de ugye elindíteni el tudja, és lényegében futhattatja az egész hálózatot, transzakciókat érvényesíthet. Bányaszti nem tud, de transzakciókat mindenképpen tud akár egy, hát egy kicsit ízmosabb laptopon is érvényesíteni. Tehát itt igazából az a kérdés, hogy a peer-to-peer hálózat egyes csomó pontja itt ki az, aki futhattathatja, és egy érvános hálózatnál, egy úgynevezett public blockchain-él kvázi mindenki, még egy consortiumi hálózatnál ezt főleg cégek üzemeltetetik, tehát ezek a csomó pontok ezek főleg cégek névannak kint, és nincs az a szkenárió, hogy bárki egy ilyen csomó pontot netről elindzíthat valahol és csatlakozni tudják ez a hálózathoz. Ezek tipikusan céges consortiumi valamilyen kollaborációt írnak le, és igazából nem is teljesmértékben pseudonim, tehát ugye egy érvános blockchain-él alakvetően nem tudja az ember, hogy kivel transzabtál. Itt jó esél azért van valami consortiumi együttműködés cégek között, és még igazából azt is lehet tudni esetleg, hogy kikicsoda, hogy minden transzakcionál lehet tudni, hogy kikicsoda, de legalább az lehet tudni, hogy kik vannak a hálózatba, és azok mögött ugye címek vannak, cégek vannak, és is valamilyen identitíts van. Úgyhogy az első nagy különbség consortiumi technógiáknál, hogy akik fúttatják ezt a pir-tupír hálózatot, azok nem teljesmértékben anonim szereplők valahol a világban, hanem valamilyen céges consortiumnak a tagjai tipikusan. Így különbség, záltalában abból szokott adodni, hogy ki az, akik ezeket a transzakciókat elérik, indítani tudják. Úgyhogy a alapvetően mondjuk, egy bitcoim vagy egy Ethereum hálózat, az teljesmértékben nyilvános, tehát, hogyha én letöltök, vagy én szerzek, tehát való, hogy fölájtok egy valetet, és szerzek valahogy mondjuk étert, amivel transzaktálni tudnak a hálózaton, akkor igazából senki nem tud engem kitiltani abból, hogy én nyilvános a hálózaton. Tehát ez egy teljesmértékben nyilvános hálózat ilyen szempontból. Még azért consortiumi rendszereknél tipikusan nem mindenki transzaktál a rendszerem, hanem még egyszer általában van valahány cég, akik valamilyen consortiumban akarnak együtt működni, és jó esélyel ők fogják ezeket a transzakciókat használni, ők fogják ezeket a transzakciókat elérni. Úgyhogy ez igazából a nagy különbség, mondjuk, nyilvános és consortium a blockchain rendszerek között. És akkor egy-két ilyen általános júszkész vagy egy-két különbséget mutatnék még talán bevezetés szintjén. Alapvetően van egy-két koncepcionális különbség, hogy ha az ember aközött, hogy az ember nyilvános vagy consortiumi blockchain-rel dolgozik. Alapvetően úgyhogy mondtuk, mondjuk, egy nyilvános blockchain az téleg a világot is már elérhető. És ebből más követelmények származnak. Típikus na más követelmény származik a konceszus, mert hanizmusra az egésznek a jogos újság rendszerére és a többi, és a többi. A consortium mi hálózatnál ez nem teljesen egy úgynevezett trázt lesz környezet, hanem ez egy úgynevezett semi tráztít, ahol alapvetően jól esélyen lehet tudni, hogy kik a cégek, aki félszvenc nekem ebben az egészben. És ezért nem nincsenek olyan nagyon nagy követelmények például, hogy teljes mértékben hát ilyen általános módon működjön a konceszus algoritmus, általában valami fél egy jól sab és hatékonyabb konceszus algoritmus lehet megvalósítani. Ugyanakkor általában mondjuk egy consortiumi blockchainnek más követelményel is vannak, amik nem tipikusok egy nyilvános blockchain hálózatnál, tehát ilyen például az, hogy jogos újságot lehessen a transzakciókhoz, tehát és nem csak azt, hogy mondjuk valaki végre tudja hajtani a transzakciót vagy nem, hanem esetleg olyan szintű jogos újságokat, hogy mondjuk, hogyha valamilyen dolgot administrállunk a blockchainen, akkor ahhoz is külön a jogos újságokat is irányosan hozzárendelni, hogy ki az, aki holvasni tudja, ki az, aki hírni tudja, ki az, aki editálni tudja, ki az, aki bizonyos tulajdonyságokat is a többi és a többi. Úgyhogy a jogos újság kezelé és az egy sokkal hangsúlyosabb hát követermény, conszorciú blockchain-ek nél, ugyanígy mondjuk az identity, hát én azt hiszem, ez digitális személye az onosságnak szokták fordítani, de a kiki csodálmak a nyomón követési az szintén sokkal erőteljesen megélenik. Jáltalában érdemes megégezni, hogy a conszorciú blockchain-ek gyorsabbak, tehát a követermény szinten is gyorsabbnak kell lenniük, de abból adódóan, hogy nem kell teljes mértékben trustless módon működni, tehát nem kell úgy működni, hogy a világon a tetszőleges anonímhekkereket is összekelyen kötni, éppen ezzel más conszenzus algoritmus van benne és éppen ezzel gyorsabbak, ami egyébként kell is mit követelni. A hasonló követelmények az, hogy mondjuk a jogi szabályozás az sokkal erőteljes ebben hát jön elő, mint egy nyilvános blockchain-hálozatnál, tehát itt az ilyen kívály CIML GDP-árd dolgok, szoktak előjönni, illetve az, hogy létező rendszerek kell való integráció, ez ugye szinten egy izgalmas kérdés, ha alapvetően egy mondjuk egy Ethereum-hálozatot, nál nem szokotta az első tízkövetelménybe benne lenni, vagy egy Ethereum-hálozaton lévő alkalmazáson, az első tízkövetelményben nincs az benne, hogy ez mindenféle létező rendszerekkel integráljuk Enterprise Ledgeroknek ráltalában előjön tehát mondjuk, úgy kell elképzelni hogy mondjuk, tíz cég dolgozik együtt egy konszorcium-i hálozatnál és ezért ugye ezek nem nulláról építették fel a gépítik felében az IT-ukat, tehát jó eséle, tíz céges együtt működésbe lesznek már létező adatbázisok létező hálozat, létező hoztolási megoldási, és a többi és ezzel mindig integrálódni kell valamennyire így ezek itt tigazából a konszorcium-i blokcsénnek a jelentőségei vagy a kicsit különbözőségei mondjuk egy nyilvános blokcsén hálozattól nézés csak itt kis koffeint fogyasztok itt alapvetően az elodásorán így tigazából egy-két ilyen példát egy-két példa slide-on van arról, hogy hol is használak ilyen blokcsén megoldásokat ugye az egyik ilyen az mondjuk hát ez az úgy nyilvános supply chain ez a, nem tudom, termelési lánc management például a klasszikus példa ugye az, hogy ha mondjuk kínából akarunk telefont behozni Magyarországra és akkor ott van egy ilyen komoly termelési szállítási lánc és ebben a termelési szállítási láncban lőszereplőket ugye össze lehet költni egy elpél egy hiperrezerfabrikkel tehát ugye például, hogy ha a kínából hozzuk be ezt a telefont akkor ugye el lehet képzelni hagyat ugye mit van egy kínai gyártó megcsinálja a telefont azt ugye fölrakja egy teherótóra azt ugye elviszi valami kikötőbe ugye a kikötőbe van valami kikötői hatóság ha ki esetleg meg akarja nézni hogy ott mi történt akkor azt ugye fölrakják egy hajóra ugye a hajónak van valami tulajdonosa valami kikötőik ugye tibligusan nem Budapesti ugye akkor azt ugye a kikötőből alapvetően verakják mondjuk tudom én Hollandiában akkor azt ugye fölrakják egy vonatra ugye a vonatnak is van valami szállítmányozó céga ki ezt megcsinálja esetleg a holland kikötői hatóság is akarja valamilyen szinten felügyelni ezt az egész folyamatot majd ugye ezt az egészete elhozzák valahol mondjuk Budapestre ahol tehát ez egy ilyen teljes termelési lánsz ugye lehet látni ugye telég sok szereplő van akinek valamilyen szinten együtt kell működni-e tipikusan erre egy egy ilyen jellegű együtt működésre öt lehet a konzolcími bloklánc ugye hasonló egyébként a bankok közötti együtt működés megvalósítására vannak konzolcími megolydások főleg a RIP-ül indult ilyen irányban és főleg álljoljuk kontraktokat kezel bankok között van hasonló megoldás ez a ez egy igazából lehet konzolcími és látni a blokcsen és irányban és működhet ez egy érdekes megoldás, ugye arról van szó hogy Auditálható módon szeretnénk dokumentumokat tárolni van egy szerződésünk és akkor itt ne smárkontraktagondaljunk hanem egy típikusan klasszikus szerződésre és ezt a klasszikus szerződés szeretnénk úgy elmenteni hogy később biztosak lehetsünk bennel hogy ténylegesen azt mentettük el, ami és ugye ezt úgy lehet csinálni hogy fogjuk ezt a dokumentumot összehessenjük és ezt a hessiertéket ezt beírtük a blokcsenbe ezt típikusan mondjuk egy ilyen notarizáción szolgáltatásnál ez lehet egy konzolcími blokcsen is és akkor ezt a dokumentumot még esetlek valamilyen metaadatokkal kiegészítjük és ha mondjuk 10 év múl belőveszük az arhívból ezt a dokumentuma és meg akarjuk nézni, hogy ezt ténylegesen az a dokumentuma, amit lementettünk a 10 évvel ezelőtt akkor ugye meg lehet nézni, hogy a hessier az a stímele az almi amivel le van írva a blokcsenben ez egy lehetséges húszkész és akkor elég sok minden más van tehát az egészségűt kezdve hát az ilyen gyártás és termelésen keresztül vannak fenntarthatósági példák vannak ilyen energiai pari példák és a többi és a többi ez igazából csak pár húszkész volt és akkor van még egy általános slide-on hogy léteznek technológiá kocsánat egy félkilat léteznek technológiá amik arra irányulnak, hogy ilyen konszorcium blokcen megoldásokat rakjanak összet és igazából két dimenzió van amit felsoroltam az egyik irány az alapvetően a fügülleges irány az azt mondja meg hogy a konszorciumi technógiának van valami nyilvános megfelelőjét valamilyen nyilvános blokcen technógiával indizották ezt az egészet pedig már elve konszorciumirat alálták ki ez a fügülleges dimenzió és a visszintes dimenzió meg azt mondja meg hogy mennyire ez egy általános blokcen szolgáltatás hogyha általános blokcen szolgáltatás akkor alapvetően van egy smart kontraktókos szerződés platformra egy a USL amivel tetszőleges húszkész megy lehet valósítani ezek az általános húszkézek vannak speciálizált megoldások és a speciálizált megoldások azok pedig csak egy nagyon speciális húszkészre optimalizálok és akkor ezt elindított a fő technógiák ugye, ami nyilvános technógiába jött az alakvetően az itíriumnak a különböző verziói és annak is van egy speciális stackjel amivel a nyilvános itírium helyett egy konszorciumi szetába lehet fúttatni és ugye erre szültetet az itírium enterprise-e lejállsz és akkor vannak mindenféle fórumi elegyű dolgok amik több kevesebb sikeryel működnek ugye ez az egyik nagy irány ugye ami általános és csak konszorcium irat készült az lényegében a high-perledgernek elég sok terméke erről majd mindjel beszélünk, ugye például az egyik a high-perledger febrit, másik az az R3 korda és akkor van még több más technógia is és akkor ami pedig speciálizált platform azok általánban egy úszkézre próbálnak speciálizálni, ilyen lehet a payment tehát csak a fizetéssel speciálizált platform például például az interledger protocol illetve lehet mondjuk identíti, tehát csak digitális személy azonosságra speciálizálódott konszorciumi platformok ott pedig csak digitális személy azonosságal kapcsolatos úszkézeket lehet megvalósítani, ilyen például a high-perledger indi és múrszak ez egy ilyen általános csak a széplassan rákanyarodnék a high-perledger febrigre csak kell megtalálni meg fel a slide-ot az kell tudni a high-perledgerről hogy ez a linux foundation neki egy incubator projektje nem tudom mennyire látszódik ezzel kicsit így azért el van most odva de az a lényeg, hogy az incubator projekt különböző konszorciumi technológia is van az azt jelent, hogy több egymással versengyő technológia is van egymással versengyő csapat is van és ezek mindenféle főleg konszorciumi blockchain megoldásokat készítettek, vagy készítenek el és az a lényeg, hogy több különböző hát mondjuk, hogy kategória van vannak teljes értékű konszorciumi blockchain platformok ezek vannak itt tipikusan főnt ezek a bármával van tehát ilyen például a baró, a febrig az indi az pont nem, de az állóa és a szótút ezek teljes mértékű konszorciumi blockchain hálózatok tehát vannak még ötlük alapvetően csomókontok, megpranzakció és az egész még öt van egy valamilyen smart contractokos szerződés programozási nyelv ki le telepíteni és alpámozásokat programozni rá a kategóriális elemek vagy kategóriák, amik nem teljes blockchainek különböző blockchainekhez adnak valamilyen hozzáadott szolgáltatást ilyen túlok például a Hyperledger Explorer a Hyperledger Explorer az egy blockchain explorer szolgáltatást alt első körülben a febrighez de több más platformhoz is hozzá lehet csatoalni a konzolcími blockchain a transzlényegében a blockokat lehet megnézni a transzakciókat és elhasoló dolgokat amik tudom, én ilyen például a Hyperledger Cello a Cello az abba segít hogy egy ilyen konzolcími blockchain egyszerűen föllegesen is találni mivel ezek a csomópontok ezek szípikusan cégetnél futnak ezért a konzolcími blockchain is találni ebben ad bizonyos helyeken valami nyitámogatás például a Cello ugyanígy vannak könyvstárak is és például ilyen könyvstár ami mondjuk kriptográfi protokollokat ad különböző blockchainekhez ez az úr szaférdául akkor a Hyperledger Quilt az egy payment protokoll amit több más helyen is integrálható és többi esető az egy inkubátor projekt lényegében, aminek több eleme is van és ebből az egyik elem az lényegében a Hyperledger Fabric amire most beszélünk vagy ma beszélni fogunk a széplastan át is térnék a fabrikre na itt van ez a zábra még egyszer és itt egy kicsit jobb minőségű ez itt lehet látni, tehát igazából ma a fabrikról fogunk beszélni és ebben fogunk programozgatni és a Hyperledger Fabric a záborcsony block chain technológia ami a Hyperledger alról indult meg egyébként is az egyik legrégebbi Hyperledger Fabric ott is van az egyik legrégebbi a záborcsony block chain technológia a Hyperledger től lehetek intve is talapvetően az IBM és a digital esetkeztel ezt a programot tehát azt kell tudni, hogy ezt az egész Linux Foundation-nek a projektje a Hyperledger az a Linux Foundation-nek egy projektje, tehát minden ami itt van az open source projektet viszont mégis van széges támogatás és ugye a fabriket az viszonylag nagy szégekáltak be mögé ahogy mondtam az IBM és a digital eset és a digital eset pillanetleg már nincs mögötte de az IBM még mindig mögötte van de ugye ettől függetlenül ez egy open source projekt tehát hogy minden ami itt van az alapvetően fönn van a GitHub-on és szabadon módosítható és változtatható és kiegészíthető és minden ugye amit az IBM csinál főleg pluszsolgáltatásokat rak mögé és a pluszsolgáltatások azok már nem biztos hogy teljesen open source-ok és azért kérpénzt de ugye az alapplatform az ugye egy teljes mértékben community-jellegű open source projekt ugye hogy bármi a Linux Foundation-t a lényegében és akkor kicsit belememve a résztetekbe ugye az a trükia Hyperledger-fabriknek hogy maga konszenzus algoritmus az egy kicsit szétvan töredezve és maga az egész arhitektúra az eléggé szétvan daraból van vannak előnyeljé és átránya is az előnyeljé hogy ha ezt nagyon szét daraboljuk nagyon szétosztjuk az egyes dolgokat akkor minden modulális és minden egymástól függetlenül konfigurálható és kiterjezthető is változtatható egyrészt egy olyan általános arhitekturát kapunk ami kvázi minden júszkézre alkalmazható másrészt pedig a nagy előny hogy ugye minden egyes rész változtatható egy nagyon-nagyon arrúgálmas arhitekturát kapunk ez az előnyel hátránya viszont, hogy nem a legétszerűbb az egész van az egésznek azért egy elég rendes komplexitása ezt helyenként látni fogjuk bár programozás az viszony a egyszerűbb de minden más meg viszony a komplikált amit tudni kell hogy ami elemei vannak a high palletger febrignek először is van a piír tetszüleges blockchain lapvetően az a csomó pont, ami fut tehát az a piír-to-piír hálózatban a piír, mondhatjuk hogy server, de ugye nem igazán server mert az a lények, hogy sok egymástól független különálló serverünk van hogy ezt nem szokták servernek hívni hanem piírnek szokták hívni ugye az a lények, hogy amíg mondjuk egy Ethereum-ba a többé kevésbé egyféle piírünk van addig a high palletger febrigben ez a fogalom, hogy piír ezt szintén eléggé több szerep körrehoztik szét és modulálisan mag felépét ami elemeink vannak piírben az Endorcer comiter és akkor esetleg még a chainkódot érdemes itt megemíteni, illetve ebben van a ledger és mamom ilyesem ennyi protocol is tehát hogy itt a piír alatt azért elég sok minden van, és van egy másik féle, hát ezt nem piírnek hívják a febrigben, de normalis vagy egy tetszüleges blockchain hogy ezt is piírnek hívják, hívnánk tehát ez megint egy csomópont és ez az orderer csomópont és amiért az orderer felelős az a transdakcióknak a sorrendezése mondjuk így úgyhogy ez egy ilyen speciális szerepkölül speciális funciójú ezt is piírnek hívnánk, de ez nem piírnek hívjuk, hanem orderernek annyi különbség van még, hogy a smart contract, az okor szerződés kicsit furcs a név egyébként az okor szerződés, az nényegével se nem okor szerződés az pusztán csak egy darab kód, ami a blockchain nem furc vagy más értelmezésben a transdakciók mögötti üzleti logika, nényegében az okor szerződés aztán persze az a név ez rajtam aradt, de hogy ez egy elég ilyen marketinges név most az az ők, hogy a high pereger febrigben, ezt nem okor szerződésnek idákkal nem csénkódnak tehát, hogyha azt látjátok, hogy csénkód, akkor igazából az egy okor szerződés ami még egy plusz extra, hogy a high pereger febrig az alapvetően jogosulcságot tud hozzárendelni, hát mondjuk úgy, hogy infrastrukturális komponense kezés és transdakciókozis, úgyhogy ehez van egy membership service provider komponens, illetve van egy teljes PKI, úgyhogy ez a private game infrastructure tehát lényegében minden, ami jogosulcság az egy ilyen több szintű jogosulcsági rendszer, ami valahogy titkos nyilvános kulcsokkal van megvalósítva, és az egész az ilyen klasszikus PKI alapom van felépítve x509-es tanulsítványokkal aminek szintén van egy elég más komplexitása, és az a lényeg, hogy ez a része az a membership service provider és az CI és a certificate authority. Csak van még egy alakalmazás valóri SDK, hogy az alakalmazás valóri SDK, ezt hívhatjuk kliensnek is, de az a trükka, hogy látni fogjuk, hogy ez a kliens, ez az alakalmazás valóri SDK, ez esetünkben szervezs része magának a konszenzusnak. Tehát ahogy mondjuk, mit tudom én az Ethereum-nál, hogyha egy kliens bölkülresztet transdakciót, az ténylegesen egy kliensre rendszernek, így te ez a kliens ez mondjuk úgyhogy egy kicsit erősebb szerepet látszik, több szörküljük le a transdakciókat és egy kicsit jobban integrálva van az egész a magába konszenzus mechanizmutba. Úgyhogy ezek itt a nagy szereplei, vagy szereptkörei a fabricnek, egy kicsit más ilyenlegű ábrában ugyanazokat sorolom föl, tehát lényegében van a membership az a ki, hogyan, mihez és mikor fél hozzá logikát írja le, és az egész mögött van egy titkos nyilvános kultú infrastruktúl a lényegében, tehát egy pk-i infrastruktúlomán az egész mögött. Van a blockchain-ünk, a blockchain jobban elvanoszt van mint egy normális, nyilvános blockchain-el, jobban szét van tagolva és jobban modulális, van a transdakcióink és ugye van a chaincode, ahol még egyszer a chaincode az igazából a smart contract csak egy kicsit ilyen technikai modanit chaincode-nak hívják Hyperledger February van. És ahhoz, hogy megértsük igazából, hogy miért van ez a sok komponent, vagy legalábbis ezeknek egy részét megértsük, azt kell megnézni, hogy hogyan működik a maga Hyperledger February, fabricnek a consensus-a. Hogyha megértsük a consensus-t, akkor igazából érteni fogunk már elég sok minden. És itt most átkapcsolta hát egy ilyen sketchpadre, úgyhogy bízom benné, hogy ez látható lesz. Ez ugye valami esmét szeretnénk csinálni, hogy van egy blockchain-nünk, ugye ez a blockchain ezek valami ilyen pírek, amikre is van közszepődve és valamit szeretnénk csinálni fogni szeretnénk egy transdaktiót és ezt a transdaktiót szeretnék ebben a hálózatba bedobni valamilyen értelenbe, vagy bekülteni ebben a hálózatba, és az szeretnénk hogy ez a hálózat, tehát ez nyilván ez a transdaktió, ez ott valahogy terjedni fog, egymásnak elküldözgetik a transdaktiót, akkor ugye valaki be is fogja rakni egy blogba akkor ott maga blog is terjedni fog de ugye azt szeretnénk, hogy egy bizonyos idő után ez a hálózat ez elnöntse, hogy ez a transdaktió ez érvényese vagy pedig nem érvényes tehát igazából ezt szeretnénk a ezt váljuk el a blockchain-től jó, és ezt hívjuk tehát ez a consensus consensus mondjuk így jobb és akkor azt kell tudni, hogy a Hyperledger-fabrik ezt a consensus algoritmust ezt egy többfázisú consensusra bantjaszét és hogyha ezt látjuk, ezt a többfázisú consensus akkor lehet érteni igazából hogy miért vannak a kompanását a nagy része valami elesmélyt csinálunk, hogy egy transdaktió tudunk be egy nenszerhez van egy alkalmazás oldali kliensünk ez itt alkalmazás oldali esdékanak van jelölve és amit az alkalmazás oldali esdékat csinál előállít lényegében egy transzaktiót és ezt a transzaktiót ezt alá is írja valamilyen titkos, nyilvános kucsukrytográfiának megfelelően és magának a consensus algoritmusnak az első lépése az, hogy ezt a transzaktiót ezt így bedobja a hálózatba, beküldi a hálózatba mert is itt van egy ötfázisú consensus algoritmus úgyhogy ezen fogunk itt most végig menni ennek a legelső fáziso ez a transzaktiós javaslat febrigben, amikor egy ilyen transzaktiót előállítunk annak az első lépése az nem maga a kész transzaktió, hanem ezt úgy hívjuk ebben egy javaslat, ami még nem biztos egy elfogadásra kerül hogy először ezt a transzaktiós javaslatot az úgynözzet endorsement pireknek küljük el és amit az endorsement pirek csinálnak itt talapvetően egy endorsement pír az lényegében simulációt csinál amit ő csinál, valahol ott van a ledger ott van a blockchain az egész mögött és ő nem ír még beleadott a blockchainbe hanem amit csinál hogy ezt a transzaktiós javaslatot lesz simulája az éppen addott blockchain állott alapján és a chaincode és a smart contract alapján és a simuláció eredményel egy ilyen elemi írásolvasás hallmaz, tehát ez az elemi read write szed, ez az az mondja meg hogy ha ezt a transzaktiós javaslatot ami persze fut a fut mögött a chaincode is tehát a chaincode-tól is fűt az okor szerződéstől is fűt a transzaktiós javaslatot a most éppen aktuális ledgerben, vagy a ledger állapottal lesz simulálnánk akkor milyen elemi írásokat és olvasásokat kéne megcsinálni magán a blockchainen tehát ez egy ilyen elemi írásolvasás kvázi transzaktióra bontja le és ami fontos, hogy ezt még ilyenkor nem írja be igazából a ledgerbe ilyenkor még nincs blockchainállapot változás hanem amit csinál ez az endorsement ugye az alkalmazás oldali sdk-ának ez a második fáz is akkor ha 3. fáz is van az alkalmazás oldali sdk-án megnézi hogy a vissza visszaérkezett elemi írásolvasásból van egy úgynevezett endorsement policia, amit bele tájtani tehát azt lehet mondani, hogy ezt akkor fogadjuk el érvényesnek hogy ha az összes endorsement pirgülyen azt mondta például lehet azt is mondani, hogy ha 51% ugyanassz mondta akkor fogadjuk el érvényesnek de lényegében, hogy ha érvényes az egymástól több ször visszaküldött elemi írásolvasások akkor azt történik, hogy az alkalmazás oldali sdk-án azt mondja, hogy ez egy érvényes lebontott elemi szintű transzakció és ezt az elemi szintű transzakciót ezt elköldi az ordering service-nek most az ordering service az semmi más nem csinál mint ezeket az elemi szinten lebontott transzakciókat blokkokba foglalja úgyhogy ezek egymással ne ütközzenek és hogyha ez megvan ezt a blokkot fogja visszaklődeni a pireknek és majd a pirek fogják ezt a kész blokkot, ami az elemi szinten lebontott transzakciókat tartalmazza beírnég az ábal a blokként az utolsó fázis az az utolsó felőző fázis hogy ugye ezek ezt a blokkot ami az elemi szinten lebontott transzakciókat tartalmazza ezeket elküldjük a pireknek mint a pirek csinálok még egy ellenőrzést és majduk, hogyha minden rendben van akkor ezt a blokkot ez beérják lényegében a blokként és akkor a legutolsó fázisban pedig különnek egy visszajelzést az olyan esdékának, hogy minden rendben van tehát lényegében az infrastruktúrá és komponenset nagy része amit majd látni fogunk az ahhoz kell, hogy az a febriktnek a konszenzus meanizmus a működjön és még egyszer a konszenzus meanizmus az így történik hogy van egy kényes olyan esdékánk ebből nem látunk egyébként feltétlen sokat ebből a konszenzus meanizmusból, mert elég jól erre egy telölünk a különböző kétvé és esdéká de azért mindenképp érdemes sejteni, hogy van egy ilyen tehát ugye az történik, hogy első körben, hogyha egy transzakciót akarunk lehet különni a febriktnek első körben, egy transzakciós javaslatot külünk el csak speciálisan az endorsement pireknek ahol nem történik azzábból a legyerben való beírás, hanem csak egy simuláció egy elemi irásolvasás, hallmaszt hajtunk végre lényegében és ezt az elemi irásolvasás, hallmaszt küljük vissza az alkalmazás oldali esdékának ami ezt a eleményére lebontott transzakciót külni el az ordering servicenek az ordering szolgáltatásnak hívhatjuk rá magyarú sorrendező szolgáltatásnak is és ez az ordering szolgáltatás ez a sorrendező szolgáltatás az elemi módon lebontott transzakciókat berakja egy blockba majd utána ezt a blockot ezt el külni még egyszer a pireknek az ebből több különböző pireknek mert van endorsement pireknek amik endorsementet csinálnak és lehet olyan kérdésen műső a kómitmentet csinál és a kómitment az a beírás a ledsőrbe de nem feltétlen kell ezt sétmontani mondjuk, hogy visszakülni az ordering service a blockot ami az elemi módon lebontott transzakciókat tartanam az a pireknek és a pirek még egy ellenőrzés csinálnak majd ezt az egészet begyek a ledsőrbe és ennyi és mihajt megvan benne van a ledsőrbe és az alkalmazás oldali esdékák kap még egy értesítést úgyhogy ez itt igazából egy helypelezsér febrik alapozó nem tudom, hogy fél pillanatra megállók, hogy esetleg van ezzel kapcsolatba kérdés hogyha nincs kérdés vagy ha közben megállítattok persze nyugadtam akkor átmennék arra hogy hogyan történik maga ez a febrik fejlesztés tehát hogy mi történik akkor hogyha valaki fejleszteni és alapvetően, hogyha a fejlesztani az ember akkor itt három nagy szerepkörre van szükség tehát mint kompetencia vagy mit fejlesztés, majd mit fejlesztő hát legalább kettő, de inkább három szerepkörre van szükség van az egyik szerepkör, aki a csénkódot írja ez a smart contract amit mindjárt meg fogunk nézni, hogy néz ki pontosan és ez a smart contract, ez lehet jávában jávaszkribbe vagy góba ez a három nyelv támogatott pillanatnak úgyhogy tipikusan kell egy fejlesztő aki jávában jávaszkribbe vagy góba fejleszt és csénkódot tud programozni ez az egyik nagy szerepkör van a másik nagy szerepkör, és itt a másik oldal ez a klíns a klíns ez igazából, csak a high peleger fabric szempontjából klíns, tehát csak azok, akik igazából transzakciókat dobnak be a rendszerbe és itt vannak speciális ssdk-ák, amin keresztül programozni, úgyhogy általában van egy fejlesztő, aki ezt a klíns csinálja itt azért a tipikusan az a klíns ez valami más rendszerrel, valami más centralizált bekendel is kapcsolatba van úgyhogy azzal is integrálni kell, vagy direktbe a centralizált bekend fejlesztő csinálja ezt a komponést és a klíns az jávában és jávaszkribbe fejleszhető, illetve van egy gó részt, ami félik medig támogatott, nem teljes mértékben nem teljes mértékben hivatalosan úgyhogy általában van egy csénkót fejlesztő és akkor elképzelhet, hogy a csénkót fejlesztő fejleszti a klíns is, de az is elképzelhető, hogy ez két különböző fejlesztő tehát hogy mi tudom én a csénkódot az jávaszkribbe fejlesztik vagy fejlesztjük, de mondjuk a klíns azt mondjuk jávában, vagy fordítva és akkor igazából két külön fejlesztőre van szükség na ez a fejlesztés része és van az egésznek a közepe az egésznek a közepe ez a high pelager febrik infrastruktúra, ugye az a tükérnek az egésznek, hogy ez egy elég szédrabolt moduláris arhitektura, ami rávásul Microsoft visszalapú, úgyhogy főleg dockerbe van megvalósítva úgyhogy amire itt szükség van itt valamilyen erős, hát vagy DevOpsos, vagy valaki a containerizált infrastruktúrához ért vagy valamilyen felhőszolgáltatásra, ami ami adja ezt a szolgáltatást igazából a labból igazából ez a három szeret kör van és akkor itt van egy másik ábra is ez típikusan így néz ki mondjuk egy febriknek a fizikai fizikai arhitekturája a tálta lába való úgy néz ki, hogy van egy ordering service-ünk, ugye az felelős azért, hogy az elemi relebontott transzapciókat dobbarakja be ugye vannak pírjeink, ugye a pirek ezért a simulációért ezt egy csénkoddal csinálják, általában van egy adatbázis, ami nem a blockchain és tárolódik, de az a pirekben tárolódik de van egy adatbázis, ami az úgy nevezett wordstated, ez a legutolsó világállapotott tárolja van egy kiljáros oldali esdéka ami transzakciókat dobba ebben rendszerbe, és általában vannak certificate authoriting ezek a tanosítványok és kulcsok előállításáért felelősebb most ennyi elmélet után nézünk egy kis praktikus gyakorlatot is hogyha ezt az egészet el akarjuk indítani akkor amit érdemes fölinstalálni az a fabric samples ezt fön van a githubon egy repozitori, tehát github hyperlegere fabric samples ez alapvetően a legutolsó hát mondjuk úgy, hogy testalkalmazásokat tartalmazza és mind fejlesztélyből darol testalkalmazásokat mind valamilyen minimális testinfrastrukturát is tartalmaz az ember hosszú támánakar fejlesztelni nem feléten ezt a legjobb a kasználni de hogyha egyszerűen gyors sikert akar eljevni vagy esetleg megnézni létező példákat mindenképpen érdemes a fabric samples megnézni ez alapvetően úgy néz ki hogyha felinstaláj az ember a febriket ez egy alapvetően úgy néz ki hogy föl kell menni a instant hyperlegere fabric és négy egében van egy-két prerik vizit egy előzetes dolog amiket föl kell installálni, talán valahol írják is tehát dokernek kell fönlenni dokerkompóznak kell fönlenni és egyéb dologoknak kell fönlenni és ha minden fön van a 1DRAP 1DRAP föl & installálható minden ez az 1DRAP script ez le fogja húzni a megfelőld docker image-eket föl fogja rakni a megfelőld binári sokat és még ezt a fabric samples a legutolsó verzióját is vagy éppen aktuális verzióját is föl fogja tenni tehát ez alapvetően mindent meg fog csinálni van egy kicsit kell azért paramétre ezni hogy éppen milyen verzióval akarunk dolgozni de az is lehet, hogy az ember csak default módon használja és akkor egyszerűen föl rakja a legutolsó verziót legutolsó verzió most 1.4 én itt most az 1.2-es se fogok igazából demózni ennek főleg az azoka hogy az 1.2-es verziónak van long term support-ja az 1.4-es az meg talán mostanába, tehát mostanában ment igazából élesbe úgyhogy az még egy kicsit friss alapvetően és long term support csinálját most az a lényeg hogy ezt el akarjuk indítani itt a slideshow végén meg fogom osztani van egy-két script amivel ezt az egészet el tudjuk indítani amit itt láttok nagyon egyszerűen ez maga-fabrik szempűz könyvtár és hát az elég komplekszígy elősökörbe de hogy amit érdemes talán megnézni, hogy vannak test alkalmazások és van test infrastruktúra is tehát például, hogy ha ember kicsit után a olvas típikusan ezek az asset transferek ezek test alkalmazások így lehet, ha például a test network az egy test blockchain hálózat ezt kettőt kell kombinálgatni és ha ez megvan akkor műtödni fog minden és aztán itt vannak mit tudom én tokenek ezeket nem is tudom igazából, hogy ezek alkalmazások, amik tetszüleges hálózat folőt futnak vagy már a hálózat is mögöttük van ezeket meg kell nézni és utána kell olvasni amit most csinálni fogok a test network-ba fogok belemenni és nem nézzük meg, hogy mi van benne pontosan úgy, hogy lehet elindítani és a test network az egy test blockchain infrastúl állt fogok nekem összerapni ez valahogy úgy néz ki hogy itt most bementem a fabric samples test network-ba és amit csinálni fogok el fogok indítani egy test blockchain ezt a fabric samples-ban és ez úgy néz ki hogy itt van így van egy parancsom ez egy best script ez a network.sh és ha ezt a network.sh meghívom ennek a különböző paramétraivel lehet különböző blockchain-nek elindítani, különböző infrastruktúrákat még egyszer viszló tolnék erre a képre igazából amit a test network az az ez a containerizált infrastruktúra és akkor elfölött még valahogy egy csénkódot kell írni vagy elindítani mindjára azt is látni fogjuk főleg a test network-ban ezt az alap infrastruktúrára ad egy verziót igazából a mavan high peleger ez úgy a fabric samples ez nem egy olyan produktívredi infrastruktúra amit bárhol használhatunk hanem ez igazából csak arra szolgál hogy itt a különböző dolgokat kipróbálhassuk amit csinálni fogok a parancsokhoz és elindítok egy testhálúzatot ezt úgy indítom el hogy azt mondom hogy csináljon nekem egy csatornát be nem mentünk bele, de a csatornát igazából egy különálló blockchain ennek legyen az a majd csinál és indítson el még egy certifikét autoritítés ha ezt elindítom akkor némi konfiguráció után el fog nekem indítani alapvetően dockercontainereket és a dockercontainerekhez föl immunizál nekem egy csatornát és hozzáadja ezt az egész a szervezetekhez ebben nem nagyon mentünk bele, de végig az, hogy egy két szervezetes testinfrastruktúrát fog nekem elindítani hogy ezt úgy lehet megnézni, hogy ezt jó el ugye egyrészt itt ugye ez egy kicsit ilyen linux foundation dolog a linux foundation-nál hát ez itt egy ilyen speciális dolog, hogy itt zöldbe van ugye linux-nál általában, ami ha nem a nagy pirosat akkor az jól lefutott úgyhogy ha nincs nagy piros erorban, ne akkora alapvetően jól lefutott ez még igazából itt még kis zöldítették ez általában nem tipikus azt, hogy elindult ez a hálózat ezt úgy lehet megnézni, hogy az mondjuk, hogy a helyre kell indulta kell csak itt lehet látni, hogy ezért is volt egyébként ez a bevezetés hogy amit itt látunk alapvetően vannak píriaink van két konténerünk, van egy pier 0 ork 2 két szervezet van, ebben nem mentünk bele és van egy pier 0 ork 1-en és van a ordering service-en van egy ordering szolgáltatásom is és mannak certifikét autoritik is és van egy CLI ez egy olyan konténer, amivel konfigurálni lehet az összes többik a talapvetően ez jól néz ki elindult lényegében a hálózat van egy alapklok csinhálózatot és kérdés az, hogy mit lehet csinálni ezzel és ha azt lehet csinálni hogy a fabric samples-ben lévő valamelyik testalkalmazást fölinstallájuk és amit látunk itt egyébként vannak olyan például a chain-kód alatt vannak test-chain-kódok itt, amit fölfogunk és találni az a fabcar a fabcar, ez egy ilyen autós testalkalmazás tehát ilyen autókat lehet megadni, meg elindítani meg az autóknak a tulajdon nyugát lehet, oda visszaadogatni és a többi, és a többi tehát ezt fogjuk elindítani hogy ha itt bevedjünk, az ugye a chain-kód és a fabcar-ralt van alapvetően több verziót is látunk visszautálni kérre a zábrára az a talapvetően, amivel foglalkozunk az a chain-kód és a chain-kódot az többen is meg lehet írni és azért is jó, ezzel a fabric szempőszer kezdeni, mert itt talapvetően mindenyebe vannak példák például ez a fabcar, ez a legegyszerű példa, de ez mindenyebe megvan írva, itt lehet látni góban, lehet látni jávában, lehet látni és lehet látni type script-ben fontosan, hogy van meg írva van még egy plusz ez az ex external ebben nem pedig most bele, de lényegében kétféle chain-kód model van az egyik a normal chain-kód model a másik pedig az úgynevezett external chain-kód model az external chain-kód modelnél minden ami a chain-kódban van az külön dockerizálni kell még a normal chain-kód modelnél automatikusan fog a chain-kód fölni ebben nem annyira mennék bele amit nézünk meg, nézünk meg a go-versziót próbáljuk a fabcar.code fölinstalálni és próbáljuk fölinstalálni arra a test netwerkre, amit most nincs találtunk ez úgy néz ki, hogy szintén ezzel a netwerk példával lehet ezt meglósítani és így azabban lehet, hogy kiskopiztam hogyha meghívjuk ezt a ezt a netwerk kontest hát akkor itt van egy parancsor amivel különböző dolgokat lehet csinálni el lehet indítani az egész blockchain hálózatot csatornát is lehet csinálni és van egy diploid cc a diploid cc évele egy létező chain-kódot tudunk fölinstalálni erre az egész rá úgyhogy azt fogom most csinálni hogy hát így összeraktam a parancsot de ezt utána lehet nézni, hogy ez jó e és így nem is jó egyébként de az fogom csinálni hogy a netwerk beszrittel kiadom a diploid cc parancsot ahol megadom hogy mi legyen a kitelepített alkalmazásom neve ugye az legyen a fapkár és itt megadom hogy hol van ennek az elérhetősége mert ugye alapvetően erre a góskönyv erre referálok tehát itt a fapkár alatt van a gó és ezt szeretném fölinstalálni úgyhogy azt mondom megadom a relatív pászt és akkor azt mondom a chain-kód a fapkár gó és akkor itt van egy verzió az akkor számít, hogy ha upgrade-elnék és van egy paramétra hogy ez milyen nyelve lesz ezt a chain-kód fölinstalálva azt mondom, hogy gó, most épp a gós verziót úgyhogy ha ezt elindítom akkor elvileg az fogja csinálni ez egy normális chain-kód model úgyhogy ez egy kicsit, hát ilyen vadagmódon működik az alapvetően az a lényeg hogy be tömöríti ezt a fapkár kódot ő saját maga bildeli le és ő saját maga készítel egy kontének belőlle amit aztán énstalál magára a high-peleger-fabrik hálózatba úgyhogyha itt minden hogyha nem látunk pirosat így igazából minden le fog futni de alapvetően, ami parancsokat láttok az a jó váhagyásnak a chain-kód jó váhagyásnak a folyamatát ebben a két szereplős környezetben hogyha minden jól van, vagy jól megy és minden zöld akkor alapvetően fölinstalálta a my-channel-re ezt a fapkár remezett út chain-kódunkat úgyhogy megnézni egyébként, hogy jól lefutott hogy docker-ps és most azt lehet látni, hogy docker-ps után két további konténer jött létre úgyhogy a alapvetően minden, ami chain-kód az is külön konténerbe fut és ez a standard-instalálásnál ezt automatikusan hozt a létre de igazából, hogyha ezt a két konténert létrehozta akkor örülünk, mert akkor ott vannak és látjuk és jó és egy nagy kérdés az, hogy hogyan tudjuk ezt testelni vagy hogyan tudunk ezzel bármit is csinálni mert alapvetően két megoldás létezik erre úgyhogy valahol így tartunk, csak hogy vissza menjek tehát van egy alapfeleger febrik konténeizált infrastruktúrán amit ugye lényegében a febrik szempősznek a testnetwork így indítottam el ugye sikerült fel is talánom rá egy chain-kódot ugye a chain-kód az igazából a fabkárnak a chain-kódja és amit szeretnék valahogy valahogy valamilyen kliencsből meghívni ezt az egészet most mit lehet csinálni az egyik megoldás az, hogy írok egy kliást ezt megírom jávából jávazkripte vagy esetleg guba, a másik egyszerűbb megoldás, hogy ezt nem írom meg hanem amit csinálni tudok ezzel hogy ezt konzolból is nektudom csinálni ugye az, hogy konzolból hívjam, az az kell hogy a fabric binary az instalával egyenlállom de hogyha fölinstalálom a hivatalos bányariket, akkor ezeket a bányarikat ezeket instalálni fogja alapvetően amit csinálni tudok az az ezzel most látsó hogy beállítok egy csomó körnézeti paraméter és ha beállítok egy csomó körnézeti paraméter főleg azokat a paramétereket kell beállítani hogy hol találhatóak meg a tanúsítványok és egyéb dolgok és hogyha ezeket sikeresen betudom állítani akkor meg tudom hívni igazából egy konzolból is magukat magát a chaincode-nak a fűgvényeit most persze jó kérdés az, hogy mi az, amit megkívunk egyáltalán és mielőtt ebből elemennénk meg egy kicsit, hogy mégis, mi az hol ez a chaincode development alapvetően viszonylag egyszerű az egész vagy alapszinten viszonylag egyszerű amit csinálni tudok így igazából egy állapotot tudok beregisztrálni lényegében a blockchainbe erre vannak elemi hívásaink van egy putstate, van egy getstate hívásunk ezzel egy adott id állapotot tudok módosítani, vagy újra létrehozni getstate-t legyadott állapotot tudok kiolvasni van egy delete state tudján alapvetően egy blockchain-ről van szó tehát a delete state az nem azt jelenti, hogy töröl egy értéket, hanem csak a legutolsó blockchainállapot volt törül az értéket és akkor van egy csomó ilyen legkérdező függvényünk, amivel le lehet kérdezni a beértedotokat igazából az alap ledger operáció azok viszonylag egyszerűek egy adott ID-ra egy adott értéket tudok beérni a ledgerbe azt mondhatnám, hogy végül is ez a blockchain az ennyi tud hogy beírunk egy értéket és ott marad körülbelül ez az, amit egy blockchain tud ezt csinálja meg a putstate és mondjuk getstate-re pedig ki lehet olvasni ezt az értéket delete state-re trölni lehet és akkor lehet még extra black-errezéseket csinálni és akkor a chaincode-ot az úgy írjuk meg, hogy általába leszáromasztatunk valamilyen ősos-stajbol és dekorátorokat használunk erre az egészre úgyhogy nem túlságosan küzdelmes, hogyha ezt sikerül megugrani akkor akkor igazából automatikusan rendszer felismeri hogy ez egy smart contract és automatikusan használható nézzünk bele egy kicsit a kódban itt most a gott nézzük meg először tehát a gottnál alapvetően azt történik hogy egyrészt importálom lényegében ezt a contract API ez ugye nem kell a nuláról vagy hát nem feltétlen kell a nuláról megérni mert ez ugye itt van igazából az az egész tehát a lőván készít vendény a példánál meg importálok egy pár más könyvcára de azon, hogy importálom ezt a feleli contract API ezzel lényegében és abból leszáromasztatok ebből lényegében túlni fogja rendszer, hogy ez micsoda pontosabb a legvégén van egy mény függvényen ezt meg kell érni de ezt igazából ezt is lehet látni lényegében a mény függvény segítségével a contract API segítségével fogok egy új csénkódot elindítani nem biztos, hogy ez a zoom a lef praktikusabb talán egy jobban látszik de igazából van egy mény ezt nem kell átérni, ezt ugye át is lehet venni már egy létező gódba és azt fogja csinálni hogy a contract API elindít egy új csénkódot lényegében és ez alapján működik a rendszer és ugye mit lehet csinálni minden ami ezen belül függvény az lényegében szmárkontrakt hívásként felálltethető meg amit látunk vannak alapvetően van egy struktúránk például a autókról ez az egész példa és az autón belül van egy kicsinálta milyen model milyen színe van az autónak és ki a tulajdonos alényegében meg van még egy lekerrező struktúra és akkor az a lényeg hogy útán amik függvények vannak ezek lényegében transzakció tehát amikor egy transzakciót bedobunk a rendszerbe akkor egy ilyen függvény fog meghívni és ugye ezt a többfázisba fogja meghívni, tehát először lesz egy simuláció amik majd a rendszer vagy lekezel hogy ilyen atomi elmi írásolvasásokra bontja le majd ezt visszadobbja majd elkúgy az ordering service-nek az berakiai blogba és azt is visszakűdi de a lényegében minden a milyen függvény az egy transzakció ként felálltethethető meg és egy transzakcionál amit meg kell adni első paraméterken mindenképpen ez az úgynőzett kontrakt TPI-nak egy transzakciós kontekszusa ha van alapvetően van egy init ledger a függvényünk az init ledger az akkor hívódik meg amikor ezt az egész chain-kódot initializáljuk ebben az esetünkben ez a függvénye ez egy csomó példát fog beérni a blockchain-be csomó példát példa autó tehát itt van egy toyota amitnek miatt amit ez a Prius modelje van kék és a tulajdonos a tokomó van egy Ford model ami nem vagy Ford tippusú ami Ford Mustang pirós és a bread a tulajdonosa van egy hundáj ami egy tuskan vagy mondják el zöld és a Jinso a tulajdonosáj és a többi lényegében ez fogja elvájtani és az a lényeg, hogy itt van ez az úgynőzett putstét ez az úgynőzett transzakciós kontekszusból kell egy get-stabot lehimi és lényegében amit csinálunk ezt létreállított jazzon struktúrát fogjuk egy adott ID-val beérni a blockchain-ben van egy ID-ink ez az autó plusz valami így hozzárakunk ezt az ID és egy ilyen előállított jazzon lesz, serializálva byte-ra és ezt idik be alapvetően a legyőrben tehát igazából ez az alakművelet mi van még? van olyan műveletünk, hogy create-kár ugye a create-kárral az egy olyan transzakció művel létreállított az új autó és utána van még több paramétra is tehát például van valami ez a car number ez lesz szerintem az ID-a alapvetően az autónak ez a még ezt a kigyártattal a milyen modell a új autó a color az a szín és a zoner az pedig a tulajdonos a körülbelül ennyi így csinálunk hát létreállozunk egy ilyen objektumot hogy autó ugye ezt fönt láttuk, hogy ez egy ilyen struktúra lényegében de hogy a lényeg az, hogy annyit csinálunk ezzel hogy itt van a putstate hívás és a putstate segítségével egy adott ID-ra ami most a car number tehát az autó szám erre ezt a teljes objektumot beírjuk a legyőrben készen nézzünk egy get getchangequareonert hát nincs itt most talán olyan, hogy get getquare de ez mondjuk a quidikára quidikára az pont egy lekérdező függvény és lekérdező függvény az úgy néz ki hogy itt is megadjuk először a contract API ez egy transzakciós kontekszus és akkor azt mondjuk, hogy megadjuk az autónak az ID-járt, amit létrehoztunk az előbb és azt szeretnénk, hogy az adott adott ID-jó autóra szeretnénk visszakapni az autót magát jó, tehát egyszerűen kiolvasunk magából a legyőrben és ez nagyon egyszerűen úgy történik, hogy erre viszont ma a getstate és a getstate az az adott ID-ra ami ugye egy ilyen első regges kults amivel a blockchain-be tárolva annak az adottok ilyen első regges kultsra a zállalmi zállalmi byte-sreamet vagy byte-sreamet ad vissza amit aztán át kell való generálni autóra át kell konvertálni autóra és ha ez sikerül, akkor visszatjuk az autót nézzük, hogy lehet ezt teszteni tehát ezt a kettőt próbáják lehet ezt teszteni, itt van több más fügvényeis hogyha nézzétek ezt a fabcar tehát lehet olyat, hogy mondjuk több autót kérdezünk le ugye itt van például hogy az autónak a tulajdonosát változtatjuk ez úgy működik, hogy először az adott IDU autót az föl kell olvasni és utána a tulajdonos információt az változtatni kell az itt a tulajdonos információ ott, tehát az igazából ez két részből állvan egy querikár, amíg azából egy get state, ott visszalvasuk az autót, megváltoztatjuk ugye az igazából a tulajdonosát majd utána van egy put state ahol visszálljuk az autót és visszálljuk az autónak megfölő bájtokat és kb. lennyi és erről van szú na nézzük, hogy mi történik itt mert hogy lehet ezt teszteni ugye alapvetően sikerült beállítani ezeket a környezeti paramétreket úgyhogy amit csinálni tudok direktbe ki tudom adni azt, hogy kiolvassunk egy autót vagy beidünk egy autót kicsit ezeket copypésztani kell az a lényeg, hogy elég szörnyűen néznek ki ezek a parancsok első körbe de hogy nem mannyira szörnyűek azért, csak elég komplexek helyenként miért csinálok egy új fájt tehát így néz ki igazából ez a command prompton keresztül egy lekérdezés tudok meghívni és ez úgy néz ki hogy a alapvető nap ami egy febrinari, ami az fölinstalálásra kerül annak van egy parancsa, amivel a csénkódból tudok lekérdezni csak van egy csomó paraméter, de lényeg az, hogy a máját csináljba szeretnék lekérdezni ez az az installálás ne lett megadva és a csináljba a csénkódból szeretnék leolvasni és akkor itt van az, hogy melyik függvényt szeretnék meghívni és milyen paraméterekkel ez itt most a video world cards függvényt fogja meghívni és akkor utána meg kell adni egy csomó paraméter ami igazából azért fontos hogy az egész febrinknek a tehát először is, hogy milyen pirekkel és hogyan kommunikálunk másrészt pedig az, hogy milyen tanusítványokkal kommunikálunk ezeket sajnos meg kell adni ez egy kicsit macerás de nem annyira komplikált, hogyha egyszer az ember rájött az egész a logikájára annyit fogok csinálni, hogy ezt meghekkelem hogy ezt ténylegesen az én könyvstáramra működjön igazából ennyi az egész ez a téles rúzszertet kell megadni hogy a kommunikáció működjön egész egyszerűen mindenféle jósfúság mellett még téles is van az egész be ez külön megkomplikál minden lényegében, amit csinálunk ez a kériolkársz fogjuk meghívni ez az egy függvén ami igazából egy lekérdező függvén hogy nézzük, hogy ez így működik hát nem működjött még pedig az a bajaneki hogy rosszul van megadba ez az a rektorin és mert van rosszul pillanat ezt csak a szokásos modemó effekt hogy az a baj a szerintem neki hogy ezt fölkéne odrakni ezt szerintem így működni fog jó mindig nem működik és az a bajom igen, ezt egy kicsit leveszem minden mert nem láttam a végét tehát az a baj, ahogy a CR.CRT azt nem találja meg és valamiért na sikerült elvileg elvileg megtalálta és azt mondja hogy nincsen a utóbbi az egészre úgyhogy elvileg most lefutott és ez az, ami visszadott ugye azt kell tudni, hogy a blockchain protokolak azok nem molyan túlságosan látványosak mondjuk úgy tehát általában le megy egy transzakció és akkor örülünk, mert ha visszad valami eredményt akkor is örülünk az általában nem egy ilyen szép grafikus felület, ami történik csináljunk egy olyat, hogy írjunk be egy új új autót ebbe az egészbe és nézzük meg, hogy ez működik el ha alapveten úgy írjunk be új autót itt van egy test transzakció ahol megint az elérhetőséget egy kicsit pecselni kell ami törtenni fogít hogy egyrészt meg kell adni a blockchain-nek a paramétereit tehát hogy hol van ez az egész másrészt pedig meg kell adni az összes tamusítványnak az elérhetőségét úgyhogy ez egy kicsit fárasztó lehet de hogy ha egyszer az ember ráérzett, hogy hogyan kell ez csinálni akkor azért alapveten működni kell amit itt most csinálok ez ennek az egésznek a beállítása és amit csinálni fogok egy darab autót fogok beírni a blockchain-be mindegyek kínagítom ez egy ID-val fogok beírni egy nisszánt ami egy zöld és ez a nem tudom ki ez a sibóhány lesz alapvetően a tulajdosa ezt próbálom megúrani amit be kell állítani az az hogy a tanusítványoknak a hozzáférése az ténylegesen az legyen amit beállítok és ezt a testedverket beállítani mert itt igazából a PASZT kell jól megadni mindentok belőst sikörülni fogok szerintem kicsikörültem nem annyira, még pedig azért mert az az egésznek a pontása még pedig azért rossz mert ez jó ez nem volt jó és ezt se volt jó és most kéne jólak lenni el jó, és azt mondja Csénkor invokhzákszeszfúl Rizelt 200 tehát az az jelenti, hogy amit most csináltunk meghívtuk azt a create card függvényt amit mutattam az előbb ami annyit csinál hogy egy card 11-es ID-val és több paraméterrel legküld alapvetően egy objektumot a blockchain-be és ezt le tárolja kb. annyit csinál és hogyha ezt sikörült megcsinálni akkor elvileg, hogy ha most leolvasok megint mindent akkor egyrészt visszakéne adni ha működik a függvényt és valóban sikörült tehát lehet látni, hogy kialvastam még egyszer mindent vagy kialvastam mindent és azt lehet látni, hogy most lehet látni, hogy ez a card 11-es ez alapvetően bejedzése került a blockchain-be tehát van egy nisszán ez a leaf, ez milyen modell, de annyira én nem értek az autókhoz ami zöld és a tulajdonos ez a Sibohány és körülbelül ennyi jó akkor ezt lehet még egyszer játszani tehát azt mondjuk, hogy mi tudom én ígyünk be egy új autót ami legyen a card 11-es és a card 11-es az legyen egy nem tudom Trabant például, ami nem tudom a Trabantnak milyen verziójában a régi verzió legyen legyen ez fehér és legyek én a tulajdonosa akkor meghívom körülbelül ezt a transzakciót azt mondja, hogy chain code invoked successful sokkal többet nem fog mondani viszont, hogy ha lekérdezem ezt az információt akkor vissza fogja adni, hogy létezik ez az autó és elvileg itt már kettőt a vissza, tehát lehet látni hogy ezt ez igazából ez már kettőt a bejedzés a blockchain-be van egy card 11-ünk Zöld és Sibohán és van egy card 12-sünk ami igazából egy Trabant és a modell az régi és a színes fehér és a tulajdonosaim vagyok Nagyon eddig jó kb. láttartunk hogy van egy Hyperledger Fabric Test Infrastructure ugye, amit a Fabric Sempru szalapján hoztunk létre és van egy ilyen autó kezelő nagyon egyszerű chain code-unk és azt tesztelgetjük egyenlőre csak konzol segítségével hogy most, amit meg lehetne nézni nézünk az hogy az, hogy írunk meg klienst és ugye, igazából nem kell ráírni klienst úgyan is, például tipikusnak a FabCar-hoz vannak előredefiniált kliensek és ezt meg is nézhetjük például a FabCar könyvtár alatt vannak a FabCar-hoz mint Go mint Java mint tifesricsitbe így néz ki, bizonyos menjünk bármelyiket menjünk bármelyiket amit meg fogunk nézni komfésten a jávás verzió és a kérdés hogy van az IntelliGem és ez itt a jávás verzió ez tudom nagyítani a másik az az nem anéna tudom nagyítani Az úgy néz ki az a jávás verzió, amit alapvetően három fájt látunk, az első kettő az igazából ahhoz kell, hogy a megfelelő Jogos fújtságokat megkapjuk. Alapvetően, High Pleasure February, az egy nyilvános titkos kultsú kriptográfiát alkalmaz, és mannak certifikét autoritik, amin keresztül lényegében, hát ilyen tanúsítvány fájlokat tudunk megkapni. Úgyhogy itt végülis három darab fájt látunk, van az enroladmín, van a registerjúzer, és van a klient alkalmazás, és a klient, vagy ez a client app, és ez a klient alkalmazás fogja konkrétan meghívni azokat a transzakciókat, amiket meg szeretnénk hívni, de az egésznek a Jogos fújtságának a beállítására szükség van erre a két további fájra, tehát a registerjúzer és az enroladmíra. Úgy kell alapvetően csinálni, hogy először meg kell hívni az enroladmín, nem megyek belül az enroladmínba, az a lényeg, hogy az beléptet egy ilyen főadminisztrátort alakvetően, majd a főadminisztrátor segítségével hívjuk meg a registerjúzer, és a registerjúzer a főadminisztrátor segítségével beléptet egy alkalmazás specifikus felhasználót, és itt az alkalmazás specifikus felhasználó és a főadminisztrátor azok mind minőint tanúsítva. Amikasztán itt a valettep alatt fognak létrejödni. Azt csinálom, hogy lefutatom ezt az enroladmín. Vileg lefutott. És ezt megint nem tudom, hogy ez az első, de ezt tudom nagyítani. Itt azt mondta, hogy successfúli enroladmín end importitúdi valet. Konkrétan azt történt, hogy a kinyévő cél segítségével beimportált egy administráторitánósítvány. És az administráторitánósítvány ezen is jelenik a valatalat, az admin.id. És erre van szükség a következő sztripnek, ami a registerjúzer. És a registerjúzer az pedig, amit csinálni fog, meg fogja hívni ennek az admin.id segítségével, és a CA segítségével be fog léptetni egy alkalmazás speciutikus felhasználót. Nézzük meg azt is, hogy ez működik-e. Így te elvileg, ez megint nem annyira látszódik, de azt mondja, hogy successfúli enrolad apjúzer. Tehát ez az alkalmazás speciutikus felhasználó. Ezt megint lehet látni, hogy itt megjelni az apjúzer.id, alapvetőn a baletben. És hogyha mind a kettő megvan, alapvetőn ez a klínes alkalmazás, ezt az apjúzer fogja használni, tehát ezt az alkalmazás oldali felhasználót. És hogyha belemedjünk ebben a kódba, akkor lényegében ugyanaz látjuk egyébként, amit tegész.id. Van egy csinálizálás. Az initializálás az típikusan arról szól, hogy kell valami config file, hogy hol találjuk meg ezt az egész hálózatot, milyen tényelesterosítmányokkal dolgozunk, milyen egyéb paraméterekkel dolgozunk, aztán van egy initializálásan arra, hogy mi a csatornámire el dolgozunk, mi az a kód, amivel dolgozunk. Itt ugye a fabcar van kitéve alapvetően. És ha ez mind megvan, akkor amik csinálni fogunk, lényegében transzabciókat fogunk leküleni. Pontosabban két parancs van itt. Az egyikkel konkrétan leküldünk transzabciókat. Úgyhogy ilyen ez a create car, amit megnéztünk. Tehát ez egy új autótot hozzunk külétre. Van egy ideja, van egy, van a paraméterei, a milyen típusú színált tulajdonosra, és a többi, és a többi. És van a másik parancs. Az iveljúért transzabción. Ezzel pedig kb lekérdező szümvényeket hívunk, meg lényegében a blockchainben. És lényegében ennyi, tehát ezt a kettőt fogjuk kombinálgatni, és ezeket küljükre tulajdonképpen a ledzsörbe. Úgyhogy nézzük, hogy ez működik. Egy talapvetően először megkívja, visszakérdezni az összes autót, és úgyhogy leküld egy valamilyen pólót, majd utána lekérdezni, hogy a pólósikeres elemente, majd utána megkívjunk még egy tulajdonos változtatás, tehát megváltoztatja a tulajdonosát az autónak, és aztán lekérdezni még egyszer azt, hogy sikeresen megváltoztatja az autónak a tulajdonosát. Úgyhogy egy kis itt mási úszkéz lesz, amit én utattam, azért szerintem használható lesz ez is. Úgyhogy mondjuk neki azt, hogy rán, és azt lehet látni, azt lehet látni, hogy ez megint nem annyira látványos. Úgyhogy ilyen lényegében, ami történt, ugye először kiolvastuk azt, hogy mi van a ledzsörbe, és elvileg én már ezeket szerintem, ezeket leküldem, hogyha jól emlékszem, akkor itt van a trabanton, tehát ez volt a trabant, amit leküldem, és amit történt, hogy leküldtünk még egy autótizest is, ilyeneken volt egy 11-es, nem, tehát volt már egy 11-es, és volt egy 12-es ledzsörbe, és amit leküldtünk még egy autótizes, és a 10-esnek igazából lekérdeztük a paramétra, így a Submit Transaction, így a Ziverway Transaction, tehát lekérdeztük minden, és utána megvártoztattuk magát a tulajdonost, és a tulajdonos az itt R-csillet, és utána lekérdeztük még egyszer a 10-est, és elvileg akkor azt mondja, hogy a tulajdonos itt valóban R-csillet, tehát ez sikeresen lefutott, és csak, hogy biztosabb jók legyünk, ugye most elvileg, hogyha a komantronból megkívom a Quiry all carszt, akkor illene nekem visszaadni, ezt az új anon beírt elemet is, tehát ugye ez a 10-es, és a R-csillet, és valamilyen póló, tehát nézzük, hogy ez működik ennyi a szempontból, és jól néz ki, elvileg itt van a 10-es, itt van ez egy Volkswagen Póló, szűrkez színű R-csillet tulajdonosa, és jól néz ki. Nagyorsan akkor ezzel foglalva, ugye itt tartunk valahol, tehát megnéztünk valamilyen csénkódot, valamilyen febrig infrastruktúrán, és van valamilyen kliencsünk, ugye az a kérdés, hogy akkor mindenképpen, ha az ember elkezd fejleszteni, akkor érdemes a febrig szempősz alatt, mondjuk két tipikus példa, valamilyen megtaláltok, minden, ahol egyébként ez a fabcar az egy, és a másik az pedig a Marbuszt, ez a Marbuszt, az személyen üveg olyukat jelent lényegében. És ugye az a kérdés, a legétszerűbe elkezdeni, mondjuk saját kódot írni, ha a legétszerűb úgy egyébként, hogy az ember átvesz valamilyen már létező kódot, és itt egy ilyen nagyon egyszerű példát elkezdtem írogatni, annyit csináltam, hogy létrevoztam itt egy májkó könyvtárat, tehát hogy ne is nagyon menjek messzire a minden beállított dologtól, és itt létrevoztam egy gó könyvtárat, és nagyon egyszerűen, a gó könyvtárba átvettem, a fapkáralól, minden, ami referencia, és aztán elkezdtem csinálni egy májkót.gó könyvtárat, ahol alapvetően, amit csináltam, egyrészt ami fontos, hogy ezt a kontraktépiáit beimportájuk, másrészt, ami fontos, hogy legyen egy mény fügvénny, ami ugyanúgy néz ki, mint alapvetően a fapkárnál, tehát igazából ez ilyen standard mény fügvénny, amiket létrehoz az egész egyszerűen, ez fügvetlen a csénykotól, és igazából csináltam egy init ledger, de az eléggé üres, amit csináltam két fügvénnyt, állítottam elő, az egyik a test write, a másik pedig a test read, ezek van egyszerűen, annyit csinál a test write, hogy fog egy adott id, és egy adott adatot, az id és a string az mind a kettő adat, és egész egyszerűen beírom ezt a ledgerben. Hát van egy kutztétem, az a kutizmű versió van még, hogy ezt az adatos stringben érkezik, és utána byteba fogunk beíromi a ledgerbe, de ezen túl nincs más, és ugyanígy van egy test read, és ez egy test kijolvasás, aquí megint van egy függvénye, ugye ez a lényeg, hogy ezt a transzakszios contextet megvagyam neki előső parámételként, és úgy van egy id, és egészen először aztán kiolvasom az értéket, amelyen ledgerbe van. Ezt a get state-et hívom meg az adott ID-ra, és a get state után, hát úgy a byte bakokon vissza az egész, ez még átkonvertálom a stringé, és nagyon barbármodnázt visszaadom. Jó, úgyhogy lényegében ez a két függvényen van, ez a két transzakciós függvényen van, amit megírtam, hogy demo színten. Úgyhogy most nézzük meg azt, hogy ezt föl lehet én is találni, és elindul le. És ha elindul és fölést találom, akkor ezzel lényegében vége is az előadásonnak. Először csináljunk egy olyat, hogy lőjük le ezt az egészet. Azt mondom, hogy van ez a barbármodnó, újra indítok mindent. Van ez a network.sh, úgyhogy a network.sh, az a lényegében az alap infrastruktúrát konfigurálom. Úgyhogy amit tudok veled csinálni, van egy down, ez lelövi a hálózatot, tehát mondjuk azt, hogy network.sh down. Elvileg, amit most történik, ugye lelövi a piireket, az ordering service, certifikét autórikat és a többi és többi. Jó, valami behiba van még, de elvileg működni a kéne. Mi azt lehet látni, hogy elvileg mindent sikerült lelőni. Amit még érdemes megcsinálni, hogy lehet, hogy perzizszenes horuméket hagyott bánt, de nem, ezt jól csinálta. Úgyhogy elvileg előttem a hálózatot, amit most csinálni szeretnék, először is újra indítani magát az alap hálózatot, még pedig úgyhogy hozzanléfre egy csatornát is és SSR-t egy ciát is. Úgyhogy most újra indítom magát a hálózatot. Elvileg, amit történik, ugye elindított a különböző komponentseket és hozzáadta a csatornát magához a hálózatot, egy következő lépésként, amit csinálok. Fölinstalálom, még pedig a saját kódomat. És ez úgy néz ki, pontosan van ez lehet, hogy már itt bevan állítva. Úgyhogy annyi az egésznek a lényege, hogy nem a fapkárt akarom felinstalálni, hanem ezt a kódot, amit itt a májkódgó alatt hoztam létre, és azt hívjuk is igazából májkódnak, tehát mondjuk, hogy ez a májkód, és ez ugyan a csénkódban a májkód alatt van. Még pedig azt rontottam el, hogy szerintem itt híjánjuk egy szpéz. Na, elgyen meg van. Egyek fölrakja a májkódot. Van egy több fázis, hát ilyen installáció és jóváhagyási folyamata, amiben most nem annyira mennék beled, de lényegében most ezt történik. Azért jó ezt a fabric szempűzt használni, mert ez megcsinálja ilyenkor automatikusan. Tehát ez nem kell lekódolni. És hogyha minden megvan, akkor szép lassan a végére hívünk, illetve sikerül fölinstalálni. Úgyhogyha ez megvan, akkor igazából, amit csinálni tudunk, ezt két irányból tudjuk testelni. Úgyhogyha egyrészt testelni tudjuk a konzol segítségével. Alapvetően itt ezeket előkészítettem, ugye azt tudjuk csinálni, hogy hasonlóan az előzőekhez ki tudunk adni olyan parancsokat, amik ezt a testridet végre hagyják. Meghívok egy testrid, az ID 11-re. Hogyha ezt meghívom, akkor előbb ilyen kibát kéne dobnia. Pontos van, nem dob hívát, de nem is mondt semmit ugye előbb, nincsen test ID 11-ünk. Amit tudok csinálni, hogy csinálok egy olyan transzapciót, ami meghívő ezt a testwrite-ot, és valamilyen ID mögében, akik egy üzenetet egy stringet. Hát, hogyha ezt sikeresem meghívom, akkor azt mondja, a chaincode-invoke-successful, tehát elvileg lement a transzapció, és ha ez megvan, akkor meg tudom, hogy hívni az előző parancsot, ha megtalálom, és az előző parancs, az elvileg kiadja ezt a helóvilágot. És ki is adta valóban itt a helóvilág. Jó, ez az egyik, amik meg tudok csinálni, és ugye ezt megvan, hát most nem írok új kliánst, de hogy a már létező kliánst is meg tudjuk változtatni egyébként, vagy a már létező kliánstra is tudunk dolgozni. Úgyhogy itt azt fogom csinálni, hogy először is mivel újra indítottuk a hálózatot, ezért alapvetően újra kell generálni a tanosítványokat. Úgyhogy törlöm a régi tanosítványokat, és azt fogom csinálni, hogy végre olajtom az N0admint, és utána végre hajtom a registerűzert is még egyszer, ugye ez még egyszer a szükségest tanosítványokat itt beid a lokális valetbe, majd visszamegyek a klient ebbhez, és ezt egy kicsit módosítom, ugye alapvetően májécsénelem vagyunk, ami változott az, hogy a csénkódnak más lett a neve, azt hiszem, hogy májékkód lett alapvetően a neve, ami szintén változott, hogy nincsenek már ilyen kudikársz és egyéb dolgok, hogy ezeket kommentálom. Ha nem amit írtam, az egy testwrite és testwrite talán, ha jól emlékszem, négyzük meg pontosan, ahogy is mi az pontosan. Egyek van egy testreadem és egy testwrite-on. Úgyhogy amit most csinálni fogok, hogy amit transzakció küldés, az legyen egy testwrite, és ugye elmílek, elmílek azt mondom, hogy két paraméterem van, ugye az egyik az valamilyen ID, ez legyen egy testID, és ez pedig legyen egy HelloVillag klíjás, ugye az egy testID klíjás, ugye ez az egyik, és a másik, amit csinálni tudok, ezzel leküldöm a transzakciót, ugye kiértékelem ezt a transzakciót, ugye az e-verjuét transzaktionnal alapvetően lekérdezni tudok a ledgzsörből, és ugye egy lekérdező függvényebb van, az a testread, és csináljuk azt, hogy azt, amit beírtam a ledgzsörbe, azt próbáljam kiolvasni. Tehát ez a testID, káig kilomatnyilag, és körülbelül ennyi, és ha ez a kettő működik, akkor ugye örülünk, akkor triáns olydáról is sikerült le tesztelni a csénkóról. Úgyhogy nézzük meg azt, hogy működik-e. Úgyhogy nézzük meg azt, hogy működik-e. Amadok semmit úgy, hogy próbáljuk meg lefutatni, és elvileg, hát ugye még egyszer a blogcsén az nem mond túl sokat, de elvileg kiérte azt, hogy hello világ kliás. Tehát ez azt jelent, ugye a transzakciót az lement, testID kára beérte a hello világ kliást, és kiolvasni is kiláltet kliásből, hát itt van a testID kákléens, és ugye amit még meg tudunk csinálni, megpróbálatjuk ezt kiolvasni, még pedig a testriddel és ugye a testID kával, pontosan van a testID kákléensel, hogyha elvileg ezt kiolvasjuk a komment prompton, akkor ennek úgyan úgy mennél kéne, nézzük, hogy ez működik-e, és valóban működik ki, és írta, hogy hello világ kliás. Jó! Hát körülbelül ennyire lehet volna az erőlás, én nem tudom, hogy maradtam, hogy már később is itt a bére, de hogy az a lényeg, hogyha bárkinek érése van, akkor most van itt az idő, és egyébként az egész az online megtalálható lesz, tehát vissza nézhető lesz, hogyha később ilyetben valaki hát ebben mondjuk, hogy jobban el akar mélyedni. De akkor megkérdezném, hogy vannak érése bárkinek is, még annyit talán konkúzióként, hogy nem felszéljük a helypelezerfabrik programozás. Hogyhogy láttátok, nem a programozással van a baj, mert az viszonylag egyszerű, hanem amikomplex, az maga az egész arhitektúrának az ismerete, és ez az egész arhitektúrá, úgyhogy azt ismenik el, valamilyen szinten, illetve ennek a szeltápolással az nem felszétlen trivial is, de az egyik ilyen egyszerű, vagy leg egyszerű kezdés, komolyabban akar fejleszteni, akkor persze nem biztos, tehát amit tudom én a első hello-világokat, vagy akár egyszerűk csénykodott, és érdemes a febrik szemplőzben lefejleszteni. De hogy mi helyt ez egy kicsit komolyab lesz, akkor érdemes, vagy egy saját fejlesztő infrastruktúrát lesz tenni, vagy van például a mini-fabrik projekt, ami valamennyire egyszerűsíti ezt a fejlesztői környezet szeltápolását, érdemes lehet azt használni és azzal tovább menni. De még mindenképp érdemes a febrik szemplőzben kezdeni, szerintem egész egyszerűen azért, mert a leg egyszerűb, tehát a leg egyszerűbb ezt az egész blockchain, vagy hyperlager febrik programozást nem ott telkezdeni, hogy az ember nulláról kezdeni csénykodott fejleszteni, hanem sokkal egyszerűbb már egy létezőt megfogni, és azt elkezdeni módosítvatni, és akkor sokkal nagyobb, hát mondjuk úgy, hogy sikerélménye is lesz az embernek. Aztán, hogy ha persze már profi és mindent tud, akkor persze lehet összájtani saját csénykodott, saját fejlesztői környezetet, és saját mindent. De még egyszer, ha még soha nem programozott így az ember, hogy egész egyszerűen a támabatú infrastruktúrának az összer akársa, az viszonyabb komplikát lehet. Jó. Na még egyszer van a kérdés, én szerintem egész rendesen megfordyatkoztunk. Úgyhogy adnék még egy percet arra, hogy bárki szeretne kérdezni. Még egyszer persze elékevesen maradtunk, de hogy az az egész ez kinyleszik azában online. Úgyhogy ha a bárki valahol később ilyekben is el szeretne kezdeni a high-peleger-fabbi programozással, akkor erre meg lesz a lehetőség. Úgyhogy akkor később kérdés, akkor én köszönöm szépen a figyelmet, és akkor zárnánk is igazából lesz a meeting-et. Kiposztolom majd a meet-up alá mind a felvételt, mind pedig ezeket a slide-okat, ahol alapvetően ezek az alapparancsok itt a végén, mert találhatóok lesznek. Úgyhogy akkor köszönöm szépen a figyelmet.