WavesKit - ವೇವ್ಸ್ ಬ್ಲಾಕ್‌ಚೈನ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು PHP ಫ್ರೇಮ್‌ವರ್ಕ್

ನನಗೆ ಇಷ್ಟವಾಯಿತು ಪಿಎಚ್ಪಿ ಅಭಿವೃದ್ಧಿಯ ವೇಗ ಮತ್ತು ಅತ್ಯುತ್ತಮ ಪೋರ್ಟಬಿಲಿಟಿಗಾಗಿ. ನಿಮ್ಮ ಜೇಬಿನಲ್ಲಿ ನೀವು ಯಾವಾಗಲೂ ಉಪಕರಣವನ್ನು ಹೊಂದಿದ್ದರೆ, ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಸಿದ್ಧವಾಗಿರುವಾಗ ಅದು ತುಂಬಾ ಒಳ್ಳೆಯದು.

ದೇಶೀಯ ಬ್ಲಾಕ್‌ಚೈನ್‌ನೊಂದಿಗೆ ಪರಿಚಯವಾದಾಗ ಅದು ತುಂಬಾ ಅವಮಾನಕರವಾಗಿತ್ತು ಅಲೆಗಳ ವೇದಿಕೆ ಅವರು ತಮ್ಮ ಆರ್ಸೆನಲ್‌ನಲ್ಲಿ ಸಿದ್ಧವಾದ PHP SDK ಅನ್ನು ಹೊಂದಿರಲಿಲ್ಲ. ಸರಿ, ನಾನು ಅದನ್ನು ಬರೆಯಬೇಕಾಗಿತ್ತು.

ಮೊದಲಿಗೆ ನಾನು ಬಳಸಬೇಕಾಗಿತ್ತು ನೋಡ್ಗಳು ವಹಿವಾಟುಗಳಿಗೆ ಸಹಿ ಮಾಡಲು. ಆದ್ದರಿಂದ, ಮೂರು ವಿಳಾಸಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಇದು ಮೂರು ನೋಡ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ಅಗತ್ಯವಾಗಿತ್ತು ... ಇದು ಕೆಲವು ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಿದರೂ, ಇದು ಕರುಣಾಜನಕ ದೃಶ್ಯವಾಗಿತ್ತು. ನೋಡ್‌ಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗುವುದು ಅಂತ್ಯ ಎಂದು ತಿಳುವಳಿಕೆ ಬರುವವರೆಗೆ. ಮೊದಲನೆಯದಾಗಿ, ಸೀಮಿತ ಕ್ರಿಯಾತ್ಮಕತೆಯಿಂದಾಗಿ ಎಪಿಐ, ಎರಡನೆಯದಾಗಿ, ವೇಗದ ಕಾರಣದಿಂದಾಗಿ (ಆ ದಿನಗಳಲ್ಲಿ ನೋಡ್ಗಳು ತುಂಬಾ ನಿಧಾನವಾಗಿದ್ದವು).

ನಾನು ಎರಡು ಸಮಾನಾಂತರ ಕೆಲಸಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿದೆ. ಒಂದು ಬ್ಲಾಕ್‌ಚೈನ್ ಎಕ್ಸ್‌ಪ್ಲೋರರ್ ಅನ್ನು ತಯಾರಿಸುವುದು ಅದು ವೇಗವಾಗಿರುತ್ತದೆ ಮತ್ತು ನೋಡ್ API ಯಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ವತಂತ್ರವಾಗಿರುತ್ತದೆ. ಎರಡನೆಯದು ವೇವ್ಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನೊಂದಿಗೆ ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು. ಯೋಜನೆಗಳು ಈ ರೀತಿ ಕಾಣಿಸಿಕೊಂಡವು w8io и ವೇವ್ಸ್‌ಕಿಟ್.

