انتقل إلى المحتوى الرئيسي

الاتصال بالعقدة لـ JOC

تُقدم هذه الوثيقة خطوات إعداد عقدة Geth في بيئة المستخدم والاتصال بشبكة Japan Open Chain الرئيسية وتست نيت. إذا كنت ترغب في استخدام نقاط نهاية RPC وربط dApps، يُرجى الرجوع إلى هنا.

الاتصال بعقدة JOC Mainnet​

الإجراءات المطلوبة للاتصال موضحة في الخطوات التالية.

1. تثبيت الحزم المطلوبة​

# Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y curl openssl

# Amazon Linux 2023 / RHEL-based
sudo dnf install -y curl openssl

2. إنشاء أدلة البيانات​

sudo mkdir -p /data/ethereum
sudo mkdir -p /data/ethereum/consensus/config

3. تنزيل ملفات الإعداد​

قم بتنزيل الملفات التالية ثم انسخها إلى المواقع الصحيحة.

FileLink
genesis.jsonعرض
config.yamlعرض
genesis.sszتنزيل
deposit_contract.txtعرض
deposit_contract_block.txtعرض
# genesis.json -> /data/ethereum/genesis.json
# config.yaml -> /data/ethereum/consensus/config/config.yaml
# genesis.ssz -> /data/ethereum/consensus/config/genesis.ssz
# deposit_contract_block.txt -> /data/ethereum/consensus/config/deposit_contract_block.txt

4. تثبيت العميل​

Geth (عميل التنفيذ، تم التحقق منه مع الإصدار v1.13.5):

https://geth.ethereum.org/docs/getting-started/installing-geth

حذر

في الوقت الحالي، لا يتم دعم Geth الإصدار v1.14.0 أو أحدث.

Lighthouse (عميل الإجماع، تم التحقق منه مع الإصدار v7.0.1):

https://lighthouse-book.sigmaprime.io/installation.html

5. إنشاء سر JWT​

يُستخدم سر JWT للتحقق من الاتصال الداخلي بين Geth و Lighthouse. قم بإنشائه مرة واحدة فقط.

openssl rand -hex 32 | tr -d "\n" > /data/ethereum/jwtsecret
chmod 644 /data/ethereum/jwtsecret

6. تهيئة Geth​

geth init \
--datadir=/data/ethereum \
/data/ethereum/genesis.json

قم بتنفيذ هذا الأمر مرة واحدة فقط.

7. تشغيل Geth​

يتم جلب قائمة BootNodes الحالية من enodes.yaml.

geth --datadir=/data/ethereum \
--networkid=81 \
--http \
--authrpc.vhosts="*" \
--authrpc.addr=127.0.0.1 \
--authrpc.jwtsecret=/data/ethereum/jwtsecret \
--bootnodes="$BOOTNODES"

8. تشغيل Lighthouse​

يتم جلب قائمة Boot ENR الحالية من bootstrap_nodes.yaml.

lighthouse beacon_node \
--datadir=/data/ethereum/consensus \
--http \
--execution-endpoint=http://127.0.0.1:8551 \
--execution-jwt=/data/ethereum/jwtsecret \
--testnet-dir=/data/ethereum/consensus/config \
--boot-nodes="$BOOT_ENRS"

9. التأكيد​

تحقق من حالة المزامنة لـ Geth:

curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
# false → fully synced
# object → syncing, shows currentBlock / highestBlock

تحقق من حالة المزامنة لـ Lighthouse:

curl -s http://localhost:5052/eth/v1/node/peer_count

إذا استمرت رسالة "Looking for peers"، فهذا يعني أن الاتصال لم ينجح. تحقق من قيم bootnode/ENR ومن إعدادات جدار الحماية لديك (المنفذ 30303 TCP+UDP لـ Geth، والمنفذ 9000 TCP+UDP لـ Lighthouse).

المستكشف​