مع استمرار ازدهار نظام blockchain البيئي، فإن الرموز غير القابلة للاستبدال (NFTs) والمقتنيات الرقمية تكتسب زخمًا كبيرًا. لقد جذبت الشعبية الهائلة للأصول الرقمية المتوافقة مع ERC721، مثل Cryptokitties و Bored APE، اهتمامًا كبيرًا من المستثمرين. مع زيادة ظهور هذه المقتنيات الرقمية، فإنه مجرد مسألة وقت قبل أن تحدث ثورة في أشكال الفن التقليدية.
للاستفادة من ظاهرة NFT، من الضروري التعمق أكثر في هذه التكنولوجيا. من المستثمرين المخضرمين مثل غاري فينيرتشوك إلى الفنانين المشهورين مثل سنوب دوغ، يجذب قطار NFT مجموعة متنوعة من المشاركين.
إذا كنت تشعر بالإرهاق بسبب وفرة المعلومات المتاحة عبر الإنترنت حول إنشاء عقود NFT، فلا تقلق. ستساعدك هذه الدليل الشامل في عملية إنشاء أول عقد ERC-721 (NFT) الخاص بك باستخدام Solidity و Open Zeppelin. قبل أن نتعمق في الجوانب التقنية، دعنا نراجع بعض المفاهيم الأساسية حول NFTs و معيار ERC-721.
فك رموز NFT
قبل أن نبدأ رحلتنا في كتابة العقود باستخدام Open Zeppelin، من الضروري فهم أساسيات NFTs وآليات عملها. في جوهرها، تعتبر NFTs رموزًا فريدة وغير قابلة للتبادل تمثل أصولًا رقمية أو مادية متميزة.
يمكن ربط هذه الرموز بمجموعة واسعة من العناصر، بما في ذلك الأعمال الفنية الرقمية، والفيديوهات، أو حتى العقارات. من خلال الاستفادة من تقنية blockchain للتحقق من الملكية، تعمل NFTs كوسيلة قوية للتصدي للأنشطة الاحتيالية والانتحال.
على غرار العملات الرقمية، يتم تداول NFTs عادةً عبر الإنترنت، مع الحفاظ على تفردها من خلال الندرة الرقمية. غالبًا ما يؤدي العرض المحدود لأصل معين إلى زيادة الطلب وبالتالي قيمته.
بينما تشترك NFTs في تشابهات تكنولوجية مع مجال العملات الرقمية، فإن طبيعتها غير القابلة للتبادل تميزها. تمتلك كل NFT توقيعًا رقميًا فريدًا، مما يميزها عن الرموز الأخرى في السوق.
تتيح هذه التقنية للأفراد تحقيق إيرادات من أي أصل رقمي أو مادي يمكن بيعه عبر الإنترنت. من خلال تحويل العناصر الفريدة أو الأعمال الفنية الرقمية إلى رموز، توفر NFTs طريقة جديدة للمبدعين والفنانين الرقميين لتوليد الإيرادات.
الدخول في مستقبل لامركزي
يمتد إمكان غير القابلة للاستبدال إلى ما هو أبعد من حالة استخدام واحدة. من خلال القضاء على الوسطاء وتعزيز العوائد من خلال المبيعات الثانوية، تمكّن NFTs الفنانين من تسويق وبيع المجموعات الرقمية بشكل أكثر فعالية. ومع ذلك، فإن تطبيقاتها في المجال اللامركزي أوسع بكثير.
تعتبر NFTs التكنولوجيا الأساسية التي تدعم الأصول في الميتافيرس، حيث تعمل كعناوين محافظ وأسماء مستخدمين. مثال بارز هو The Sandbox، مشروع ميتافيرس طموح يستخدم NFTs لتمثيل العقارات الافتراضية والأثاث والمزيد. يمكن للاعبين امتلاك قطع أرض افتراضية كـ NFTs، واستخدامها لإنشاء مواقع وألعاب مخصصة، وحتى تحقيق دخل من إبداعاتهم.
الأثر الأخير لـ NFT على ملكية وتبادل الأصول الرقمية يمهد الطريق للمجتمعات عبر الإنترنت، والعناصر القابلة للتداول في الألعاب، واقتصاد الميتافيرس. مع استمرار تطور هذه التكنولوجيا، من المؤكد أنها ستفتح الطريق لمستقبل أكثر لامركزية.
جاذبية ERC-721
ERC، والتي تعني طلب التعليق في إيثيريوم، هي مجموعة من المعايير ضمن نظام إيثيريوم البيئي. معيار ERC-721، المعروف بالرقم 721، يمكّن العقود الذكية من تتبع ونقل الرموز غير القابلة للاستبدال (NFTs).
بينما يُستخدم ERC-721 عادةً لـ NFT، من المهم ملاحظة أنه ليس المعيار الوحيد المتاح. هذا ERC المعين هو ببساطة مجموعة من الإرشادات للتعامل مع الرموز غير القابلة للتبادل.
على عكس ERC-20، يتطلب ERC-721 من العقود تضمين معلومات أساسية مثل الاسم، الرمز، معرف فريد، وعادةً URI (معرف المورد الموحد). ما يميز ERC-721 هو معرفه الفريد، مما يجعل كل رمز مستحيل النسخ. نتيجة لذلك، يمكن أن تتفاوت قيم الرموز من نفس العقد بناءً على عوامل مثل الندرة أو العمر.
لقد أدي إدخال معيار ERC-721 إلى تبسيط كبير في عملية الاحتفاظ وتبادل الرموز غير القابلة للاستبدال ضمن العقود الذكية.
الآن بعد أن غطينا أساسيات NFT ومعيار ERC-721، دعونا نستكشف دور Open Zeppelin في تطوير العقود الذكية.
Open Zeppelin: رائد الابتكار في مجال البلوكشين
Open Zeppelin هو أداة قوية تثبت قيمتها في تطوير التطبيقات اللامركزية. بينما تكون هذه التطبيقات قوية بطبيعتها، إلا أنها ليست خالية من الثغرات. يعالج Open Zeppelin هذه الثغرات الأمنية المحتملة، مما يجعله إطارًا أساسيًا في مجال blockchain.
كنظام مفتوح المصدر لبناء تطبيقات آمنة وموزعة، يوفر Open Zeppelin الأدوات اللازمة لتطوير وأتمتة تطبيقات Web3. يُقدر أن حوالي 30% من حصة سوق تكنولوجيا البلوكشين في القطاع المالي تستخدم خدمات Open Zeppelin.
يمكن للمنظمات من جميع الأحجام الاستفادة من خدمات تدقيق Open Zeppelin لتتوافق مع إجراءات التشغيل القياسية في الصناعة. تشمل العملاء البارزين مؤسسة Ethereum وتبادلات العملات الرقمية الكبرى. تهدف المنصة إلى "حماية الاقتصاد المفتوح" من خلال تقديم حلول الأمان والموثوقية وإدارة المخاطر لتطبيقات Ethereum.
من خلال تنفيذ تدابير الأمان وإجراء تقييمات شاملة، تضمن Open Zeppelin سلامة تطبيقاتك اللامركزية. بعد تحديد الثغرات المحتملة في الكود، يقدمون تقريرًا شاملاً يتضمن أفضل الممارسات والتوصيات لمعالجة أي نقاط ضعف في النظام.
بدء عقد ERC-721 الخاص بك
إنشاء عقد ذكي على Open Zeppelin هو عملية بسيطة نسبيًا. دعنا نرشدك خلال الخطوات. بالنسبة لأولئك الذين يفضلون تخطي البرنامج التعليمي والوصول إلى المشروع الكامل، يمكنك العثور عليه في مستودع GitHub الخاص بنا.
بينما توجد العديد من بيئات التطوير المتكاملة (IDEs) المتاحة، سنستخدم Remix لهذا الدليل. سيتم استخدام هذه البيئة لتصميم وتجميع ونشر العقد الذكي. الآن، دعنا نبدأ عملية صياغة عقدنا الذكي.
ابدأ بإنشاء ملف جديد باسم "customNft.sol". سيحتوي هذا الملف على عقد NFT الخاص بنا.
تحديد إصدار مترجم Solidity لعقدنا باستخدام عبارة pragma:
صلابة
صلابة براغما ^ 0.8.0 ؛
استيراد المكتبات اللازمة من Open Zeppelin من مصدرها الرسمي. سنستخدم مكتبات Ownable و ERC721:
صلابة
استيراد "";
استيراد "";
قم بتسمية العقد الذكي الخاص بك ودمج مكتبات Open Zeppelin المستوردة:
سوليديتي
عقد CustomNft مملوك ، ERC721("CustomNft" ، "CNFT" ) {}
قم بتهيئة tokenId إلى 0:
سوليديتي
uint tokenId;
أنشئ خريطة باستخدام العنوان كمفتاح و tokenMetaData كقيمة:
سوليديتي
mapping(address => tokenMetaData[]) السجل العام للملكية;
صلابة
هيكل بيانات التعريف الرمزي {
uint tokenId;
uint timestamp;
سلسلة tokenURI;
}
تنفيذ دالة mintToken مع القيود التالية:
فقط مالك العقد يمكنه استدعاء هذه الوظيفة
لا يمكن للمالك سك الرموز لأنفسهم
سوليدتي
وظيفة mintToken(address recipient) عامة فقطالمالك {
require(owner() != recipient, "لا يمكن أن يكون المستلم هو مالك العقد");
_safeMint(recipient ، tokenId) ؛
ownershipRecord[recipient].push(tokenMetaData(tokenId, block.timestamp, ""));
tokenId = tokenId + 1 ؛
}
يجب أن يشبه عقدك الكامل الآن ما يلي:
صلابة
SPDX-License-Identifier: غير مرخص
صلابة براغما ^ 0.8.0 ؛
استيراد "";
استيراد "";
العقد CustomNft مملوك ، ERC721("CustomNft" ، "CNFT") {
uint tokenId;
mapping(address => tokenMetaData[]) سجل الملكية العامة;
هيكل بيانات التعريف الرمزي {
uint tokenId;
uint timestamp;
الرمز المميز للسلسلةURI ؛
}
وظيفة mintToken(address recipient) عامة فقطالمالك {
require(owner() != recipient, "لا يمكن أن يكون المستلم مالك العقد");
_safeMint(recipient ، tokenId) ؛
ownershipRecord[recipient].push(tokenMetaData(tokenId, block.timestamp, ""));
tokenId = tokenId + 1 ؛
}
}
تهانينا! لقد أنشأت الآن عقد NFT الأول الخاص بك. بعد نشر هذا العقد وتنفيذ وظيفة mintToken، ستكون قد قمت بنجاح بتوكنة NFT الأول الخاص بك.
الأفكار الختامية
لقد قدمت هذه المقالة لمحة عامة عن NFTs، وازدياد شعبيتها، وعملية إنشاء عقد ذكي أساسي من نوع ERC-721 باستخدام Open Zeppelin. نأمل أن تكون هذه الدليل قد ساعدك في تطوير عقدك الذكي الأول.
من خلال إكمال هذا البرنامج التعليمي، لقد اتخذت خطوتك الأولى في عالم تطوير عقود NFT. بينما تواصل استكشاف وتوسيع معرفتك في هذا المجال، تذكر أن الممارسة والتعلم المستمر هما المفتاح لتصبح مطور عقود ذكي احترافي.
نأمل أن تكون هذه الدليل بمثابة مصدر قيم في رحلتك نحو إتقان تطوير البلوكتشين. كما هو الحال دائمًا، برمجة سعيدة!
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
إنشاء عقد NFT الأول الخاص بك باستخدام Open Zeppelin: دليل شامل
مع استمرار ازدهار نظام blockchain البيئي، فإن الرموز غير القابلة للاستبدال (NFTs) والمقتنيات الرقمية تكتسب زخمًا كبيرًا. لقد جذبت الشعبية الهائلة للأصول الرقمية المتوافقة مع ERC721، مثل Cryptokitties و Bored APE، اهتمامًا كبيرًا من المستثمرين. مع زيادة ظهور هذه المقتنيات الرقمية، فإنه مجرد مسألة وقت قبل أن تحدث ثورة في أشكال الفن التقليدية.
للاستفادة من ظاهرة NFT، من الضروري التعمق أكثر في هذه التكنولوجيا. من المستثمرين المخضرمين مثل غاري فينيرتشوك إلى الفنانين المشهورين مثل سنوب دوغ، يجذب قطار NFT مجموعة متنوعة من المشاركين.
إذا كنت تشعر بالإرهاق بسبب وفرة المعلومات المتاحة عبر الإنترنت حول إنشاء عقود NFT، فلا تقلق. ستساعدك هذه الدليل الشامل في عملية إنشاء أول عقد ERC-721 (NFT) الخاص بك باستخدام Solidity و Open Zeppelin. قبل أن نتعمق في الجوانب التقنية، دعنا نراجع بعض المفاهيم الأساسية حول NFTs و معيار ERC-721.
فك رموز NFT
قبل أن نبدأ رحلتنا في كتابة العقود باستخدام Open Zeppelin، من الضروري فهم أساسيات NFTs وآليات عملها. في جوهرها، تعتبر NFTs رموزًا فريدة وغير قابلة للتبادل تمثل أصولًا رقمية أو مادية متميزة.
يمكن ربط هذه الرموز بمجموعة واسعة من العناصر، بما في ذلك الأعمال الفنية الرقمية، والفيديوهات، أو حتى العقارات. من خلال الاستفادة من تقنية blockchain للتحقق من الملكية، تعمل NFTs كوسيلة قوية للتصدي للأنشطة الاحتيالية والانتحال.
على غرار العملات الرقمية، يتم تداول NFTs عادةً عبر الإنترنت، مع الحفاظ على تفردها من خلال الندرة الرقمية. غالبًا ما يؤدي العرض المحدود لأصل معين إلى زيادة الطلب وبالتالي قيمته.
بينما تشترك NFTs في تشابهات تكنولوجية مع مجال العملات الرقمية، فإن طبيعتها غير القابلة للتبادل تميزها. تمتلك كل NFT توقيعًا رقميًا فريدًا، مما يميزها عن الرموز الأخرى في السوق.
تتيح هذه التقنية للأفراد تحقيق إيرادات من أي أصل رقمي أو مادي يمكن بيعه عبر الإنترنت. من خلال تحويل العناصر الفريدة أو الأعمال الفنية الرقمية إلى رموز، توفر NFTs طريقة جديدة للمبدعين والفنانين الرقميين لتوليد الإيرادات.
الدخول في مستقبل لامركزي
يمتد إمكان غير القابلة للاستبدال إلى ما هو أبعد من حالة استخدام واحدة. من خلال القضاء على الوسطاء وتعزيز العوائد من خلال المبيعات الثانوية، تمكّن NFTs الفنانين من تسويق وبيع المجموعات الرقمية بشكل أكثر فعالية. ومع ذلك، فإن تطبيقاتها في المجال اللامركزي أوسع بكثير.
تعتبر NFTs التكنولوجيا الأساسية التي تدعم الأصول في الميتافيرس، حيث تعمل كعناوين محافظ وأسماء مستخدمين. مثال بارز هو The Sandbox، مشروع ميتافيرس طموح يستخدم NFTs لتمثيل العقارات الافتراضية والأثاث والمزيد. يمكن للاعبين امتلاك قطع أرض افتراضية كـ NFTs، واستخدامها لإنشاء مواقع وألعاب مخصصة، وحتى تحقيق دخل من إبداعاتهم.
الأثر الأخير لـ NFT على ملكية وتبادل الأصول الرقمية يمهد الطريق للمجتمعات عبر الإنترنت، والعناصر القابلة للتداول في الألعاب، واقتصاد الميتافيرس. مع استمرار تطور هذه التكنولوجيا، من المؤكد أنها ستفتح الطريق لمستقبل أكثر لامركزية.
جاذبية ERC-721
ERC، والتي تعني طلب التعليق في إيثيريوم، هي مجموعة من المعايير ضمن نظام إيثيريوم البيئي. معيار ERC-721، المعروف بالرقم 721، يمكّن العقود الذكية من تتبع ونقل الرموز غير القابلة للاستبدال (NFTs).
بينما يُستخدم ERC-721 عادةً لـ NFT، من المهم ملاحظة أنه ليس المعيار الوحيد المتاح. هذا ERC المعين هو ببساطة مجموعة من الإرشادات للتعامل مع الرموز غير القابلة للتبادل.
على عكس ERC-20، يتطلب ERC-721 من العقود تضمين معلومات أساسية مثل الاسم، الرمز، معرف فريد، وعادةً URI (معرف المورد الموحد). ما يميز ERC-721 هو معرفه الفريد، مما يجعل كل رمز مستحيل النسخ. نتيجة لذلك، يمكن أن تتفاوت قيم الرموز من نفس العقد بناءً على عوامل مثل الندرة أو العمر.
لقد أدي إدخال معيار ERC-721 إلى تبسيط كبير في عملية الاحتفاظ وتبادل الرموز غير القابلة للاستبدال ضمن العقود الذكية.
الآن بعد أن غطينا أساسيات NFT ومعيار ERC-721، دعونا نستكشف دور Open Zeppelin في تطوير العقود الذكية.
Open Zeppelin: رائد الابتكار في مجال البلوكشين
Open Zeppelin هو أداة قوية تثبت قيمتها في تطوير التطبيقات اللامركزية. بينما تكون هذه التطبيقات قوية بطبيعتها، إلا أنها ليست خالية من الثغرات. يعالج Open Zeppelin هذه الثغرات الأمنية المحتملة، مما يجعله إطارًا أساسيًا في مجال blockchain.
كنظام مفتوح المصدر لبناء تطبيقات آمنة وموزعة، يوفر Open Zeppelin الأدوات اللازمة لتطوير وأتمتة تطبيقات Web3. يُقدر أن حوالي 30% من حصة سوق تكنولوجيا البلوكشين في القطاع المالي تستخدم خدمات Open Zeppelin.
يمكن للمنظمات من جميع الأحجام الاستفادة من خدمات تدقيق Open Zeppelin لتتوافق مع إجراءات التشغيل القياسية في الصناعة. تشمل العملاء البارزين مؤسسة Ethereum وتبادلات العملات الرقمية الكبرى. تهدف المنصة إلى "حماية الاقتصاد المفتوح" من خلال تقديم حلول الأمان والموثوقية وإدارة المخاطر لتطبيقات Ethereum.
من خلال تنفيذ تدابير الأمان وإجراء تقييمات شاملة، تضمن Open Zeppelin سلامة تطبيقاتك اللامركزية. بعد تحديد الثغرات المحتملة في الكود، يقدمون تقريرًا شاملاً يتضمن أفضل الممارسات والتوصيات لمعالجة أي نقاط ضعف في النظام.
بدء عقد ERC-721 الخاص بك
إنشاء عقد ذكي على Open Zeppelin هو عملية بسيطة نسبيًا. دعنا نرشدك خلال الخطوات. بالنسبة لأولئك الذين يفضلون تخطي البرنامج التعليمي والوصول إلى المشروع الكامل، يمكنك العثور عليه في مستودع GitHub الخاص بنا.
بينما توجد العديد من بيئات التطوير المتكاملة (IDEs) المتاحة، سنستخدم Remix لهذا الدليل. سيتم استخدام هذه البيئة لتصميم وتجميع ونشر العقد الذكي. الآن، دعنا نبدأ عملية صياغة عقدنا الذكي.
ابدأ بإنشاء ملف جديد باسم "customNft.sol". سيحتوي هذا الملف على عقد NFT الخاص بنا.
تحديد إصدار مترجم Solidity لعقدنا باستخدام عبارة pragma:
صلابة صلابة براغما ^ 0.8.0 ؛
استيراد المكتبات اللازمة من Open Zeppelin من مصدرها الرسمي. سنستخدم مكتبات Ownable و ERC721:
صلابة استيراد ""; استيراد "";
قم بتسمية العقد الذكي الخاص بك ودمج مكتبات Open Zeppelin المستوردة:
سوليديتي عقد CustomNft مملوك ، ERC721("CustomNft" ، "CNFT" ) {}
قم بتهيئة tokenId إلى 0:
سوليديتي uint tokenId;
أنشئ خريطة باستخدام العنوان كمفتاح و tokenMetaData كقيمة:
سوليديتي mapping(address => tokenMetaData[]) السجل العام للملكية;
قم بتعريف هيكل tokenMetaData لتخزين معرف كل توكن، ووقت الطابع، وURI:
صلابة هيكل بيانات التعريف الرمزي { uint tokenId; uint timestamp; سلسلة tokenURI; }
تنفيذ دالة mintToken مع القيود التالية:
سوليدتي وظيفة mintToken(address recipient) عامة فقطالمالك { require(owner() != recipient, "لا يمكن أن يكون المستلم هو مالك العقد"); _safeMint(recipient ، tokenId) ؛ ownershipRecord[recipient].push(tokenMetaData(tokenId, block.timestamp, "")); tokenId = tokenId + 1 ؛ }
يجب أن يشبه عقدك الكامل الآن ما يلي:
صلابة SPDX-License-Identifier: غير مرخص صلابة براغما ^ 0.8.0 ؛
استيراد ""; استيراد "";
العقد CustomNft مملوك ، ERC721("CustomNft" ، "CNFT") { uint tokenId;
}
تهانينا! لقد أنشأت الآن عقد NFT الأول الخاص بك. بعد نشر هذا العقد وتنفيذ وظيفة mintToken، ستكون قد قمت بنجاح بتوكنة NFT الأول الخاص بك.
الأفكار الختامية
لقد قدمت هذه المقالة لمحة عامة عن NFTs، وازدياد شعبيتها، وعملية إنشاء عقد ذكي أساسي من نوع ERC-721 باستخدام Open Zeppelin. نأمل أن تكون هذه الدليل قد ساعدك في تطوير عقدك الذكي الأول.
من خلال إكمال هذا البرنامج التعليمي، لقد اتخذت خطوتك الأولى في عالم تطوير عقود NFT. بينما تواصل استكشاف وتوسيع معرفتك في هذا المجال، تذكر أن الممارسة والتعلم المستمر هما المفتاح لتصبح مطور عقود ذكي احترافي.
نأمل أن تكون هذه الدليل بمثابة مصدر قيم في رحلتك نحو إتقان تطوير البلوكتشين. كما هو الحال دائمًا، برمجة سعيدة!