أتمت حلقات لعبتك على السلسلة
Games for Pennies
كل ما تحتاجه للأتمتة على السلسلة
بروتوكول متكامل للأتمتة اللامركزية والمرخصة والفعالة من حيث التكلفة للعقود الذكية.
تنفيذ حلقات لامركزي
يكتشف العمال خارج السلسلة تلقائياً متى يكون عقدك جاهزاً وينفذون حلقات اللعبة. بدون خوادم مركزية، بدون نقاط فشل فردية.
عشوائية قابلة للتحقق مدمجة
توليد إثبات ECVRF أصلي وتحقق على السلسلة. عشوائية عادلة يمكن إثباتها في كل tick لرمي النرد وإسقاط الغنائم والمزيد — بدون أوراكل خارجية.
Hybrid VRF — عشوائية عندما تحتاجها
ticks بتكلفة قياسية مع VRF فقط عندما يطلبها عقدك. لعبتك تقرر متى تهم العشوائية — إسقاط الغنائم، الضربات الحاسمة، التوليد — وتدفع gas لـ VRF فقط في تلك الـ ticks. ~$0.009/tick ممزوجة عند 10% VRF.
نموذج الدفع عند التنفيذ
ادفع فقط عندما تعمل الحلقات فعلاً. تعويض gas بالإضافة إلى رسم أساسي صغير يُقسم بين البروتوكول والمتحكمين. شفاف ويمكن التنبؤ به.
صديق للمطورين
دوال بسيطة، hooks مباشرة. عقود نموذجية مضمنة.
جاهز لعدة شبكات
انشر على Ethereum الشبكة الرئيسية أو شبكة Sepolia التجريبية أو Anvil المحلي للتطوير. قابل للتكوين لكل شبكة مع أدوات نشر تلقائية.
مرخص وآمن
يضمن التحكم في الوصول المبني على الأدوار أن المتحكمين المسجلين فقط يمكنهم تشغيل الحلقات. التحقق من VRF على السلسلة يمنع التلاعب.
Every Loop Here Fails the Self-Trigger Test
Games, agents, DeFi, AI — each for a different structural reason. Not design choices. Proofs.
Inverted self-interest
Every VRF tick picks a random floor and damages it. No floor owner will ever trigger the loop — it might hit their own asset. A neutral keeper is the only viable operator.
Nobody should hold the trigger
A dead man's switch that transfers your vault to a beneficiary if you miss a check-in window. The whole point is that no human should control when it fires.
Front-running attack surface
VRF selects winners from a registered pool on schedule. If player-controlled, the trigger holder knows who wins before calling. AutoLoop fires first, asks questions never.
Timing as attack surface
The high bidder wants the auction closed now. Counter-bidders want an extension. No player-controlled trigger is fair — proving the problem extends far beyond randomness.
4-way coordination failure
Third hop in KaijuLeague → KaijuOracle → ForecasterLeaderboard. Adversarial timing, cross-contract dependency, free-rider gas, prize-pool timing attack — no single player resolves all four.
Neutral on-chain schedule
An LLM agent that runs off-chain and acts on-chain every N blocks. The agent itself shouldn't decide when it fires — its operator, users, and rivals all have conflicting interests.
جاهز للعمل في 4 خطوات
من العقد إلى حلقة لعبة مؤتمتة في دقائق، وليس أشهر.
الوراثة
وسّع أحد العقود الأساسية الثلاثة:
- •AutoLoopCompatible — أتمتة صرفة
- •AutoLoopHybridVRFCompatible — عشوائية انتقائية (الغنائم، الضربات الحاسمة، التوليد)
- •AutoLoopVRFCompatible — عشوائية في كل tick
التنفيذ
أضف shouldProgressLoop() للإشارة إلى الجاهزية و progressLoop() لتنفيذ منطق لعبتك.
التسجيل والتمويل
سجّل عقدك على السلسلة وأودع ETH لتغطية gas والرسوم.
اتركه يعمل
يكتشف العمال حلقاتك وينفذونها تلقائياً. استرخِ وشاهد لعبتك تنبض بالحياة.
ألعاب بقروش
ثلاث مستويات للأتمتة على السلسلة — من التنفيذ الصرف إلى Full VRF في كل tick. إليك تكلفة كل منها بأسعار gas الحالية.
تفصيل الرسوم
بسيط بالتصميم
ادمج Autoloop بدالتين فقط. إليك عقداً كاملاً يعمل.
1// SPDX-License-Identifier: MIT2pragma solidity ^0.8.13;34// Import the base contract that makes any5// contract compatible with AutoLoop workers6import {AutoLoopCompatible} from7 "autoloop/AutoLoopCompatible.sol";89// A simple demo: number goes up every interval10contract NumberGoUp is AutoLoopCompatible {11 uint256 public number;12 uint256 public interval;13 uint256 public lastTimeStamp;14 uint256 private _loopID;1516 constructor(uint256 _interval) {17 interval = _interval;18 lastTimeStamp = block.timestamp;19 }2021 // Workers call this every block to check22 // if the contract is ready for an update23 function shouldProgressLoop()24 external view override25 returns (26 bool loopIsReady,27 bytes memory progressWithData28 )29 {30 // Ready when enough time has passed31 loopIsReady =32 (block.timestamp - lastTimeStamp) > interval;33 // Pass loop ID to prevent duplicate runs34 progressWithData = abi.encode(_loopID);35 }3637 // Called by AutoLoop when shouldProgressLoop38 // returns true — this is your update logic39 function progressLoop(40 bytes calldata progressWithData41 ) external override {42 uint256 loopID =43 abi.decode(progressWithData, (uint256));44 // Guard against stale or replayed calls45 require(loopID == _loopID, "stale loop");46 lastTimeStamp = block.timestamp;47 ++number;48 ++_loopID;49 }50}شاهد كيف نقارن بـ Chainlink
ثلاثة أوضاع للأتمتة — Standard و Hybrid VRF و Full VRF — كلها في بروتوكول واحد. بدون اشتراكات منفصلة. أرخص من Chainlink في كل مستوى.