Pera Connect SDK 1.6.0، امضای آزمایشی افزونه مرورگر ARC-27 را ارائه میدهد.

درِ ورود توسعهدهندگان به کیف پول پیشفرض آلوگرند
وقتی یک اپلیکیشن وب در آلوگرند از بازدیدکنندگان میخواهد که یک کیف پول را متصل کنند، کیف پولی که معمولاً باز میشود Pera's است. Pera به عنوان کیف پول رسمی شبکه راهاندازی شد، در فوریهٔ ۲۰۲۲ نامش را تغییر داد و همچنان انتخاب پیشفرض برای موبایل است — اپ iOS آن در میان ۷,۹۵۲ ردهبندی، میانگین ۴.۸ ستاره دارد، و تیم در ۱۱ آگوست اعلام کرد که هر دو اپ را از ابتدا بر اساس کدبیس React Native بازسازی خواهد کرد. دوازده روز پیش از آن اعلامیه، همان تیم نسخه ۱.۶.۰ از @perawallet/connect، SDK جاوااسکریپتی که به اپلیکیشنهای وب اجازه میدهد با کیف پول ارتباط برقرار کنند، را منتشر کرد. افزودنی اصلی این نسخه — درخواستهای امضا از طریق یک افزونهٔ مرورگر، استاندارد شده به عنوان ARC-27 — با احتیاط انجام شده است: این ویژگی به صورت پیشفرض غیرفعال است.
SDK در مرکز مرکز مستندات فنی پِرا قرار دارد که چهار سطح یکپارچهسازی را برای توسعهدهندگان شخص ثالث سازماندهی میکند. هر یک از این سطوح به یک پروژه امکان میدهد از زیرساختهایی که پِرا برای محصولات خود اجرا میکند، به جای ساخت از ابتدا، استفاده کند.
| سطح یکپارچگی | آنچه را پوشش میدهد | کاربرد در دنیای واقعی |
| Pera Connect SDK | یک کتابخانه جاوااسکریپت که اپلیکیشنهای وب را به Pera Wallet متصل میکند | کد پشت اکثر دکمههای «Connect Wallet» در اپلیکیشنهای غیرمتمرکز Algorand |
| API عمومی | نقاط پایانی که متاداده و برچسبهای تأیید را برای هر [دارایی استاندارد Algorand](/glossary/algorand-standard-asset "یک مکانیزم داخلی که به هر کسی امکان میدهد توکنهای جدید (مانند استیبل کوینها، توکنهای کاربردی یا NFTها) را مستقیماً در لایه پایه Algorand ایجاد و صادر کند،") را برمیگردانند | اپلیکیشنها نام توکنها، لوگو، قیمتها و نشانهای اعتماد Pera را بدون اینکه هر پروژهای پارسر مخصوص به خود را بنویسد، نمایش میدهند |
| مشخصات URL برنامههای تلفن همراه | perawallet://، لینکهای عمیق پذیرفته شده توسط اپلیکیشنهای iOS و Android | هر صفحهای میتواند Pera را مستقیماً به جریان ارسال، ثبتنام یا مشاهده حساب هدایت کند |
آنچه 1.6.0 در واقع اضافه میکند
Pera Connect بر اساس پروتکل [WalletConnect](/glossary/walletconnect "پروتکلی که به یک اپلیکیشن وب اجازه میدهد با اسکن کد QR به یک کیف پول رمزنگاری (مانند Pera یا Defly در Algorand) متصل شود، تا اپلیکیشن بتواند آدرس کیف پول را بخواند و بدون نگهداری کلیدهای خصوصی، درخواست تراکنشهای امضا شده کند. متدهای اصلی SDK کوچک هستند: connect() آدرسهای حساب را برمیگرداند، signTransaction() یکتراکنش یا گروههای اتمی را امضا میکند — که یا همه باید انجام شوند یا هیچکدام — و signData() بایتهای دلخواه را برای جریانهای احراز هویت و شناسایی امضا میکند."
نسخه ۱.۶.۰ که در ۳۰ ژوئیه منتشر شد، یک روش انتقال دوم برای امضا اضافه کرد: ARC-27، استاندارد الگوراند که به یک کیف پول افزونه مرورگر اجازه میدهد مستقیماً به درخواستهای [dApp](/glossary/dapp "یک برنامه غیرمتمرکز، برنامهای نرم افزاری که به جای یک سرور مرکزی بر روی یک شبکه بلاک چین اجرا میشود، بنابراین توسط یک شرکت واحد کنترل نمیشود") پاسخ دهد و از دور رفت و برگشت QR صرف نظر کند. از آنجایی که پشتیبانی از طریق یک پرچم آزمایشی انجام میشود که به صورت پیشفرض روی false تنظیم شده است، مگر آنکه یک توسعهدهنده آن را فعال کند، هیچ تغییری برای یکپارچهسازیهای موجود رخ نمیدهد. پس از فعال شدن، پنجره اتصال گزینهای به نام «اتصال با افزونه Pera» را نمایش میدهد، از طریق یک دور رفت و برگشت کشف ARC-27، یک افزونه نصب شده و سازگار را خودکار شناسایی میکند و در صورت یافت نشدن، به QR یا Pera Web بازمیگردد. مسیر افزونه از امضای دادههای ARC-60 پشتیبانی میکند — با بررسی دامنه درخواستکننده در برابر منبع صفحه — اما از امضای دادههای دلخواهِ قدیمی پشتیبانی نمیکند که یک خطا مربوط به عملیات پشتیبانینشده را نمایش میدهد. همان نسخه، مجموعهای از رفعهای انطباق با مشخصات ARC-60 را در بر داشت و اکنون یک نسخه بتا ۱.۶.۱-beta.0 در برچسب بتا npm قرار دارد.
این بسته در ماه گذشته ۴۶,۸۵۴ بار دانلود شده است که ۱۱,۷۲۴ مورد از آنها در هفته گذشته بوده و ۴۶ بستهٔ دیگر در npm به آن وابسته هستند. ذخیرهٔ GitHub ۷۰ ستاره دارد و به تازگی در ۱۴ اوت با رفع مشکلات جریان امضای iOS Safari و خطاهای برچسبگذاری نادرست signData به روزرسانی شده است؛ این روال نگهداری با خود کیف پول همخوانی دارد: نمونهٔ dApp که تیم آن را نگهداری میکند، بیش از صد سناریوی امضا را از پرداختهای تکتایی تا دستههای ۱,۰۰۰تایی تمرین میدهد.
بخشهای دیگر هاب: دادهها، کالکشنها، لینکهای عمیق
سه سطح دیگر به آنچه یک dApp در جریان امضای خود نیاز دارد، میپردازند. API عمومی که از [mainnet](/glossary/mainnet "شبکه بلاکچینی عمومی اصلی که در آن تراکنشها ثبت شده و ارزش واقعی دارند، در مقایسه با شبکه آزمایشی که برای آزمایش استفاده میشود.") api.perawallet.app ارائه میشود، متادیتای هر [ASA](/glossary/asa "دارایی استاندارد الگوراند: مکانیزم لایه ۱ در بلاکچین الگوراند که به هر کسی اجازه میدهد توکنی مانند استیبلکوین یا NFT صادر کند و دارایی را با خود حمل کند.") در شبکه را بازگردانده و شامل نام، نام واحد، اعشار، عرضه کل، سازنده، لوگو و ارزش دلار است؛ علاوه بر این، یک سطح تأیید برای «قابل اعتماد»، «تأیید شده»، «تأیید نشده» یا «مشکوک» ارائه میدهد که پاسخها به مدت پنج دقیقه در حافظه پنهان ذخیره میشوند. نقاط پایانی اختصاصی برای داراییهای تأیید شده و داراییهای برچسبدار، لیستهای مجاز را در یک پاسخ واحد بازگردانده و مستندات، یک رابط کاربری Swagger و یک مشخصات OpenAPI قابل دانلود را پیوند میدهد. دو نکته: یک اطلاعیه حذف در سال ۲۰۲۴، نقاط پایانی را به مسیر /v1/public/ منتقل کرد که از اول اوت همان سال به آن هدایت میشود و الزامات استفاده از API، تعهدات برندینگ است — دارنده مجوز باید «دادههای ارائه شده توسط Pera» را با لوگوی Pera نمایش دهد، نشانهای «تأیید شده» و «مشکوک» را در کنار هر ASA قرار دهد و به صفحه Pera Explorer آن ASA با یک فراخوان «مشاهده در Pera Explorer» قابل مشاهده پیوند دهد.
مشخصات تجزیه و تحلیل NFT توضیح میدهد که پِرا چگونه پایگاه داده کالکتیبل خود را پر میکند: یک کار مداوم هر دارایی را تکرار میکند، با استفاده از یک دروازه [IPFS](/glossary/ipfs "یک سیستم ذخیره فایل غیرمتمرکز که دادهها در چندین کامپیوتر ذخیره میشود و در برابر سانسور یا از دست رفتن مقاوم است. NFTها اغلب از IPFS استفاده میکنند")، متادیتای یک شیء JSON را به عنوان یک NFT ARC3 (متادیتای) و یک تصویر یا ویدیو را به عنوان یک NFT ARC69 (رسانهای) دستهبندی میکند. متادیتای ARC69 قابل تغییر است، بنابراین در هر مرحله، خط لوله آن را از آخرین تراکنش پیکربندی دارایی دوباره تجزیه و تحلیل میکند، در حالی که رسانههای ARC69 یک بار دریافت و ذخیره میشوند؛ فایلهای بیش از ۱۰۰ مگابایت نادیده گرفته میشوند و دریافتهای ناموفق سه بار دوباره تلاش میشوند. طرحهای URL موبایل این مجموعه را با لینکهای perawallet:// کامل میکنند که اپلیکیشن را به یک عمل خاص باز میکنند — افزودن یک حساب برای تماشای ویدیو، اشتراک در یک دارایی، یا پیشپر کردن یک انتقال ALGO یا ASA با یک یادداشت — با مبالغی که به میکروآلگو بیان میشوند.
تراژدیهایی که یک توسعهدهنده به ارث میبرد
آنچه مستندات به آن اشاره ندارند، این است که این سطوح چقدر به طور کامل یک پروژه را به یک فروشنده خاص متصل میکنند. طرح پیوند عمیق فقط Pera را باز میکند، مدال «اتصال» متعلق به Pera است و شرایط API عمومی نیاز دارد که لوگو و مدالهای Pera به جای ارائه بیطرفانه دادهها نمایش داده شوند — و این مدالها گزینشگری مخصوص Pera هستند، نه یک رکورد مستقل، زیرا در شرایط آن آمده است که یک مدال تایید نیست. نه مستندات و نه یادداشتهای انتشار، به یک بازرسی امنیتی شخص ثالث از SDK اشاره میکنند، بنابراین تیمهایی که از آن استفاده میکنند، باید به مهندسی و سابقه کاری Pera اعتماد کنند. این سابقه واقعی است — بازسازی والت ۷.۰ و چرخه انتشار ماهانه SDK نشان میدهد که نگهداری فعال در جریان است — اما این همچنین به این معناست که Pera، به عنوان والت پیشفرض اکوسیستم، در هر یکاز یکپارچهسازیهایی که امکانش را فراهم میکند، سهمی تجاری دارد. برای تیمهایی که میخواهند از این مسئله فاصله بگیرند، دو راهحل وجود دارد: README به روپوش «[use-wallet]» اشاره میکند که برای پشتیبانی از چند والت، والتها را مستقل از هم در نظر میگیرد و سؤالات توسعهدهندگان در کانال #dev-support دیسکورد Pera پاسخ داده میشود.
پرچم آزمایشی این نکته را صریحاً بیان میکند: پِرا با ARC-27 به سمت و سوی خاصی اشاره میکند و وعدهٔ یک داستان توسعهٔ کامل را نداده است، و دروازهٔ انتخابِ داوطلبانه به این معناست که پیشگامان در حال آزمایش هستند، نه اینکه به آن وابسته باشند. برای تیمی که راحت است پِرا را به عنوان زیرساخت کیف پول خود انتخاب کند، SDK سریعترین راه از صفر تا یک دکمهٔ «اتصال به کیف پول» کارآمد است؛ و برای تیمی که میخواهد در حوزهٔ کیف پولهای الگوراند بیطرف باقی بماند، لایههای روکش راهی برای فرار ارائه میدهد. در هر صورت، مرکز مستندات اکنون روشنترین نقشهٔ آن است که کیف پول پیشفرض قصد دارد تجربهٔ توسعهدهندگان اکوسیستم را به کجا برساند.
منبع
- Pera Wallet Docs
- @perawallet/connect در npm
- perawallet/connect در GitHub
- Pera Wallet Example dApp
- docs.perawallet.app
- docs.perawallet.app
- Pera Connect | Pera Wallet Docs
- NFT Parser Specs | Pera Wallet Docs
- Mobile App URL Schemes | Pera Wallet Docs
- raw.githubusercontent.com
- raw.githubusercontent.com
- Pera Algorand Explorer
- docs.perawallet.app
- raw.githubusercontent.com
- Introduction | Pera Wallet Docs
Source: https://docs.perawallet.app