10 دقیقه جهت گیری اتریوم
هدف از این راهنما این است که شما را در اسرع وقت در Web3 غوطه ور کنید تا زمینه و درک اساسی لازم برای شروع یادگیری و شروع توسعه را داشته باشید..
چرا بلاکچین?
اگر تازه وارد فضا شده اید ، ممکن است مشخص نباشد که “اینترنت غیرمتمرکز” به توسعه دهنده چه پیشنهادی می دهد. یک زنجیره بلوک عمومی مانند Ethereum را به عنوان تعریف یک “دولت” روشن – و منبع حقیقت – در نظر بگیرید برای همه افرادی که در آن شرکت می کنند ، و هر کسی از طریق اینترنت متصل است ، سیستمی که از قدرت پروتکل منبع باز و افزونگی استفاده می کند. شبکه های نظیر به نظیر برای قابل اعتماد و ایمن ماندن. به جای اینکه هر توسعه دهنده برنامه ای را ملزم به ایجاد و حفظ کل برنامه برنامه خود در سرورهای خصوصی کند ، بسیاری از موارد را می توان در بلاک چین عمومی ذخیره و بازیابی کرد. یک عقب مانده مشترک ، قابل اعتماد و امن.
دلیل این امکان به دلیل ویژگیهای منحصر به فرد پایگاه داده بلاکچین است. این فقط برای نوشتن است: جایی که یک پایگاه داده معمولی می تواند سوابق را اضافه و حذف کند ، داده های blockchain برای همیشه وجود دارد و قابل حذف نیست. شبکه گره ها این پایگاه داده را به عنوان “دفتر توزیع شده” نگهداری می کنند و دارای پروتکل های سختگیرانه در مورد افرادی هستند که اجازه نوشتن در یک زمان خاص را دارند. یکی از جنبه های جالب این فناوری نحوه توزیع مجوزهای نوشتن در میان گره هایی است که ممکن است برای پیوستن به آنها مجوز خاصی لازم نباشد. اگر گره Ethereum عمومی خود را چرخانید ، می توانستید به کل شبکه دسترسی داشته باشید: به شرطی که “اثبات کار” مورد نیاز برای ایجاد امتیاز نوشتن یک گره قبل از هر گره دیگری را تکمیل کنید.
یک نمونه برجسته و نمونه از فناوری بلاکچین در عمل ، سهولت ارسال و دریافت ارز رمزپایه است. دفتر عمومی Ethereum به یک توسعه دهنده اجازه می دهد دروازه های پرداخت را بدون بانک ، حساب یا واسطه های دیگر پیاده سازی کند.
یک توسعه دهنده می تواند بدون نیاز به ایجاد زیرساخت های لازم برای کاربران برای تجارت آنها ، رمز اتریوم خود را ایجاد کند. یک پلت فرم بازی آنلاین ممکن است موارد موجود در بازی را توکن کند و کاربران می توانند این نشانه ها را خریداری کرده و خارج از سیستم عامل معامله کنند و جدا از خود پلتفرم بازی ، آنها را در اختیار داشته باشند. فراتر از تجارت موارد برای استفاده در بازی ، کالاهای کلکسیونی دیجیتال پتانسیل گسترده ای در آینده دارند. با افزایش محبوبیت ورزش های الکترونیکی ، ممکن است معادل توکن دیجیتالی یک “توپ خانگی” داشته باشید.
با داشتن هر جفت کلید خصوصی / خصوصی شخصی ، احراز هویت کاربر بسیار ساده تر می شود زیرا برنامه ها فقط باید تأیید کنند که کاربر می تواند با کلید خصوصی خود معاملات را امضا کند.
از قراردادهای هوشمند می توان برای ایجاد پول قابل برنامه ریزی استفاده کرد. استفاده اساسی از یک قرارداد هوشمند قابل برنامه ریزی را در نظر بگیرید تا به وضعیتی که دو صاحب یک آپارتمان می خواهند پرداخت اجاره مستاجر را 50/50 تقسیم کنند ، بپردازید. به طور معمول ، یا مستاجر باید به هر مالک جداگانه بپردازد ، یا به یک مالک یا نماینده پرداخت کند و مالک یا نماینده پول را پرداخت کند. در حالی که این وضعیت به ویژه مشکل ساز نیست ، اعتماد ضمنی مورد نیاز یک فرد را برای تأمین سهم شخص دیگر در نظر بگیرید. این را با یک قرارداد هوشمند ساده مقایسه کنید که به صورت برنامه نویسی وجوه دریافتی را تقسیم کرده و به آدرس هر مالک می فرستد. مستاجر فقط اجاره خود را به آن آدرس ارسال می کند و هر مالک بلافاصله سهم خود را دریافت می کند. به دلیل امنیت و تغییر ناپذیری یک بلاکچین مانند Ethereum ، هر مالک می تواند اطمینان حاصل کند که قرارداد هوشمند به دلخواه عمل خواهد کرد و می تواند کد آن را کنترل کند.
هنگامی که ستون فقرات دیجیتالی اعتماد توسط بلاکچین فراهم شد ، می توانیم از مزایای برنامه نویسی برای مشکلات مهم اجتماعی نیز استفاده کنیم. ما می توانیم خدمات بانکی را در چند خط کد ارائه دهیم. با چند کلیک می توانیم هویت را تأیید کنیم. همه دارای پروتکل است که می تواند تقریباً در هر رایانه ای در هر کجای دنیا اجرا شود.
از آنجا که فضا جدید و در حال توسعه است ، فرصت برای توسعه دهندگان فراهم است تا انواع جدیدی از ابزارها ، برنامه ها و سیستم ها را بسازند و موارد استفاده جدیدی را برای این فناوری ارائه دهند.
یک راه حل در جستجوی یک مسئله?
یک روش رایج در انتقادات از فناوری بلاکچین این است که این یک راه حل در جستجوی یک مشکل است. ممکن است ادعا شود که ارز دیجیتال اولین برنامه قاتل بلاکچین است ، و توزیع مالی یا DeFi ، در حال شکل گیری برای بعدی است ، میزان کامل نحوه استفاده از این فن آوری در حال حاضر ناشناخته است و یکی از دلایل اصلی توسعه در فضا حضور در آن هیجان انگیز است. بیش از یک دهه ، فناوری لیزر هیچ کاربرد آشکاری نداشت ، تا اینکه محققان ، آزمایشگران و کارآفرینان توانستند آن را به روشهای کاملاً غیرمنتظره به کار گیرند. در حالی که می توان از همین استدلال برای هر فناوری جدیدی استفاده کرد ، پذیرفتن گسترده ارز دیجیتال و بیش از 350 میلیارد دلار موجود در حال حاضر در بلاک چین های توزیع شده ، کنترل نشده و غیرمتمرکز ، بسیار قابل توجه است.
ساختار برنامه توزیع شده اساسی
یک برنامه توزیع شده ، به طور کلی ، برنامه ای است که به زنجیره بلوکی در جایی از پشته خود متصل می شود ، و احتمالاً به نوعی اساسی برای عملکرد آن است. برنامه های توزیع شده ترکیبی از سیستم های معمول جلو و عقب هستند که در یک برنامه وب پیدا می کنید اما برای اتصال به شبکه Ethereum از کتابخانه ای مانند web3.js استفاده می کنند. برخی از برنامه های توزیع شده به طور کامل توزیع شده اند: زندگی در شبکه های توزیع شده.
در پایان کاربر, MetaMask یک پلاگین محبوب است که کیف پول Ethereum کاربران را مدیریت می کند. MetaMask رابطی را برای کاربر فراهم می کند تا معاملات را امضا کند و “هویت” خود را ثابت کند..
یک برنامه توزیع شده داده شده ممکن است برای تأیید اعتبار به بلاکچین Ethereum و همچنین به کاربران کیف پول MetaMask (یا کیف پول دیگر) متصل شود.
رابط با Ethereum
به طور معمول ، برای تعامل با Ethereum باید یک گره کار کنید. گره بخشی اساسی از ساختار بلاکچین است ، نظیری که به دیگر همسالان متصل می شود و ساختار غیر متمرکز را تشکیل می دهد. این پروتکل در شبکه اصلی عمومی سلطنتی است: هیچ سرور مرکزی ، هیچ مرجعی و هیچ محدودیتی برای اینکه چه کسی می تواند یک گره را اداره کند وجود ندارد. فقط یک پروتکل مشترک برای همه گره های شرکت کننده وجود دارد.
بسیاری از توسعه دهندگان برنامه ترجیح می دهند گره Ethereum خود را اجرا نکنند ، بنابراین سرویس هایی مانند این موارد را دوست دارند Infura وجود دارد تا یک درگاه و API برای Ethereum فراهم کند که توسعه دهندگان می توانند به جای آن استفاده کنند.
قراردادهای هوشمند
در حالی که شبکه بیت کوین یکی از شناخته شده ترین بلاک چین ها است ، Ethereum دارای یک مجموعه ویژگی است که برای توسعه دهندگان هیجان انگیزتر است زیرا شامل یک ماشین مجازی کامل تورینگ است که می تواند برنامه های کوچکی به نام قراردادهای هوشمند را اجرا کند. در نتیجه ، Ethereum دارای قوی ترین و فعال ترین جامعه توسعه دهنده در میان هر یک از اکوسیستم های بلاکچین است.
قراردادهای هوشمند روی گره ها اجرا می شوند و از معاملات برای ورودی و خروجی آنها استفاده می کنند. قراردادهای هوشمند در آدرسهای موجود در بلاکچین قرار دارند ، به همان روشی که آدرس حساب کاربر نیز در آن قرار دارد. برای تعامل با یک قرارداد هوشمند ، فقط باید یک معامله را همراه با داده های ورودی برای آن ارسال کنید.
گاز
اجرای یک قرارداد هوشمند نیاز به بنزین دارد ، هزینه کمی که باعث جبران اپراتورهای گره می شود و خدمات اجرای قرارداد هوشمند را جبران می کند ، در عین حال باعث کاهش بروز هرزنامه (با گران کردن هرزنامه ها) و جلوگیری از اتصال بی رویه قراردادهای هوشمند با کد نادرست و متلاشی شدن شبکه می شود..
Mainnet ، Testnets ، سایر شبکه ها
شبکه اصلی در اصطلاح بلاکچین به شبکه فعال اصلی برای یک پروتکل مشخص اشاره دارد. در مورد Ethereum ، شبکه اصلی جایی است که ارزش واقعی رد و بدل می شود و منبع حقیقت محسوب می شود. اما هر گروه از گره ها می توانند شبکه خود را تشکیل دهند. Testnets با ارائه شبکه های بسیار کوچکتر که Eth و گاز در آنها رایگان است ، به جامعه توسعه دهندگان خدمات ارائه می دهند ، بنابراین توسعه دهندگان می توانند پروژه ها و کدهای خود را بدون خطر آزمایش کنند. شبکه های آزمایشی اتریوم Ropsten ، Kovan ، Rinkeby و Görli نامگذاری شده اند.
از شبکه های Ethereum برای برنامه های سازمانی نیز استفاده می شود: شبکه های سفارشی که به صورت مجاز کار می کنند (در مقابل شبکه اصلی و شبکه های آزمایشی) برای تسهیل معاملات و سایر عملیات در بین گروه کوچکی از سازمان ها (به عنوان مثال). گره های این شبکه ها بسیار کمتر است و معمولاً هدف خاصی را دنبال می کنند. به عنوان مثال ، بانک های بزرگ ممکن است از یک بلاکچین برای تسویه حساب بین بانکی استفاده کنند.
توسعه در Ethereum
توسعه در Ethereum به طور کلی ابتدا در بلاک چین های محلی و محلی صورت می گیرد. توسعه دهندگان در استفاده از چیزی مانند geth ، نرم افزار خط فرمان که به شما امکان می دهد شبکه های Ethereum را ایجاد کنید ، آزاد هستند. اما این مانند برنامه نویسی به زبان سطح پایین است: مجموعه آسان ترها ، کارها را ساده تر می کند و بسیاری از نیازهای برنامه نویسان را برآورده می کند. Ganache ، بخشی از این مجموعه ، ایجاد یک شبکه محلی بلاکچین برای آزمایش برنامه های خود را برای توسعه دهندگان بسیار آسان تر می کند ، و یک “بلاکچین یک کلیک” را برای اهداف توسعه همراه با ابزار خط فرمان ارائه می دهد. Drizzle به توسعه front-end کمک می کند و Truffle خود چارچوبی است برای توسعه و استقرار قرارداد هوشمند.
تعامل با بلاکچین خود به استفاده از API (مانند web3.js) و دسترسی به یک گره نیاز دارد. بسیاری از توسعه دهندگان به جای کار با گره های خود ، از سرویسی مانند Infura به عنوان یک API Ethereum.
زبان های قرارداد هوشمند
در حال حاضر ، محبوب ترین زبان برای رمزگذاری قراردادهای هوشمند به زبان انگلیسی است جامدادی. انتخاب این زبان شبه جاوا اسکریپت برای توسعه دهندگان جدید ، به خصوص کسانی که تجربه کد نویسی وب را دارند ، نسبتاً آسان است. ریمیکس یک IDE آنلاین است که به شما امکان می دهد با ایجاد قراردادهای هوشمند آزمایش کند. بسیاری از جزئیات مهم برای یادگیری برنامه نویسان قرارداد هوشمند وجود دارد ، زیرا قراردادهای هوشمند در شبکه اصلی با ارزش واقعی کار می کنند و پس از استقرار تغییرناپذیر هستند (اگرچه روش های برنامه نویسی وجود دارد که به این امر کمک می کند).
پشته کامل
همانند سایر توسعه وب های مدرن ، گزینه های زیادی برای استفاده از اجزا در سطوح مختلف پشته وجود دارد. می توانید جزئیات بیشتری را در پشته بلاکچین همیشه به دست آورید.
یک پشته ساده پروژه
در اینجا یک مجموعه معمولی از ابزارهای توسعه وجود دارد که ممکن است در یک پروژه ساده استفاده کنید:
NPM
مدیر بسته گره ، بخشی از node.js
چارچوب ترافل
مجموعه ای از ابزارها برای سهولت توسعه
گاناچ
از چارچوب Truffle ، برای راه اندازی بلاکچین خصوصی بر روی دستگاه خود استفاده می شود
MetaMask
رابط کاربری بلاکچین و دروازه ورود به Ethereum ؛ این یک افزونه مرورگر و یک برنامه تلفن همراه است که برنامه شما می تواند به آنها اجازه دهد به کاربران اجازه دهند تراکنش ها را امضا کنند و کارهای دیگر را انجام دهند.
جامدادی
یک زبان برنامه نویسی محبوب برای قراردادهای هوشمند
HTML / CSS / JS
برای جلوی شما
Web3.js
یک کتابخانه Ethereum API به شما امکان اتصال و تعامل با شبکه Ethereum را می دهد
Infura
یک سرویس Ethereum API که بدون نیاز به اجرای گره خود ، به توسعه دهندگان دسترسی به شبکه Ethereum را می دهد
اگر برای شروع آماده هستید ، راهنمای 3 مرحله ای ما جزئیات بیشتری را برای شما ایجاد می کند تا به سرعت با یک پیاده روی در زنجیره بلوک فعال شوید..
- پردازنده در حال انجام: مرحله 1
پردازنده در حال انجام: مرحله 1
پردازنده Onboard: مرحله 2
پردازنده Onboard: مرحله 2
پردازنده در حال انجام: مرحله 3