WavesKit - PHP فريم ورڪ Waves blockchain سان ڪم ڪرڻ لاءِ

مان چاهيان ٿو پي PHP حفاظتي ترقي جي رفتار ۽ شاندار portability لاء. اهو تمام سٺو آهي جڏهن توهان وٽ هميشه توهان جي کيسي ۾ هڪ اوزار آهي، مسئلا حل ڪرڻ لاء تيار آهي.

اها ڪافي شرم هئي جڏهن، جڏهن گهريلو بلاڪچين سان واقف ٿي رهيو هو موج پليٽ فارم هن وٽ پنهنجي هٿيارن ۾ تيار ٿيل PHP SDK نه هو. خير، مون کي لکڻو پيو.

شروعات ۾ مون کي استعمال ڪرڻو پيو نوڊس ٽرانزيڪشن تي دستخط ڪرڻ لاء. تنهن ڪري، ٽن ايڊريس کي منظم ڪرڻ لاء، ٽن نوڊس کي لانچ ڪرڻ ضروري هو ... اهو هڪ افسوسناڪ نظر هو، جيتوڻيڪ اهو ڪجهه مسئلا حل ڪيو. جيستائين سمجهه ۾ نه آيو ته نوڊس تي ڀروسو ختم ٿي ويو. پهرين، محدود ڪارڪردگي جي ڪري API، ٻيو، رفتار جي ڪري (انهن ڏينهن ۾ نوڊس تمام سست هئا).

مون ٻه متوازي نوڪريون شروع ڪيون. ھڪڙو ھڪڙو بلاڪچين ايڪسپلورر بڻائڻ آھي جيڪو تيز ۽ مڪمل طور تي نوڊ API کان آزاد ھوندو. ٻيو هڪ جاء تي Waves پليٽ فارم سان ڪم ڪرڻ لاء سڀني ڪمن کي گڏ ڪرڻ آهي. هن طرح منصوبا ظاهر ٿيا w8io и WavesKit.

Waves blockchain جي مناظر جي پويان پهريون قدم هو w8io برائوزر. اهو آسان نه هو، پر اسان اڃا تائين سڀني بيلنس جو هڪ آزاد حساب ڪتاب لکڻ ۾ ڪامياب ٿي ويا آهيون ۽ اصل نوڊس (بگ-باؤنٽي پروگرام رستي جي ذريعي، اهو انهن لاء ڪم ڪري ٿو، اهي غلطين لاء ادا ڪندا آهن). توھان ھن موضوع ۾ w8io برائوزر جي ڪارڪردگي بابت وڌيڪ سکو سگھو ٿا: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

w8io تي ڪم ڪرڻ دوران، مون کي اڳ ۾ ئي شڪ هئا، پر جڏهن ڪم پنهنجي منطقي انجام تي پهتو ۽ مون SDK ٺاهڻ شروع ڪيو، ته منهنجي شڪ جي تصديق ٿي وئي. مون کي ڪي فنڪشن ڪٿي به نه ملي سگھيا آھن، جن ۾ سڀ کان اھم آھن، ڪرپٽوگرافڪ. پوءِ مون بنيادن لاءِ پنهنجون سرون ٺاهڻ شروع ڪيون. هن طرح اهي پيدا ٿيا: اي بي ڪوڊ بنيادي 58 تي انڪوڊ ڪرڻ (اصل ۾ ڪنهن به الفابيٽ کي انڪوڊ ڪرڻ لاءِ)، Curve25519 مطابقت رکندڙ دستخط ٺاهڻ ۽ تصديق ڪرڻ لاءِ (اختيارن سان steroids تي), بليڪ 2 بي ھڪڙي ھڪڙي ھيش کي ڳڻڻ لاءِ (جيڪو صرف PHP 7.2 کان دستياب ھو)، وغيره.

هي آهي جتي مون کي شڪر ڪرڻ گهرجي Inala Kardanova ڪجھ قيمتي مشوري لاءِ جيڪو مون کي هدايت ۾ اشارو ڪيو موسيقار ان جي بدران شامل فائلون جيڪي مون کان واقف آهن، پر پراڻيون آهن.

ڪجهه مهينن کان پوءِ WavesKit جاري ڪيو ويو، ٻاهر آيو بيٽا ورزن ۽ ھاڻي ويز پليٽ فارم جي سڀني معياري ڪارڪردگي سان ڪم ڪرڻ لاءِ تيار آھي. ۾ سڀ موجود مکيه نيٽ ورڪ ٽرانزيڪشن آساني سان ٺاهي سگھجن ٿا، سائن ان ڪري سگھجن ٿا ۽ موڪلي سگھجن ٿا صرف ھڪڙو پيڪيج استعمال ڪندي، PHP جي سڀني 64-bit ورزن تي ھلندڙ 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 );

