انشر أول تطبيق لك على خادم باستخدام erpc worker
أنشئ واجهة HTTP API صغيرة بلغة Rust باستخدام
erpc worker، وشغّلها على جهازك، ثم انشرها على خادم بأربعة أوامر.تصف هذه الصفحة ERPC CLI
v0.1.0-rc.4، وهو إصدار تمهيدي.يُصرِّف
erpc worker (واسمه المستعار erpc w) تطبيقك إلى ملف ثنائي أصلي لنظام Linux، ويشغّله على ERPC VPS، أو على VPS جديد بالساعة، أو على خادم خاص بك، ضمن وحدة systemd محصنة دون Docker ودون أي بيئة تشغيل وسيطة.أي إطلاق لا يجتاز فحص الصحة عند بدء تشغيله يُتراجَع عنه إلى الإطلاق السابق، ويمكن لعدة تطبيقات أن تتشارك خادمًا واحدًا، لكل منها منفذه الخاص. كل ما يخص التطبيق موجود في
erpc.toml في جذره، وهو ملف لا يحتوي أي سر ويمكن إيداعه في المستودع.المتطلبات المسبقة
- حساب ERPC، مسجَّل الدخول إليه على هذا الجهاز باستخدام
erpc login(تسجيل الدخول والمفاتيح). - ERPC Credit، لإنشاء VPS جديد بالساعة. يُدفع ثمن المنتج بالساعة من ERPC Credit الذي يُشترى مسبقًا، ويُرفض أي بدء لا يغطيه ERPC Credit. تجد الأسعار في صفحة الأسعار وفي ERPC Web Dashboard.
- مفتاح SSH على هذا الجهاز:
ssh-keygen -t ed25519، أوerpc config set ssh_key <path>.pubلمفتاح لديك بالفعل. - طريقة للبناء لنظام Linux. من جهاز Mac أو Windows: هدف Rust الخاص بالخادم (
rustup target add x86_64-unknown-linux-gnu)، وzig(brew install zigعلى macOS)، وcargo-zigbuild(cargo install cargo-zigbuild --locked). ومن جهاز Linux من نوع الخادم نفسه (x86-64 لكل خوادم ERPC)، لا تحتاج إلى أكثر من cargo. بدون أدوات البناء المتقاطع، يُبنى التطبيق بمجموعة أدوات هذا الجهاز نفسه، ويحتاج الملف الثنائي حينها إلى إصدار glibc الذي رُبط به، ويذكرهbuildوdeploy. ومع هذه الأدوات، يُبنى لإصدار glibc 2.31 فما فوق.
نشر HelloWorld
HelloWorld واجهة HTTP API صغيرة بلغة Rust لا تحتاج إلى مفتاح ولا إلى سر ولا إلى خط بيانات. وهي تجيب على
GET / وGET /hello/{name} وGET /healthz.bash
- ينشئ
initالتطبيق في./hello-world، مع ملفerpc.tomlالخاص به. - يبني
runالتطبيق ويشغّله على جهازك، لتتمكن من استدعائه باستخدام curl أولًا. - يبني
deployالتطبيق للخادم وينشره. كل ما يكلّف مالًا يُعرض أولًا مع سعره بالساعة ورصيدك والمدة التي يكفيها ERPC Credit، وفي الطرفية لا يبدأ إلا بعد إجابتك بنعم. - يستدعي
apiواجهة API الخاصة بالتطبيق المنشور من جهازك، مع بقاء الـ API على واجهة loopback في الخادم.
يسرد
erpc worker check ما ينقص التطبيق، ويرفض deploy العمل قبل أن يشتري أي شيء إذا كان هناك نقص. ويشغّل erpc worker build البناء وحده، وهو الطريقة لرؤية فشل البناء قبل شراء خادم.اختيار قالب
يسأل
erpc worker init عن شيء واحد: ما الذي تريد إنشاءه، وتختاره بمفاتيح الأسهم.- HelloWorld هو القالب الذي تبدأ منه.
- HFT وpumpfun-bot كلاهما مبنيّ من قالب pumpfun في الوقت الحالي: بوت تداول لـ pump.fun (PumpSwap) منقول من ValidatorsDAO/solana-stream.
يتخطى
--template hft (أو helloworld أو pumpfun-bot أو معرّف قالب) أداة الاختيار، ويحدد --name اسم التطبيق. وبدون اسم، يُسمّى التطبيق باسم الاختيار (hello-world أو hft-bot أو pumpfun-bot). عندما يوجد مجلد بهذا الاسم، يحصل الشخص الذي يختار على -2 و-3 وهكذا، بينما يحصل السكربت (--yes أو --json أو عدم وجود طرفية) على خطأ. وعندما لا يوجد من يُسأل ولا يوجد --template، يُنشأ HelloWorld.يحتاج بوت التداول إلى مفتاح وبعض الإعدادات قبل أن يعمل. ترتيب خطواته:
bash
يطبع
init هذا الترتيب للتطبيق الذي أنشأه. وتشرح صفحة المفاتيح والأسرار أين يُحفظ المفتاح والأسرار.اختيار الخادم
يستخدم
deploy أول ما ينطبق مما يلي:- الخادم الذي يذكره
[env.<name>]الخاص بالتطبيق مسبقًا؛ --vps <id>، وهو ERPC VPS في حسابك؛--new-vps، وهو أرخص VPS بالساعة في المنطقة الأقرب إلى هذا الجهاز بحسب منطقته الزمنية (ويختار--regionو--planغير ذلك)؛--host <address>، وهو خادم خاص بك: Ubuntu أو Debian مع systemd وnftables وsudoوPython 3 في/usr/bin/python3، يُتصل به بصفة root أو بمستخدم لديه sudo دون كلمة مرور؛- وإلا، في الطرفية، قائمة بخوادم VPS العاملة في حسابك، وفي آخرها «start a new one».
على خادم خاص بك، يُسقط جدار حماية الـ worker كل اتصال وارد باستثناء SSH ومنفذ التطبيق، لذا فإن الخادم الذي يخدم أي شيء آخر ليس الخادم المناسب للاستخدام.
النشر دون وجود شخص أمام الطرفية
لا يملك السكربت، أو الوكيل مثل
erpc ai، طرفية يجيب فيها. ويتيح له خياران إنجاز العمل رغم ذلك:bash
--yesيجيب عن سعر كل منتج بالساعة يذكره الأمر (--new-vpsو--grpcو--shredsو--unlimited). ويجيب أيضًا عن أول تسجيل دخول إلى خادم لم يجعله erpc بعدُ مقتصرًا على المفاتيح، سواء كان خادمًا جديدًا أو خادمًا محددًا بـ--vps <ID>: يسجّل erpc الدخول مرة واحدة بكلمة مرور الخادم، ويضع مفتاحك، ثم يوقف تسجيل الدخول بكلمة المرور. وبدون--yesوبدون طرفية، يُرفض البدء قبل شراء أي شيء، برمز الخروج 3.- اختيار خادم من بين خوادمك لا يزال يحتاج إلى شخص. حدّد الخادم بـ
--new-vpsأو--vps <ID>أو--host. --prepareينجز كل ما لا يحتاج إلى مفتاح التداول ولا إلى سر، ولا يبدأ شيئًا ولا يوقفه ولا يعيد تشغيله. ثم يسلّم أمرerpc worker deployالتالي في الطرفية المفتاح والأسرار ويبدأ التطبيق. لا يُقرأ مفتاح التداول إلا لشخص أمام الطرفية.
ربط تطبيقك بـ gRPC وShreds وUnlimited RPC
تسمح خطوط ERPC بالساعة للخادم بالدخول بحسب عنوانه، ولا تقبل أي رمز. ولكل خط خيار واحد على
deploy يبدؤه للخادم، ويحصل التطبيق على نقطة النهاية الخاصة بالخط كإعداد:- كل خط هو الأرخص في فئته ما لم يحدد
--grpc-planأو--shreds-planأو--unlimited-planخطًا بعينه. - يعمل Unlimited RPC على خادم مخصص يستغرق إعداده ما يصل إلى 45 دقيقة. وهو يخدم
sendTransactionوقائمة قصيرة من طلبات القراءة، ولا يخدمgetProgramAccountsولاgetTokenAccountsByOwner. ونقطة النهاية الخاصة به HTTP عادي (دون TLS) ولا تسمح إلا للعنوان المدرج في قائمة السماح.
الخطوط عند التشغيل على جهازك
يقبل
erpc worker run أيضًا --grpc و--shreds، لتجربة التطبيق هنا على بيانات حقيقية قبل أن ينتقل إلى خادم.- العنوان: تسمح الخطوط بعنوان IPv4 العام لهذا الجهاز، الذي تمرّره بـ
--ip. ولا يبحث erpc عنه بنفسه. - الشراء: لا يُشترى خط جديد إلا في الطرفية، بعد عرض سعره. ولا يحتوي
runعلى--yes. - الإنهاء: عندما ينتهي التشغيل، يُنهى كل خط بالساعة بعد السؤال. ويُبقي
--keep-linesعليها، مع استمرار احتساب رسومها. وإذا انتهى التشغيل بأي طريقة أخرى (إغلاق الطرفية، أو الضغط على Ctrl-C مرة ثانية)، تبقى الخطوط وتُحتسب رسومها. - الأرقام: ما يقيسه التطبيق هنا يشمل المسافة من هذا الجهاز إلى الخط، لذا فهو أبطأ من التطبيق نفسه على خادم قريب من الخط.
الخطوات التالية
- استيراد تطبيق: انشر تطبيقًا لديك بالفعل، بأي لغة.
- المفاتيح والأسرار: أبقِ مفتاح التداول والأسرار بعيدًا عن قرص الخادم.
- جدار الحماية وWAF: ضع واجهة API عامة خلف WAF.
- الحالة والفوترة: راقب التطبيق واطّلع على تكلفته بالساعة.






