Beerus هو عميل Starknet Light مستوحى من Helios ويستخدمه.
وفي بداية عام 2024، استحوذت شركة Eiger على ملكية مستودع Beerus وقيادة المشروع. تم إنشاء Beerus بواسطة فريق Starkware Exploration ونحن ممتنون لثقتهم والعمل الممتاز الذي قاموا به.
أحد أهدافنا هو دمج Beerus في المحافظ المستندة إلى الويب، مما يتيح للمستخدمين التبديل بسلاسة إلى وضع العميل الخفيف. يعد هذا الانتقال أمرًا بالغ الأهمية بالنسبة لأولئك الذين يفضلون عدم الاعتماد على موفري RPC غير الموثوق بهم، وهي خطوة حاسمة للتشغيل غير الموثوق به.
نقوم بنشر تحديثات التطوير على قناة Telegram
انسخ ملف التكوين من etc/conf/beerus.toml
وقم بإعداد عناوين URL لموفر RPC في النسخة. تأكد من أن مقدمي الخدمة متوافقون. اقرأ المزيد عن مقدمي الخدمة هنا
ثم قم بتشغيل:
cargo run --release -- -c ./path/to/config.toml
بمجرد أن يبدأ Beerus في التحقق من أنه قيد التشغيل، جرب هذا الطلب:
curl -H 'Content-type: application/json' -d'{
"jsonrpc": "2.0",
"method": "starknet_getStateRoot",
"params": [],
"id": 1
}' http://127.0.0.1:3030
يجب أن تبدو النتيجة الناجحة مشابهة للنتيجة أدناه:
{"jsonrpc":"2.0","result":"0x539895aff28be4958188c1d4e8e68ee6772bdd49dd9362a4fbb189e61c54ff1","id":1}
مجال | مثال | وصف |
---|---|---|
ethereum_rpc | https://eth-mainnet.g.alchemy.com/v2/{YOUR_API_KEY} | عنوان URL لموفر عقدة L1 غير الموثوق به |
starknet_rpc | https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY} | عنوان URL لموفر عقدة L2 غير الموثوق به |
data_dir | com.tmp | موقع OPTIONAL لتخزين بيانات L1 وL2 |
poll_secs | 5 | ثواني OPTIONAL للانتظار للاستعلام عن حالة sn، الحد الأدنى = 1 والحد الأقصى = 3600 |
rpc_addr | 127.0.0.1:3030 | عنوان محلي OPTIONAL للاستماع إلى طلبات RPC |
عند تحديد شبكة، تأكد من أن عناوين url ethereum_rpc
و starknet_rpc
تشير أيضًا إلى الشبكات المقابلة لها. على سبيل المثال:
الشبكة الرئيسية
ethereum_rpc = "https://eth-mainnet.g.alchemy.com/v2/{YOUR_API_KEY}"
starknet_rpc = "https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY}"
سيبوليا
ethereum_rpc = "https://eth-sepolia.g.alchemy.com/v2/{YOUR_API_KEY}"
starknet_rpc = "https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY}"
يعتمد Beerus على نقطتي نهاية RPC غير موثوقتين، واحدة لـ L1 (Ethereum)، وواحدة لـ L2 (Starknet). نظرًا لأن هذه غير موثوقة، فلن تكون عادةً عقدًا يتم تشغيلها على مضيفك المحلي أو شبكتك المحلية.
يتوقع Beerus تقديم الإصدار 0.7.1 من مواصفات Starknet OpenRPC.
يجب أن يدعم موفر Starknet RPC أيضًا نقطة نهاية API الخاصة بامتداد Pathfinder pathfinder_getProof
.
يمكنك التحقق مما إذا كان الموفر متوافقًا عن طريق تشغيل هذا الأمر:
# This is an example RPC url. Use your RPC provider url to check if the node is compatible.
STARKNET_RPC_URL= " https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY} "
curl --request POST
--url $STARKNET_RPC_URL
--header ' content-type: application/json '
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "pathfinder_getProof",
"params": [
{
"block_number": 56072
},
"0x07cb0dca5767f238b056665d2f8350e83a2dee7eac8ec65e66bbc790a4fece8a",
[
"0x01d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
]
]
}
'
إذا حصلت على استجابة مشابهة للرد أدناه، فهذا يعني أن الموفر غير متوافق .
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32601,
"message": "method 'pathfinder_getProof' not found"
}
}
نوصي باستخدام أحد مقدمي الخدمة هؤلاء:
يمكن العثور على المزيد من موفري واجهة برمجة التطبيقات هنا.
بالنسبة لموفر Ethereum RPC، لا توجد متطلبات خاصة. يجب أن يدعم الموفر مواصفات Ethereum JSON-RPC
ملاحظة: نحن نعتمد على Helios لكل من قيم نقاط التفتيش الصالحة وعناوين URL المتفق عليها لـ RPC
cargo build --release
cargo test
# # Run integration tests against live endpoint
export STARKNET_MAINNET_URL=https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/ ${ALCHEMY_API_KEY}
export STARKNET_SEPOLIA_URL=https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/ ${ALCHEMY_API_KEY}
BEERUS_TEST_RUN=1 cargo test
docker build . -t beerus
docker run -e ETHEREUM_RPC= < arg > -e STARKNET_RPC= < arg > -it beerus
ALCHEMY_API_KEY= ' YOURAPIKEY ' cargo run --release --example call
ALCHEMY_API_KEY= ' YOURAPIKEY ' cargo run --release --example state
يتبع Beerus الممارسات الأمنية الجيدة، ولكن لا يمكن ضمان الأمان بنسبة 100%. يتم توفير Beerus "كما هو" دون أي ضمان . استخدم على مسؤوليتك الخاصة.