Az intelligens szűrők sokkal okosabbá tétele
Ma nagy örömünkre kiadjuk a MultiChain 2.1-et, amely két fontos új funkcióval rendelkezik a MultiChain fejlesztők számára.
Másfél éve mutatkozott be a MultiChain 2.0 Intelligens szűrők, amelyek lehetővé teszik egyéni logika beágyazását egy blokkláncba a tranzakciók és adatok érvényesítéséhez. Az intelligens szűrők elvileg hasonlóak a többi blokklánc platform által biztosított „intelligens szerződésekhez”, de eltérő kialakításúak, hogy illeszkedjenek a MultiChain gyorsabb tranzakciós modelljéhez.
Az intelligens szűrőknek két változata van – tranzakciószűrők és adatfolyamszűrők. A tranzakciószűrő a láncon belüli tranzakciókat teljes egészében érvényesíti, megvizsgálja bemeneteiket, kimeneteiket és metaadataikat. Ha egy tranzakció nem megy át a szűrőn, azt a hálózat minden csomópontja elutasítja. A folyamszűrő érvényesíti az a-ba írt egyes elemeket MultiChain stream, a kulcs(ok), a kiadó(k) és a láncon belüli vagy a láncon kívüli adatok megtekintése JSON, szöveges vagy bináris formátumban. Ha egy elem nem megy át a szűrőn, akkor a rendszer érvénytelennek jelöli, és az adatfolyamra előfizetett összes csomópont elrejti az adatait.
Mindkét típusú intelligens szűrő JavaScriptben íródott, és a Google determinisztikus verziójában fut V8, a szupergyors JavaScript-motor, amely a Chrome-ot, a Node.js-t és sok más platformot működteti. Az egyszerű szűrőket könnyű kódolni és megérteni – például itt van egy adatfolyamszűrő, amely ellenőrzi, hogy az elemeknek legalább két kulcsa van-e:
function filterstreamitem() { var item=getfilterstreamitem(); // callback function if (item.keys.length2) return "At least two keys required"; }
Összességében nagyszerű visszajelzéseket kaptunk az intelligens szűrőkkel kapcsolatban, de többször is hallottunk arról, hogy kétféleképpen is javíthatjuk őket. Először is sok felhasználó olyan szűrőket szeretne, amelyek képesek olvasni a blokkláncon lévő információkat, de nem az érvényesített tranzakción vagy adatfolyamon belül. A használati esetek közé tartozik az engedélyezett országok változó listája, egy külső „orákulum” által biztosított árfolyam, vagy egy kapcsoló bizonyos szabályok átváltására.
Másodszor, egyes fejlesztők JavaScript-függvényeket akarnak használni több szűrőben anélkül, hogy kódot duplikálnának. Azt is szeretnék elérni, hogy frissítsék ezeket a funkciókat, javítsanak egy hibát vagy lefedjenek néhány új helyzetet anélkül, hogy letiltják a meglévő szűrőket és újakat hoznak létre helyettük. Például a megosztott kód tartalmazhat alkalmazás-specifikus logikát, harmadik féltől származó könyvtárat a JSON-ok érvényesítésére vagy a PDF-fájlok tartalmának elemzésére.
MultiChain 2.1 két új típusú on-chain entitást vezet be, változók és a könyvtárak, hogy megfeleljen ezeknek az igényeknek.
Változók
Kezdjük a MultiChain változókkal. Ezek ugyanúgy működnek, mint a hagyományos programozási nyelvek, csak egy blokklánc csavarral. A blokkláncon tetszőleges számú elnevezett változó létrehozható. Minden változónak van egy dinamikus címkészlete, amely frissítheti az értékét, és ezt a készletet egy vagy több változó adminisztrátora kezeli (alapértelmezés szerint csak a változó létrehozója). A változók létrehozása vagy frissítése egy blokklánc-tranzakcióban történik, amelyet egy egyszerű, magas szintű API paranccsal lehet elküldeni. Alternatív megoldásként az alacsonyabb szintű API-k használhatók olyan összetett tranzakciók létrehozására, amelyek egy vagy több változót atomizáltan állítanak be, adatfolyamelemeket írnak, eszközöket továbbítanak, engedélyeket módosítanak stb.
Maga a változó értéke bármilyen JSON-struktúrát tartalmazhat, beleértve a számokat, karakterláncokat, logikai értékeket, beágyazott objektumokat és tömböket, és a láncon tárolja a hatékony UBJSON szerializációs formátum. Természetesen az intelligens szűrők egy egyszerű visszahívási funkció segítségével lekérdezhetik egy változó aktuális értékét. De mivel ez egy blokklánc, a változó értékeinek és íróinak teljes története is elérhető, és részben vagy teljes egészében lekérhető egy másik visszahívási funkcióval. A fejlesztés megkönnyítése érdekében ezek a visszahívások az alkalmazásra néző API-n keresztül is elérhetők.
könyvtárak
Térjünk át a könyvtárakra, amelyek a változók nagyobb testvérei. A változókhoz hasonlóan a blokkláncon tetszőleges számú elnevezett könyvtár hozható létre. A könyvtárak azonban gazdagabb modellel rendelkeznek a frissítéshez, három elérhető móddal – változhatatlan, azonnaliés jóváhagyás tárgyát képezi.
Egyszer egy változhatatlan könyvtár létrejön, kódja soha nem módosítható. Egy könyvtár azonnali a frissítések változóként változtathatók, olyan címkészlettel, amely egyenként helyettesítheti a kódját. De egy könyvtárban jóváhagyás tárgyát képezi frissítések esetén a frissítés csak akkor kerül alkalmazásra, ha azt a blokklánc globális rendszergazdáinak bizonyos hányada jóváhagyta. Ez az utolsó mód nagyszerű kompromisszumot biztosít a biztonság és a rugalmasság között.
A könyvtár kódja normál JavaScriptben van írva, és egy vagy több funkciót határoz meg az intelligens szűrők számára. A változókhoz hasonlóan a könyvtárak is egy speciális tranzakció során jönnek létre vagy frissülnek, és könnyen elküldhetők az API segítségével. Intelligens szűrő létrehozásakor a szükséges könyvtárak egy opcionális paraméterben jelennek meg. A könyvtár mindig az azt igénylő szűrő környezetében fut, így adott esetben használhatja az intelligens szűrő visszahívásait. A MultiChain kiterjedt funkcionalitást biztosít a könyvtárak és azok frissítéseinek helyi teszteléséhez (és visszagörgetéséhez), mielőtt változtatásokat hajtana végre a blokkláncon.
Csomagolás
Mint minden, a blokklánc szabályaival kapcsolatos szolgáltatás, a változók és a könyvtárak a MultiChain 2.1 közösségi és vállalati kiadásában is elérhetők. Fejlesztői dokumentációnk részletes leírást ad az újdonságról JSON-RPC API-k és a Intelligens szűrő visszahívások elérhető. Az új funkciók használatához egy már futó blokkláncon először migrálja át a csomópontokat a MultiChain 2.1-re, majd frissítés a lánc protokollja a 20012-es verzióhoz.
Szóval mi a következő? Az elkövetkező hónapokban néhány részletes és intenzív motorháztető alatti munkára fogunk összpontosítani, hogy javítsuk a MultiChain teljesítményét és párhuzamosságát, miközben az jelentős terhelés alatt áll. Ez növeli azoknak az alkalmazásoknak a válaszkészségét, amelyeknek le kell kérdezniük egy csomópontot, miközben az továbbra is több száz vagy több ezer új tranzakciót dolgoz fel másodpercenként.
Addig is mindannyian, a MultiChain csapatában jó egészséget és józanságot kívánunk felhasználóinknak és ügyfeleinknek az elkövetkező évre. Tudjuk, hogy mindenki számára nehéz idők járnak, és alig várjuk, hogy visszatérjünk a találkozók és konferenciák szokásos ritmusához, amint biztonságos.
Kérjük, tegye meg észrevételeit a LinkedIn.
- Bitcoin
- blockchain
- blokklánc megfelelőség
- blockchain konferencia
- coinbase
- coingenius
- megegyezés
- kriptokonferencia
- kriptikus bányászat
- cryptocurrency
- decentralizált
- Defi
- Digitális eszközök
- Ethereum
- gépi tanulás
- többláncú
- nem helyettesíthető token
- Plató
- plato ai
- Platón adatintelligencia
- Platoblockchain
- PlatoData
- platogaming
- Poligon
- a tét igazolása
- W3
- zephyrnet