ವೇವ್ಸ್ ಬ್ಲಾಕ್‌ಚೈನ್‌ನ ತೆರೆಮರೆಯ ಮೊದಲ ಹೆಜ್ಜೆ w8io ಬ್ರೌಸರ್. ಇದು ಸುಲಭವಲ್ಲ, ಆದರೆ ನಾವು ಇನ್ನೂ ಎಲ್ಲಾ ಬ್ಯಾಲೆನ್ಸ್‌ಗಳ ಸ್ವತಂತ್ರ ಲೆಕ್ಕಾಚಾರವನ್ನು ಬರೆಯುವಲ್ಲಿ ಯಶಸ್ವಿಯಾಗಿದ್ದೇವೆ ಮತ್ತು ಮೂಲ ನೋಡ್‌ಗಳಲ್ಲಿನ ಲೆಕ್ಕಾಚಾರಗಳಲ್ಲಿ ದೋಷವನ್ನು ಸಹ ಕಂಡುಕೊಂಡಿದ್ದೇವೆ (ಬಗ್-ಬೌಂಟಿ ಪ್ರೋಗ್ರಾಂ ಮೂಲಕ, ಇದು ಅವರಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಅವರು ಕಂಡುಬರುವ ದೋಷಗಳಿಗೆ ಪಾವತಿಸುತ್ತಾರೆ). ಈ ವಿಷಯದಲ್ಲಿ ನೀವು w8io ಬ್ರೌಸರ್‌ನ ಕ್ರಿಯಾತ್ಮಕತೆಯ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಬಹುದು: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

w8io ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವಾಗ, ನನಗೆ ಈಗಾಗಲೇ ಅನುಮಾನಗಳು ಇದ್ದವು, ಆದರೆ ಕೆಲಸವು ಅದರ ತಾರ್ಕಿಕ ಅಂತ್ಯಕ್ಕೆ ಬಂದಾಗ ಮತ್ತು ನಾನು SDK ಅನ್ನು ರಚಿಸಲು ಪ್ರಾರಂಭಿಸಿದಾಗ, ನನ್ನ ಅನುಮಾನಗಳನ್ನು ದೃಢಪಡಿಸಲಾಯಿತು. ಪ್ರಮುಖವಾದವುಗಳು, ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸೇರಿದಂತೆ ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ನಾನು ಎಲ್ಲಿಯೂ ಹುಡುಕಲಾಗಲಿಲ್ಲ. ನಂತರ ನಾನು ಅಡಿಪಾಯಕ್ಕಾಗಿ ನನ್ನ ಸ್ವಂತ ಇಟ್ಟಿಗೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸಿದೆ. ಅವರು ಹುಟ್ಟಿದ್ದು ಹೀಗೆ: ಎಬಿಕೋಡ್ ಬೇಸ್ 58 ಗೆ ಎನ್ಕೋಡ್ ಮಾಡಲು (ವಾಸ್ತವವಾಗಿ ಯಾವುದೇ ವರ್ಣಮಾಲೆಯನ್ನು ಯಾವುದಾದರೂ ಎನ್ಕೋಡ್ ಮಾಡಲು), ಕರ್ವ್ಎಕ್ಸ್ಎನ್ಎಮ್ಎಕ್ಸ್ ಹೊಂದಾಣಿಕೆಯ ಸಹಿಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಪರಿಶೀಲಿಸಲು (ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಸ್ಟೀರಾಯ್ಡ್ಗಳ ಮೇಲೆ), ಬ್ಲೇಕ್2ಬಿ ಹ್ಯಾಶ್‌ಗಳಲ್ಲಿ ಒಂದನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು (ಇದು PHP 7.2 ರಿಂದ ಮಾತ್ರ ಲಭ್ಯವಿತ್ತು), ಇತ್ಯಾದಿ.

ಇಲ್ಲಿ ನಾನು ಧನ್ಯವಾದ ಹೇಳಬೇಕು ಇನಾಲಾ ಕಾರ್ಡನೋವಾ ಕೆಲವು ಮೌಲ್ಯಯುತ ಸಲಹೆಗಾಗಿ ನನ್ನನ್ನು ದಿಕ್ಕಿಗೆ ತೋರಿಸಿದರು ಸಂಯೋಜಕ ಬದಲಿಗೆ ನನಗೆ ಪರಿಚಿತವಾಗಿರುವ, ಆದರೆ ಹಳೆಯದಾದ ಫೈಲ್‌ಗಳನ್ನು ಸೇರಿಸಿ.

