WavesKit - వేవ్స్ బ్లాక్‌చెయిన్‌తో పని చేయడానికి PHP ఫ్రేమ్‌వర్క్

నాకు ఇష్టం PHP అభివృద్ధి వేగం మరియు అద్భుతమైన పోర్టబిలిటీ కోసం. మీరు ఎల్లప్పుడూ మీ జేబులో ఒక సాధనాన్ని కలిగి ఉన్నప్పుడు, సమస్యలను పరిష్కరించడానికి సిద్ధంగా ఉన్నప్పుడు ఇది చాలా మంచిది.

దేశీయ బ్లాక్‌చెయిన్‌తో పరిచయం ఏర్పడినప్పుడు ఇది చాలా అవమానకరం వేవ్స్ ప్లాట్ఫారమ్ అతని ఆయుధశాలలో రెడీమేడ్ PHP SDK లేదు. బాగా, నేను వ్రాయవలసి వచ్చింది.

మొదట నేను ఉపయోగించాల్సి వచ్చింది నోడ్స్ లావాదేవీలపై సంతకం చేయడానికి. కాబట్టి, మూడు చిరునామాలను నిర్వహించడానికి ఇది మూడు నోడ్‌లను ప్రారంభించాల్సిన అవసరం ఉంది... ఇది కొన్ని సమస్యలను పరిష్కరించినప్పటికీ, ఇది దయనీయ దృశ్యం. నోడ్స్‌పై ఆధారపడడం ఖాయం అని అవగాహన వచ్చే వరకు. మొదట, పరిమిత కార్యాచరణ కారణంగా API, రెండవది, వేగం కారణంగా (ఆ రోజుల్లో నోడ్స్ చాలా నెమ్మదిగా ఉండేవి).

నేను రెండు సమాంతర ఉద్యోగాలు ప్రారంభించాను. ఒకటి, నోడ్ API నుండి వేగంగా మరియు పూర్తిగా స్వతంత్రంగా ఉండే బ్లాక్‌చెయిన్ ఎక్స్‌ప్లోరర్‌ను తయారు చేయడం. రెండవది వేవ్స్ ప్లాట్‌ఫారమ్‌తో ఒకే చోట పనిచేయడానికి అన్ని విధులను సేకరించడం. ప్రాజెక్టులు ఇలా కనిపించాయి w8io и వేవ్స్‌కిట్.

వేవ్స్ బ్లాక్‌చెయిన్ తెర వెనుక మొదటి అడుగు w8io బ్రౌజర్. ఇది అంత సులభం కాదు, కానీ మేము ఇప్పటికీ అన్ని బ్యాలెన్స్‌ల స్వతంత్ర గణనను వ్రాయగలిగాము మరియు అసలు నోడ్‌లలోని గణనలలో లోపాన్ని కూడా కనుగొనగలిగాము (బగ్-బౌంటీ ప్రోగ్రామ్ మార్గం ద్వారా, ఇది వారికి పని చేస్తుంది, వారు కనుగొన్న లోపాల కోసం చెల్లిస్తారు). మీరు ఈ అంశంలో w8io బ్రౌజర్ యొక్క కార్యాచరణ గురించి మరింత తెలుసుకోవచ్చు: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

w8ioలో పని చేస్తున్నప్పుడు, నాకు ఇప్పటికే సందేహాలు ఉన్నాయి, కానీ పని దాని తార్కిక ముగింపుకు వచ్చినప్పుడు మరియు నేను SDKని సృష్టించడం ప్రారంభించినప్పుడు, నా సందేహాలు ధృవీకరించబడ్డాయి. చాలా ముఖ్యమైనవి, క్రిప్టోగ్రాఫిక్ వాటితో సహా కొన్ని ఫంక్షన్‌లను నేను ఎక్కడా కనుగొనలేకపోయాను. అప్పుడు నేను పునాది కోసం నా స్వంత ఇటుకలను తయారు చేయడం ప్రారంభించాను. ఈ విధంగా వారు జన్మించారు: ABC కోడ్ బేస్ 58కి ఎన్‌కోడ్ చేయడానికి (వాస్తవానికి ఏదైనా వర్ణమాలను దేనికైనా ఎన్‌కోడ్ చేయడానికి), Curve25519 అనుకూల సంతకాలను సృష్టించడానికి మరియు ధృవీకరించడానికి (ఎంపికలతో స్టెరాయిడ్స్ మీద), బ్లేక్2బి హ్యాష్‌లలో ఒకదానిని లెక్కించేందుకు (ఇది PHP 7.2 నుండి మాత్రమే అందుబాటులో ఉంది) మొదలైనవి.

ఇక్కడే నేను కృతజ్ఞతలు చెప్పుకోవాలి ఇనాలా కర్దనోవా నాకు దిశానిర్దేశం చేసిన కొన్ని విలువైన సలహాల కోసం స్వరకర్త నాకు తెలిసిన, కానీ పాతది అయిన ఫైల్‌లను చేర్చడానికి బదులుగా.

రెండు నెలల తర్వాత వేవ్స్‌కిట్‌ని విడుదల చేశారు, బయటకి వచ్చాడు బీటా సంస్కరణలు మరియు ఇప్పుడు వేవ్స్ ప్లాట్‌ఫారమ్ యొక్క అన్ని ప్రామాణిక కార్యాచరణలతో పని చేయడానికి సిద్ధంగా ఉంది. అన్నీ అందుబాటులో ఉన్నాయి ప్రధాన నెట్వర్క్ లావాదేవీలను సులభంగా సృష్టించవచ్చు, సంతకం చేయవచ్చు మరియు కేవలం ఒక ప్యాకేజీని ఉపయోగించి పంపవచ్చు, PHP యొక్క అన్ని 64-బిట్ వెర్షన్‌లలో 5.6తో సహా అమలు చేయబడుతుంది.

మేము WavesKitని మా ప్రాజెక్ట్‌కి కనెక్ట్ చేస్తాము:

composer require deemru/waveskit

మేము ఉపయోగిస్తాము:

use deemruWavesKit;
$wk = new WavesKit( 'T' );
$wk->setSeed( 'manage manual recall harvest series desert melt police rose hollow moral pledge kitten position add' );
$tx = $wk->txBroadcast( $wk->txSign( $wk->txTransfer( 'test', 1 ) ) );
$tx = $wk->ensure( $tx );

పై ఉదాహరణలో, మేము "T" ​​టెస్ట్‌నెట్‌లో పనిచేసే WavesKit ఆబ్జెక్ట్‌ని సృష్టిస్తాము. పబ్లిక్ కీ ఆధారంగా కీలు మరియు ఖాతా చిరునామా స్వయంచాలకంగా లెక్కించబడే విత్తన పదబంధాన్ని మేము ఇన్‌స్టాల్ చేస్తాము. తరువాత, మేము బదిలీ లావాదేవీని సృష్టిస్తాము 0.00000001 చిరునామా నుండి వేవ్స్ స్వయంచాలకంగా విత్తన పదబంధాన్ని ఉపయోగించి మారుపేరు చిరునామా "పరీక్ష"కు లెక్కించబడుతుంది, దానిని ప్రైవేట్ కీతో సంతకం చేయడానికి బదిలీ చేసి నెట్‌వర్క్‌కు పంపండి. దీని తర్వాత, లావాదేవీ నెట్‌వర్క్ ద్వారా విజయవంతంగా నిర్ధారించబడిందని మేము నిర్ధారించుకుంటాము.

లావాదేవీలతో పని కేంద్రీకృతమై ఉంది txతో ప్రారంభమయ్యే విధులు. లావాదేవీలతో పని చేయడం గురించి మంచి అవగాహన కోసం, మీరు అధ్యయనం చేయవచ్చు WavesKit డాక్యుమెంటేషన్ లేదా వెంటనే దృష్టాంత ఉదాహరణల వైపు తిరగండి నిరంతర ఏకీకరణ పరీక్షలు.

WavesKit వాస్తవ-ప్రపంచ వినియోగంలో అభివృద్ధి చేయబడినందున, ఇది ఇప్పటికే అధునాతన లక్షణాలను కలిగి ఉంది. మొదటి కిల్లర్ ఫీచర్ పనితీరును నిర్ధారించండి, ఇది లావాదేవీని కోల్పోలేదని అవసరమైన స్థాయి విశ్వాసాన్ని సాధించడాన్ని నియంత్రిస్తుంది, కానీ, దీనికి విరుద్ధంగా, నిర్ధారించబడింది మరియు నెట్‌వర్క్‌లో అవసరమైన నిర్ధారణల సంఖ్యను చేరుకుంది.

వేవ్స్‌కిట్ నోడ్‌లతో ఎలా కమ్యూనికేట్ చేస్తుంది అనేది మరొక బుల్లెట్ ప్రూఫ్ మెకానిజం. గ్రీన్హౌస్ పరిస్థితులలో, ఫ్రేమ్‌వర్క్ ప్రధాన నోడ్‌తో మాత్రమే పని చేస్తుంది, దానితో స్థిరమైన కనెక్షన్‌ను నిర్వహిస్తుంది, అయితే లోపాల విషయంలో అది స్వయంచాలకంగా బ్యాకప్ వాటికి మారవచ్చు. మీరు బ్యాకప్ నోడ్‌ల శ్రేణిని సెటప్ చేస్తే, మీరు ఫంక్షన్‌కు కాల్ చేయవచ్చు సెట్‌బెస్ట్‌నోడ్ ప్రస్తుత ఎత్తు మరియు ప్రతిస్పందన వేగం యొక్క గరిష్ట విలువ ఆధారంగా ఉత్తమ నోడ్‌ను ప్రధానమైనదిగా నిర్ణయించడానికి. ఇప్పుడు దీనికి అంతర్గత ప్రశ్న కాష్‌ని జోడించండి మరియు వినియోగదారులు మరియు నోడ్ ఓనర్‌ల పట్ల శ్రద్ధ వహించండి.

తాజా అధునాతన మెకానిజమ్‌లలో ఒకటి ఫంక్షన్ txMonitor. నిజ సమయంలో ఇన్‌కమింగ్ లావాదేవీలకు ప్రతిస్పందించాల్సిన అవసరం కారణంగా ఇది కనిపించింది. ఈ ఫంక్షన్ బ్లాక్‌చెయిన్‌లో ప్రాసెసింగ్ లావాదేవీలకు సంబంధించిన అన్ని సూక్ష్మ నైపుణ్యాలను పూర్తిగా పరిష్కరిస్తుంది. ఇక నొప్పి లేదు, కావలసిన ఎంపికలతో మీ కాల్‌బ్యాక్ ఫంక్షన్‌ని సెటప్ చేయండి మరియు మీ ప్రక్రియలను ప్రారంభించడానికి కొత్త లావాదేవీల కోసం వేచి ఉండండి. ఉదాహరణకు, నా మరొక ప్రాజెక్ట్ VECRO ఈ ఫంక్షన్ చుట్టూ పూర్తిగా నిర్మించబడింది, ఇది నేరుగా ఎలా పనిచేస్తుందో మీరు సులభంగా అధ్యయనం చేయవచ్చు ప్రాజెక్ట్ కోడ్‌లో.

నేను ఓపెన్ సోర్స్‌ని ప్రేమిస్తున్నాను, ఇది మానవాళి యొక్క గొప్ప విజయాలలో ఒకటి. నేను మాత్రమే డెవలపర్‌ని మరియు నా అవసరాలన్నీ పరిష్కరించబడే స్థితికి చేరుకున్నాను కాబట్టి, ఉపయోగించడానికి మరియు సహకరించమని నేను మిమ్మల్ని ఆహ్వానిస్తున్నాను వేవ్స్‌కిట్.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి