چند نفره Metaverse Creation در اتریوم

چگونه یک متاورس بدون سرور با Solidity، Lambda، API Gateway، React Three Fiber، DynamoDB و Metamask ایجاد کنیم.
مقدمه
کلمه Metaverse زیاد مطرح شده است و درک معنای واقعی آن می تواند بسیار گیج کننده باشد.
من قبلاً پستی ایجاد کرده ام که توضیح می دهد اصطلاح “metaverse” به چه معناست، در این پست وبلاگ می خواهم در مورد مراحل ساخت متاورس صحبت کنم – مانند این.
این نسخه نمایشی ترکیبی از پایگاههای کد ورود به سیستم WebXR و Web3 است که قبلاً ایجاد کردهام.
اگر میخواهید این مطلب را دنبال کنید، توصیه اکید من این است که پستهای وبلاگ ورود به سیستم WebXR و Web3 را که ایجاد کردهام مطالعه کنید، زیرا بسیاری از محتوای این پست بر روی آنها ساخته شده است.
اگر میخواهید از همه اینها بگذرید و شروع به ساخت متاورس با استفاده از قالبی که من ایجاد کردهام را امتحان کنید، میتوانید در اینجا با آن بازی کنید!
بیا داخل بپریم 😀
نظریه ساخت متاورس
در این بخش، با صحبت در مورد مفهوم، پشته فناوری و جریان برنامه، تئوری پشت این که چگونه ساخت Metaverse میتواند کار کند را توضیح میدهم!
مفهوم
دمویی که من ایجاد کردهام اساساً به صورت زیر عمل میکند:
- کاربرانی که می خواهند از Metaverse استفاده کنند با استفاده از کیف پول Metamask خود به صفحه وب وارد می شوند (برای جزئیات بیشتر در مورد نحوه کار این پست وبلاگ را ببینید)
- پس از ورود به سیستم، آن کاربران می توانند با استفاده از سوکت های وب با سایر کاربران تعامل داشته باشند (برای جزئیات بیشتر به این پست وبلاگ مراجعه کنید)
- سپس این کاربران می توانند با استفاده از کیف پول Metamask خود با قراردادهای هوشمند در بلاک چین اتریوم تعامل داشته باشند.
پشته فناوری
من فناوری های مورد استفاده برای ایجاد نسخه ی نمایشی Metaverse را به صورت زیر خلاصه کرده ام:
زیر ساخت
من از Terraform برای ایجاد تمام منابع ابری در AWS به استثنای توابع Lambda که منطق تجاری را اجرا می کنند، استفاده می کنم.
پایان برگشت
چارچوب بدون سرور برای ایجاد توابع لامبدا Node.JS استفاده میشود که با شبکه اتریوم از طریق Web3.js و با منابع AWS که اعتبارنامههایی را برای کاربران احراز هویت شده تولید میکنند، تعامل دارند. Back End همچنین Websockets را با استفاده از API Gateway پیاده سازی می کند.
بلاک چین
من از فناوریهای مرتبط با اتریوم مانند Solidity و Hardhat برای ایجاد / استقرار قرارداد هوشمند استفاده کردهام، Web3.js یک فناوری اصلی در پشته است که به Back End و Front End اجازه میدهد با Smart Contracts تعامل داشته باشند.
قسمت جلویی
Next.js یک چارچوب React.js است که حاوی منطق کتابخانه Three.js است که محیط سه بعدی را در WebGL تولید می کند.
جریان برنامه
این جریان برنامه ترکیبی است بین Web3 Auth و پستهای وبلاگ چندنفره WebXR که قبلاً ایجاد کردهام.
به عنوان خلاصه ای برای جریان Web3 Auth:
- یک کاربر با کیف پول متاماسک خود امضایی را امضا می کند و آن را از طریق دروازه API به AWS ارسال می کند.
- سپس یک تابع لامبدا امضا را پردازش می کند تا تأیید کند آیا این امضا توسط یک کاربر معتبر امضا شده است یا خیر، در این صورت اعتبارنامه AWS STS را برای کاربر ایجاد می کند تا با آن وارد شود.
- پس از ورود به سیستم، کاربر می تواند با قراردادهای هوشمند و سایر کاربران در DApp تعامل داشته باشد
به عنوان خلاصه ای از آنچه در DApp اتفاق می افتد:
- یک کاربر یک اتصال وب سوکت را با استفاده از اعتبارنامه های AWS که از فرآیند Auth ارائه شده است باز می کند.
- این وب سوکت موقعیت کاربران را در فضای سه بعدی پخش می کند و همچنین موقعیت های دیگر کاربران را در آن فضای سه بعدی دریافت می کند و آنها را در صفحه کاربران تجسم می کند.
- سپس کاربران می توانند در محیط اطراف حرکت کنند و با قراردادهای هوشمند با هم در زمان واقعی تعامل داشته باشند
نتیجه گیری
امیدوارم این پست برای خلاصه کردن نحوه توسعه متاورس مفید بوده باشد.
از آنجایی که این پست تلاقی بین تجربههای Web3 Auth و WebXR است (که قبلاً در مورد هر دوی آنها پستهای آموزشی طولانی ایجاد کردهام)، عمداً این مورد را کوتاهتر نگه داشتهام.
برای اطلاع از پایه کد کامل و دستورالعملهای نحوه راهاندازی، لطفاً این قالبی را که برای Wrapper.js ساختهام ببینید!
خوش بگذره :دی