ಒಂದೆರಡು ತಿಂಗಳ ನಂತರ ವೇವ್ಸ್ ಕಿಟ್ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು, ಹೊರಗೆ ಬಂದೆ ಬೀಟಾ ಆವೃತ್ತಿಗಳು ಮತ್ತು ಈಗ ವೇವ್ಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಎಲ್ಲಾ ಪ್ರಮಾಣಿತ ಕಾರ್ಯನಿರ್ವಹಣೆಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಸಿದ್ಧವಾಗಿದೆ. ಎಲ್ಲಾ ಲಭ್ಯವಿದೆ ಮುಖ್ಯ ನೆಟ್ವರ್ಕ್ ವಹಿವಾಟುಗಳನ್ನು ಸುಲಭವಾಗಿ ರಚಿಸಬಹುದು, ಸಹಿ ಮಾಡಬಹುದು ಮತ್ತು ಕೇವಲ ಒಂದು ಪ್ಯಾಕೇಜ್ ಬಳಸಿ ಕಳುಹಿಸಬಹುದು, 64 ಒಳಗೊಂಡಂತೆ PHP ಯ ಎಲ್ಲಾ 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" testnet ನಲ್ಲಿ ಚಲಿಸುವ WavesKit ವಸ್ತುವನ್ನು ರಚಿಸುತ್ತೇವೆ. ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಆಧರಿಸಿ ಕೀಗಳು ಮತ್ತು ಖಾತೆಯ ವಿಳಾಸವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಬೀಜ ಪದಗುಚ್ಛವನ್ನು ನಾವು ಸ್ಥಾಪಿಸುತ್ತೇವೆ. ಮುಂದೆ, ನಾವು ವರ್ಗಾವಣೆ ವಹಿವಾಟು 0.00000001 ವಿಳಾಸದಿಂದ ವೇವ್ಸ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬೀಜ ಪದಗುಚ್ಛವನ್ನು ಬಳಸಿಕೊಂಡು ಅಲಿಯಾಸ್ ವಿಳಾಸ "ಪರೀಕ್ಷೆ" ಗೆ ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತೇವೆ, ಅದನ್ನು ಖಾಸಗಿ ಕೀಲಿಯೊಂದಿಗೆ ಸಹಿ ಮಾಡಲು ವರ್ಗಾಯಿಸಿ ಮತ್ತು ಅದನ್ನು ನೆಟ್ವರ್ಕ್ಗೆ ಕಳುಹಿಸಿ. ಇದರ ನಂತರ, ವ್ಯವಹಾರವು ನೆಟ್ವರ್ಕ್ನಿಂದ ಯಶಸ್ವಿಯಾಗಿ ದೃಢೀಕರಿಸಲ್ಪಟ್ಟಿದೆ ಎಂದು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತೇವೆ.

ವಹಿವಾಟುಗಳೊಂದಿಗೆ ಕೆಲಸವು ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ tx ನಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಕಾರ್ಯಗಳು. ವಹಿವಾಟುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಉತ್ತಮ ತಿಳುವಳಿಕೆಗಾಗಿ, ನೀವು ಅಧ್ಯಯನ ಮಾಡಬಹುದು WavesKit ದಸ್ತಾವೇಜನ್ನು ಅಥವಾ ತಕ್ಷಣವೇ ವಿವರಣಾತ್ಮಕ ಉದಾಹರಣೆಗಳಿಗೆ ತಿರುಗಿ ನಿರಂತರ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳು.

WavesKit ಅನ್ನು ನೈಜ-ಪ್ರಪಂಚದ ಬಳಕೆಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿರುವುದರಿಂದ, ಇದು ಈಗಾಗಲೇ ಸುಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿದೆ. ಮೊದಲ ಕೊಲೆಗಾರ ಲಕ್ಷಣವಾಗಿದೆ ಕಾರ್ಯವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ಇದು ವಹಿವಾಟು ಕಳೆದುಹೋಗಿಲ್ಲ ಎಂದು ಅಗತ್ಯವಾದ ಮಟ್ಟದ ವಿಶ್ವಾಸದ ಸಾಧನೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ, ಆದರೆ, ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ದೃಢೀಕರಣಗಳ ಅಗತ್ಯವಿರುವ ಸಂಖ್ಯೆಯನ್ನು ದೃಢಪಡಿಸಲಾಯಿತು ಮತ್ತು ತಲುಪಿತು.

