مقدمه
Farcaster یک شبکه اجتماعی غیرمتمرکز (DeSoc) است که بر روی سیستم فایل بین سیاره ای (IPFS) و بلاک چین اتریوم ساخته شده است. برخلاف پلتفرمهای رسانههای اجتماعی سنتی، Farcaster به کاربران این امکان را میدهد تا دادهها و محتوای خود را داشته باشند و تجربه آنلاین عادلانهتر و ایمنتری را تقویت کنند. این مقاله به تعامل برنامهنویسی با Farcaster با استفاده از Python میپردازد، و توسعهدهندگان را قادر میسازد تا وظایف را خودکار کنند، برنامههای کاربردی سفارشی بسازند، و امکانات این پلتفرم DeSoc نوآورانه را بررسی کنند.
پیش نیازها
- یک کاربر غیر ریشه با امتیازات
sudo
در یک سیستم عامل مبتنی بر لینوکس. - پایتون 3 نصب شده و یک محیط برنامه نویسی بر روی کامپیوتر یا سرور شما راه اندازی شده است.
- یک حساب کاربری فارکستر
- آشنایی با محیط ترمینال
مرحله-1 نصب کتابخانه های ضروری پایتون
در این مرحله، کتابخانه Farcaster-py، یک کیت توسعه استاندارد پایتون (SDK) برای پروتکل Farcaster را با استفاده از نصب کننده بسته pip
نصب خواهید کرد.
اگر قبلاً محیط برنامه نویسی خود را فعال نکرده اید، مطمئن شوید که در دایرکتوری والد پروژه خود (farcaster-example)
هستید و از دستور زیر برای فعال کردن محیط استفاده کنید.
source env/bin/activate
هنگامی که محیط برنامه نویسی شما فعال شد، اکنون به نام محیط شما پیشوند داده می شود. در این حالت ^env^ نامیده می شود. بسته به نوع لینوکس که اجرا می کنید، پیشوند شما ممکن است تا حدودی متفاوت ظاهر شود، اما نام محیط شما در پرانتز باید اولین چیزی باشد که در خط خود می بینید:
(env)sammy@localhost:$
این پیشوند نشان می دهد که محیط env در حال حاضر فعال است، که ممکن است بسته به نحوه نامگذاری آن در حین ایجاد نام دیگری داشته باشد. اکنون، بیایید بسته های پایتون را که در طول این آموزش به آن نیاز داریم، با استفاده از دستور pip
نصب کنیم.
برای نصب farcaster-py
دستور زیر را اجرا کنید:
pip install -U farcaster
farcaster-py SDK
از واسط برنامه نویسی برنامه Warpcast (API) استفاده می کند. Warpcast یکی از بسیاری از مشتریان Farcaster است و برای استفاده از Warpcast API، به یک حساب کاربری Farcaster نیاز دارید.
سپس، بیایید کتابخانه dotenv
را نصب کنیم، که برای بارگیری متغیرهای محیطی از فایل .env
استفاده خواهد شد.
pip install python-dotenv
هنگامی که farcaster-py
و dotenv
را با موفقیت نصب کردیم، خوب است که به مرحله بعدی برویم.
مرحله-2 اتصال به Farcaster
در این مرحله، از کلید حافظه یا کلید خصوصی حساب نگهبانی Farcaster (ارائه شده توسط Warpcast) برای اتصال به API استفاده خواهید کرد.
ابتدا، کلید یادداشتی یا خصوصی Farcaster خود را در یک فایل env.
ذخیره کنید. شما می توانید این کار را با باز کردن فایل .env
با استفاده از دستور زیر انجام دهید:
nano .env
در فایل env.
خط زیر را تایپ کنید و YOUR_MNEMONIC_HERE را با عبارت یادگاری واقعی خود جایگزین کنید:
MNEMONIC=YOUR_MNEMONIC_HERE
Ctrl + O
را برای ذخیره فشار دهید، سپس Enter
را برای تأیید نام فایل و در نهایت Ctrl + X
را برای خروج از ویرایشگر فشار دهید.
به عنوان یک اقدام احتیاطی امنیتی، می توانید دستور زیر را برای جلوگیری از دسترسی غیرمجاز به یادداشت حساس اجرا کنید. این مجوزها را برای خواندن و نوشتن فقط برای مالک تنظیم می کند.
chmod 600 .env
حالا بیایید وارد پوسته خط فرمان پایتون شده و تعامل با Farcaster را شروع کنیم. پوسته را با استفاده از دستور پایتون راه اندازی کنید:
python
باید خروجی مشابه آنچه در زیر آمده است ببینید. این نشان می دهد که شما با موفقیت وارد پوسته پایتون شده اید.
OutputPython 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
پس از وارد شدن به پوسته، شروع به تایپ کد خود می کنیم. ابتدا، بیایید کتابخانه os
، Warpcast
و اشیاء load_dotenv
را به ترتیب از کتابخانههای farcaster
و dotenv
وارد کنیم.
import os
from farcaster import Warpcast
from dotenv import load_dotenv
سپس، بیایید با فراخوانی load_dotenv():
متغیرهای محیط را در env.
load_dotenv()
بارگذاری موفق متغیر محیطی True
را خروجی می دهد.
اکنون، کلاینت را با استفاده از متد Warpcast با آرگومان MNEMONIC نمونه سازی کنید. سپس متد get_healthcheck()
را فراخوانی کنید تا بررسی کنید که آیا کلاینت متصل است یا خیر.
client = Warpcast(mnemonic=os.environ.get(“MNEMONIC”))
client.get_healthcheck()
یک بررسی سلامت موفق باید خروجی True
داشته باشد. این بدان معنی است که مشتری ما با موفقیت نمونه سازی شده است و می تواند با شبکه Farcaster تعامل داشته باشد. در مرحله بعد، با انتشار بازیگران، حذف بازیگران و گرفتن شناسه فارکستر (FID) با شبکه فارکستر تعامل خواهیم داشت.
مرحله-3 تعامل با فارکستر
حالا بیایید یک بازیگر را منتشر کنیم. بازیگران به محتوایی اطلاق می شود که برای گروه خاصی از دنبال کنندگان یا مشترکین در Farcaster پخش می شود.
broadcast = client.post_cast(text=”Hello World!”)
hash = broadcast.cast.hash
print(hash)
کد بالا متن “Hello World!” را منتشر می کند. به عنوان بازیگر به شبکه Farcaster، و آخرین خط هش بازیگران را همانطور که در شبکه ثبت شده است چاپ می کند.
سپس، بیایید بازیگرانی را که به تازگی در کد منتشر کردهایم بخوانیم. از آنجایی که هش داریم، میتوانیم آن را بهعنوان یک آرگومان در get_cast()
قرار دهیم، که در صورت موفقیت، محتوای cast را برمیگرداند.
read = client.get_cast(hash)
text = read.cast.text
print(text)
این باید محتوای بازیگرانی را که قبلاً با عنوان “Hello World!” منتشر شده بود چاپ کند. اکنون که با ارسال و دریافت محتویات یک بازیگر آشنا شدید، باید سعی کنید یک بازیگر را حذف کنید:
is_deleted = client.delete_cast(hash)
print(is_deleted)
اگر بازیگران حذف شده باشند، کد بالا وضعیت حذف بازیگران را به صورت True
چاپ می کند.
همانطور که ممکن است متوجه شده باشید، برای ارسال محتوا (کست) در Farcaster باید یک حساب کاربری ایجاد کنید. در پشت صحنه، به هر کاربر پس از ایجاد یک حساب کاربری، یک شناسه فارکستر (FID) اختصاص داده می شود. با اجرای خطوط کد زیر می توانید FID خود را دریافت کنید:
user = client.get_me()
fid = user.fid
print(fid)
متد get_me()
کاربر فعلی Farcaster
را دریافت می کند که شما هستید. اگر مایل به دریافت اطلاعات در مورد سایر کاربران هستید، می توانید از client.get_user()
که یک FID می گیرد یا client.get_user_username()
که یک نام کاربری را به عنوان آرگومان می گیرد استفاده کنید. هر دو روش مدلی را برمیگردانند که شامل شی کاربر است.
با تکامل Farcaster، فرصتهای جدیدی پدیدار میشوند و توسعهدهندگان را به کاوش و یادگیری در این اکوسیستم هیجانانگیز دعوت میکنند.
نتیجه
این مقاله یک درک اساسی از نحوه تعامل با فارکستر با استفاده از پایتون ارائه کرد. با استفاده از Python و Farcaster، توسعهدهندگانی مانند شما میتوانند با خودکار کردن وظایف، ساختن برنامههای کاربردی سفارشی و کمک به رشد یک وب اجتماعی غیرمتمرکز و کاربر محور، پتانسیل این پلتفرم DeSoc را باز کنند.