JOC से नोड कनेक्शन
यह दस्तावेज़ उपयोगकर्ता वातावरण में Geth नोड को स्थापित करके Japan Open Chain के मुख्य नेटवर्क और परीक्षण नेटवर्क से कनेक्ट करने की प्रक्रिया को वर्णित करता है। यदि आप RPC Endpoints का उपयोग करके dApps से कनेक्ट करना चाहते हैं, तो कृपया यहां देखें।
- मुख्य नेटवर्क
- परीक्षण नेटवर्क
JOC मुख्य नेटवर्क से नोड जोड़ने की प्रक्रिया
जुड़ने की प्रक्रिया निम्नलिखित है:
1. Geth इंस्टॉल करना
कनेक्शन स्रोत PC में Geth इंस्टॉल करें। (Geth ver1.13.5 तक की जांच की गई है)
https://geth.ethereum.org/docs/getting-started/installing-geth
2. प्रारंभिक सेटिंग
मनचाहे डायरेक्ट्री में डेटा डायरेक्ट्री बनाएं। यहां इसे "data" कहा जाएगा।
$ mkdir data
बने हुए डेटा डायरेक्ट्री के भीतर ब्लॉक सूचना का वर्णन करने वाला "genesis.json" बनाएं।
$ sudo vi data/genesis.json
genesis.json की सामग्री अलग फाइल में दी गई है।
3. Geth का आरंभिकरण
Geth को आरंभित करें। बनाए गए genesis.json का निर्धारण करते हुए निम्नलिखित कमांड चलाएं।
$ geth init --datadir data data/genesis.json
4. समन्वयन
गंतव्य नोड से समन्वयित करें। यदि आप node-1 से जुड़ रहे हैं, तो निम्नलिखित कमांड चलाएं।
$ geth --datadir data --networkid=81 --bootnodes="enode://c387e2b4e5231022ef30144c41fbd883139e9b5f1f4649c3d51c1611adbfaeadfd050c1bd9ac02eec6fa4c234b49a77fb5fb54f739c06d431eabfd981edc51f2@13.56.117.179:30303" --http --http.api="clique,personal,eth,net,web3,miner,admin" --http.corsdomain="*" --http.addr="0.0.0.0" --http.port=8546 --snapshot=false --syncmode="full"
मुख्य नेटवर्क के पैरामीटर निम्नलिखित हैं:
| नोड | नेटवर्क आईडी | enode |
|---|---|---|
| bootnode-1 | 81 | enode://c387e2b4e5231022ef30144c41fbd883139e9b5f1f4649c3d51c1611adbfaeadfd050c1bd9ac02eec6fa4c234b49a77fb5fb54f739c06d431eabfd981edc51f2@13.56.117.179:30303 |
| bootnode-2 | 81 | enode://db803c26db9dac21e58452646a785b94a466eebffd6038621f78de92ccc6141fcb297650c290487375ab32a6dbc693d5dab49dba9785450002c68944ab0435a2@54.241.98.152:30303 |
5. पुष्टि
जैसा कि नीचे दिखाया गया है, समन्वय का स्थिति सत्यापित किया जा सकता है। यदि "Looking for peers" का संदेश चलता रहता है, तो इसका अर्थ है कि कनेक्शन सही ढंग से नहीं हो रहा है, आपके समन्वियन कमांड या नेटवर्क वातावरण को जांचें।

JOC परीक्षण नेटवर्क से नोड जोड़ने की प्रक्रिया
जुड़ने की प्रक्रिया निम्नलिखित है:
- 1. आवश्यक पैकेज इंस्टॉल करना
- 2. डेटा डायरेक्ट्री बनाना
- 3. कॉन्फ़िगरेशन फाइलें डाउनलोड करना
- 4. क्लाइंट इंस्टॉल करना
- 5. JWT Secret बनाना
- 6. Geth का आरंभिकरण
- 7. Geth चलाना
- 8. Lighthouse चलाना
- 9. पुष्टि
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. कॉन्फ़िगरेशन फाइलें डाउनलोड करना
नीचे दी गई फाइलें डाउनलोड करें और उन्हें सही स्थानों पर कॉपी करें:
| फाइल | लिंक |
|---|---|
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 (एक्ज़ीक्यूशन क्लाइंट):
https://geth.ethereum.org/docs/getting-started/installing-geth
Lighthouse (कंसेंसस क्लाइंट):
https://lighthouse-book.sigmaprime.io/installation.html
5. JWT Secret बनाना
JWT Secret, 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=361257328 \
--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 मानों और अपनी फ़ायरवॉल सेटिंग्स की जांच करें (Geth के लिए पोर्ट 30303 TCP+UDP, Lighthouse के लिए पोर्ट 9000 TCP+UDP)।