Aissam Bachir نشر 28 ديسمبر 2020 أرسل تقرير نشر 28 ديسمبر 2020 السلام عليكم يا معشر المبرمجين اود ان استفسر كيف مكنني برمجة تطبيق بتقنية البلوكتشين باستعمال لغة جافاسكريبت اتمنى م كل من لديه معلومة ان يساعدني او يدلني على مصادر تشرح ذلك اقتباس
1 Sam Ahw نشر 29 ديسمبر 2020 أرسل تقرير نشر 29 ديسمبر 2020 في معظم الأوقات يتم استخدام Python لتطوير blockchain. ومع ذلك، مع انتشار لغة جافا سكريبت أصبح من الممكن تنفيذ ذلك عن طريق Node Js، ولكن يجب عليك أولاً أن تعود لبعض المراجع لفهم آلية عمل Blockchain، وبالتالي يمكنك تطبيقها بأي تقنية أو لغة برمجة. الفكرة الأساسية هي أنه يتم تسجيل أي بيانات معاملات صالحة في شبكة blockchain ، والتي تحكمها قواعد نظير إلى نظير أو Peer to Peer التي يحددها المشاركون. على سبيل المثال ، يمكن أن تحتوي هذه البيانات على "قيمة" الكتلة كما هو الحال في العملات الرقمية ، أو سجل المعاملات (مثل عندما تتبادل الأطراف السلع والخدمات) ، أو امتيازات الاستحقاق مثل عندما تسجل السلسلة معلومات الملكية. إلى جانب بيانات المعاملة ، قد تحتوي كل كتلة على تجزئة التشفير الخاصة بها (معرف فريد أو بصمة رقمية) ، وقيمة nonce الخاصة بها (رقم عشوائي يستخدم مرة واحدة في حسابات التشفير) ، وتجزئة الكتلة السابقة ، وطابع زمني للأحدث المعاملات المصدق عليها. إن أي مشارك في شبكة blockchain يجب أن يجد صعوبة في تحديد هذا الرقم ولكن يمكن التحقق منه بسهولة. وبالتالي ، فإنه لا يشجع البريد العشوائي والعبث بهيكل blockchain. في حالة معظم العملات المشفرة ، تتطلب إضافة كتلة جديدة إلى blockchain حل معادلة رياضية معقدة ، والتي تزداد صعوبة بمرور الوقت مع نمو blockchain. وبالتالي ، فإن أي شخص يثبت أنه قام بعمل من خلال حل هذه المشكلة يتم تعويضه بعملة رقمية ، في عملية يشار إليها باسم "التعدين". المبدأ هو كالتالي: لإنشاء Block يمكنك استخدام مكتبة في جافاسكريبت تدعى: crypto-js const SHA256 = require('crypto-js/sha256'); class CryptoBlock{ constructor(index, timestamp, data, precedingHash=" "){ this.index = index; this.timestamp = timestamp; this.data = data; this.precedingHash = precedingHash; this.hash = this.computeHash(); } computeHash(){ return SHA256(this.index + this.precedingHash + this.timestamp + JSON.stringify(this.data)).toString(); } } حيث يدل precedingHash على تجزئة الكتلة السابقة لكل كتلة حالية وهكذا، و data: مثل تفاصيل المرسل وتفاصيل المستلم والكمية المتبادلة. أما دالة computeHash: فتقوم بحساب hash للبلوك اعتماداً على المعلومات المزودة ضمنه. وبعد ذلك يمكنك إنشاء صف آخر لل blockchain كالتالي: class CryptoBlockchain{ constructor(){ this.blockchain = [this.startGenesisBlock()]; } startGenesisBlock(){ return new CryptoBlock(0, "01/01/2020", "Initial Block in the Chain", "0"); } obtainLatestBlock(){ return this.blockchain[this.blockchain.length - 1]; } addNewBlock(newBlock){ newBlock.precedingHash = this.obtainLatestBlock().hash; newBlock.hash = newBlock.computeHash(); this.blockchain.push(newBlock); } } وإضافة البيانات كالتالي: let smashingCoin = new CryptoBlockchain(); smashingCoin.addNewBlock(new CryptoBlock(1, "01/06/2020", {sender: "Iris Ljesnjanin", recipient: "Cosima Mielke", quantity: 50})); ملاحظة: الموضوع أعقد من ذلك بكثير ويجب عليك البحث بشكل واسع في التشفير والتقنيات الأخرى المستخدمة 1 اقتباس
السؤال
Aissam Bachir
السلام عليكم يا معشر المبرمجين
اود ان استفسر كيف مكنني برمجة تطبيق بتقنية البلوكتشين باستعمال لغة جافاسكريبت اتمنى م كل من لديه معلومة ان يساعدني او يدلني على مصادر تشرح ذلك
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.