ಮತ್ತೊಂದು ಬುಲೆಟ್ ಪ್ರೂಫ್ ಕಾರ್ಯವಿಧಾನವೆಂದರೆ WavesKit ನೋಡ್‌ಗಳೊಂದಿಗೆ ಹೇಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ. ಹಸಿರುಮನೆ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ, ಫ್ರೇಮ್‌ವರ್ಕ್ ಮುಖ್ಯ ನೋಡ್‌ನೊಂದಿಗೆ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಅದರೊಂದಿಗೆ ನಿರಂತರ ಸಂಪರ್ಕವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ದೋಷಗಳ ಸಂದರ್ಭದಲ್ಲಿ ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬ್ಯಾಕಪ್ ಪದಗಳಿಗಿಂತ ಬದಲಾಯಿಸಬಹುದು. ನೀವು ಬ್ಯಾಕಪ್ ನೋಡ್‌ಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಹೊಂದಿಸಿದರೆ, ನೀವು ಕಾರ್ಯವನ್ನು ಕರೆಯಬಹುದು ಸೆಟ್ ಬೆಸ್ಟ್ನೋಡ್ ಪ್ರಸ್ತುತ ಎತ್ತರ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ವೇಗದ ಗರಿಷ್ಟ ಮೌಲ್ಯವನ್ನು ಆಧರಿಸಿ ಮುಖ್ಯವಾದ ಅತ್ಯುತ್ತಮ ನೋಡ್ ಅನ್ನು ನಿರ್ಧರಿಸಲು. ಈಗ ಇದಕ್ಕೆ ಆಂತರಿಕ ಪ್ರಶ್ನೆ ಸಂಗ್ರಹವನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಬಳಕೆದಾರರು ಮತ್ತು ನೋಡ್ ಮಾಲೀಕರಿಗೆ ಕಾಳಜಿಯನ್ನು ಅನುಭವಿಸಿ.

ಇತ್ತೀಚಿನ ಸುಧಾರಿತ ಕಾರ್ಯವಿಧಾನಗಳಲ್ಲಿ ಒಂದು ಕಾರ್ಯವಾಗಿದೆ txMonitor. ಒಳಬರುವ ವಹಿವಾಟುಗಳಿಗೆ ನೈಜ ಸಮಯದಲ್ಲಿ ಪ್ರತಿಕ್ರಿಯಿಸುವ ಅಗತ್ಯತೆಯಿಂದಾಗಿ ಇದು ಕಾಣಿಸಿಕೊಂಡಿದೆ. ಈ ಕಾರ್ಯವು ಬ್ಲಾಕ್‌ಚೈನ್‌ನಲ್ಲಿ ಪ್ರಕ್ರಿಯೆ ವಹಿವಾಟಿಗೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲಾ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪರಿಹರಿಸುತ್ತದೆ. ಹೆಚ್ಚು ನೋವಿಲ್ಲ, ಬಯಸಿದ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಕಾಲ್‌ಬ್ಯಾಕ್ ಕಾರ್ಯವನ್ನು ಹೊಂದಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ಹೊಸ ವಹಿವಾಟುಗಳಿಗಾಗಿ ಕಾಯಿರಿ. ಉದಾಹರಣೆಗೆ, ನನ್ನ ಇನ್ನೊಂದು ಯೋಜನೆ VECRO ಈ ಕಾರ್ಯವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಇದು ನೇರವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ಸುಲಭವಾಗಿ ಅಧ್ಯಯನ ಮಾಡಬಹುದು ಯೋಜನೆಯ ಕೋಡ್‌ನಲ್ಲಿ.

ನಾನು ಮುಕ್ತ ಮೂಲವನ್ನು ಪ್ರೀತಿಸುತ್ತೇನೆ, ಇದು ಮಾನವೀಯತೆಯ ಶ್ರೇಷ್ಠ ಸಾಧನೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ನಾನು ಒಬ್ಬನೇ ಡೆವಲಪರ್ ಆಗಿರುವುದರಿಂದ ಮತ್ತು ನನ್ನ ಎಲ್ಲಾ ಅಗತ್ಯಗಳನ್ನು ಪರಿಹರಿಸುವ ಸ್ಥಿತಿಯನ್ನು ತಲುಪಿದ್ದೇನೆ, ಬಳಸಲು ಮತ್ತು ಕೊಡುಗೆ ನೀಡಲು ನಾನು ನಿಮ್ಮನ್ನು ಆಹ್ವಾನಿಸುತ್ತೇನೆ ವೇವ್ಸ್‌ಕಿಟ್.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