مٿي ڏنل مثال ۾، اسان هڪ WavesKit اعتراض ٺاهيو جيڪو "T" testnet تي هلندو آهي. اسان هڪ ٻج جملي کي انسٽال ڪريون ٿا جنهن مان ڪنجيون ۽ اڪائونٽ ايڊريس خودڪار طور تي ڳڻپيو ويندو آهي عوامي ڪي جي بنياد تي. اڳيون، اسان هڪ منتقلي ٽرانزيڪشن ٺاهيندا آهيون 0.00000001 ويز پتي مان خودڪار طريقي سان ٻج جي جملي کي استعمال ڪندي عرف ايڊريس ڏانهن ڳڻپيو ويو آهي “ٽيسٽ”، ان کي منتقلي ڪريون ٿا سائن ان ٿيڻ لاءِ پرائيويٽ ڪيئي سان ۽ ان کي نيٽ ورڪ ڏانهن موڪليو. ان کان پوء، اسان پڪ ڪريون ٿا ته ٽرانزيڪشن ڪاميابي سان نيٽورڪ طرفان تصديق ڪئي وئي آهي.

ٽرانزيڪشن سان ڪم ۾ مرڪوز آهي tx سان شروع ٿيندڙ ڪم. ٽرانزيڪشن سان ڪم ڪرڻ جي بهتر سمجهڻ لاء، توهان پڙهي سگهو ٿا WavesKit دستاويز يا فوري طور تي مثالي مثالن ڏانهن رخ ڪريو مسلسل انضمام جا امتحان.

جيئن ته WavesKit حقيقي دنيا جي استعمال ۾ ترقي ڪئي وئي آهي، ان ۾ اڳ ۾ ئي ترقي يافته خاصيتون آهن. پهرين قاتل خاصيت آهي ڪارڪردگي کي يقيني بڻائي، جيڪو اعتماد جي گهربل سطح جي حاصلات کي سنڀاليندو آهي ته ٽرانزيڪشن وڃائي نه وئي هئي، پر، ان جي برعڪس، تصديق ڪئي وئي ۽ نيٽ ورڪ ۾ تصديق جي گهربل تعداد تائين پهچي وئي.

هڪ ٻيو بلٽ پروف ميڪانيزم اهو آهي ته ڪيئن WavesKit نوڊس سان رابطو ڪري ٿو. گرين هاؤس جي حالتن ۾، فريم ورڪ صرف مکيه نوڊ سان ڪم ڪري ٿو، ان سان مسلسل ڪنيڪشن کي برقرار رکڻ، پر غلطي جي صورت ۾ اهو خودڪار طور تي بيڪ اپ وارن ڏانهن سوئچ ڪري سگھي ٿو. جيڪڏهن توهان بيڪ اپ نوڊس جو هڪ صف سيٽ ڪيو، توهان فنڪشن کي سڏي سگهو ٿا سيٽ بيسٽ نوڊ موجوده اونچائي ۽ جواب جي رفتار جي وڌ ۾ وڌ قدر جي بنياد تي بنيادي طور تي بهترين نوڊ جو تعين ڪرڻ لاءِ. ھاڻي ھن ۾ شامل ڪريو ھڪڙو اندروني سوال ڪيش ۽ محسوس ڪريو ٻئي استعمال ڪندڙن ۽ نوڊ مالڪن لاءِ خيال رکو.

جديد ترين ميڪانيزم مان هڪ فنڪشن آهي txMonitor. اهو ظاهر ٿيو حقيقي وقت ۾ ايندڙ ٽرانزيڪشن جو جواب ڏيڻ جي ضرورت جي ڪري. هي فنڪشن مڪمل طور تي بلاڪچين ۾ پروسيسنگ ٽرانزيڪشن سان لاڳاپيل سڀني نونسن کي حل ڪري ٿو. وڌيڪ درد نه، صرف پنهنجي ڪال بڪ فنڪشن کي مطلوب اختيارن سان سيٽ ڪريو ۽ توهان جي عمل کي شروع ڪرڻ لاء نئين ٽرانزيڪشن جو انتظار ڪريو. مثال طور، منهنجو ٻيو منصوبو ويڪرو مڪمل طور تي هن فنڪشن جي چوڌاري ٺهيل، توهان آساني سان پڙهي سگهو ٿا ته اهو ڪيئن ڪم ڪري ٿو سڌو سنئون پروجيڪٽ ڪوڊ ۾.

مون کي اوپن سورس پيار آهي، اها انسانيت جي عظيم ڪاميابين مان هڪ آهي. جيئن ته مان اڪيلو ڊولپر آهيان ۽ هڪ اهڙي حالت تي پهچي چڪو آهيان جتي منهنجي سڀني ضرورتن کي حل ڪيو ويو آهي، آئون توهان کي استعمال ڪرڻ ۽ مدد ڪرڻ جي دعوت ڏيان ٿو WavesKit.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو