# Celestia Light & Full Node on the Mocha Testnet

By [Moei](https://paragraph.com/@0xmoei-2) · 2023-01-08

---

### آموزش قدم به قدم راه‌اندازی نودهای لایت + فول شبکه سلستیا روی تست نت مچا

### Resources:

*   [Docs](https://docs.celestia.org/)
    
*   [Explorer](https://celestia.explorers.guru/)
    
*   [Twitter](https://twitter.com/CelestiaOrg)
    
*   [Discord](https://discord.gg/bunHQAsnFF)
    

سلستیا یک شبکه با طراحی ماژولاره و برخلاف اتریوم که یک بلاکچین یکپارچه است، در شبکه ماژولار اجزای بلاکچین و نودها هرکدوم جداگانه وظایفی رو به عهده دارند

**شبکه سلستیا از 2 لایه تشکیل شده که هرکدوم دارای نودهای متفاوتیه:**

*   Consensus Nodes
    
    1.  1.Validator Nodes
        
    2.  2.Consensus Full Nodes
        
*   Data Availability Nodes
    
    1.  1.Bridge Nodes
        
    2.  2.Full Storage Nodes
        
    3.  3.Light Nodes
        

از اونجایی که درحال حاضر تعداد زیادی نود ولیدیتور روی شبکه تست‌نت وجود داره و فقط 150 نفر با بیشترین تعداد توکن به عنوان ولیدیتور “فعال” انتخاب میشن، پیشنهاد تیم برای شرکت در تست‌نت راه‌اندازی یک یا هر دو نودهای "**لایت**" و "**فول**" است

**آموزش و دستورات کدنویسی در محیط سیستم عامل لینوکس اوبونتو انجام میشه و برای اطلاعات بیشتر برای نحوه ایجاد محیط اوبونتو میتونید این** [**توییت**](https://twitter.com/0xMoei/status/1601976588307877889) **رو مطالعه کنید**

در این آموزش ابتدا **“لایت نود”** رو راه میندازیم و بعدش **“فول نود”** رو در کنارش راه اندازی میکنیم

راه اندازی لایت نود
-------------------

نود **لایت** باتوجه به اینکه سبکه میتونید روی کامپیوتر هم راه اندازیش کنید و حتما نیازی به سرور مجازی ندارید. من برای اینکه همیشه نودم فعال باشه روی یک سرور مجازی اوبونتو راه اندازیش کردم

*   **Requirements:**
    
*   PC or VPS, 1 core, 2 GB RAM and Hard SSD 5 GB
    

### سیستم رو آپدیت کنید

    sudo apt update && sudo apt upgrade -y
    

### موارد مورد نیاز رو نصب کنید

    sudo apt install curl tar clang pkg-config libssl-dev jq build-essential git make ncdu -y
    

### زبان go رو نصب کنید

    if ! [ -x "$(command -v go)" ]; then
      ver="1.19.1"
      cd $HOME
      wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
      sudo rm -rf /usr/local/go
      sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
      rm "go$ver.linux-amd64.tar.gz"
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
      source ~/.bash_profile
    fi
    

### بعد از نصب ورژنش رو چک کنید و از نصبش اطمینان حاصل کنید

    go version
    

### نصب سلسیتا

    git clone https://github.com/celestiaorg/celestia-node.git
    cd celestia-node/
    git checkout tags/v0.6.0
    make install
    make cel-key
    

### ورژن رو برای اطمینان از نصب چک کنید

### آماده سازی لایت نود

    celestia light init
    

### ساخت ولت لایت نود

    ./cel-key add mywallet --keyring-backend test --node.type light
    

کلمات بازیابی که بهتون میده رو سیو کنید. برای کپی کردن متن از پوتی از کلید میانبر زیر استفاده کنید

`Ctrl + Shift + C`

### اگر از قبل ولت داشتید برای بازیابی دستور زیر

    ./cel-key add mywallet --keyring-backend test --node.type light --recover
    

### مشاهده لیست ولت های لایت نود موجود در سیستم یا سرور

    ./cel-key list --node.type light --keyring-backend test
    

حالا برای دریافت فاست به [دیسکورد](https://discord.gg/bunHQAsnFF) پروژه جوین شید و در کانال فاست تست نت “مچا” درخواست توکن تستی کنید

### راه اندازی لایت نود توسط SystemD

این دستور مهمترین بخش نود هست که مشکل اکثر کاربرا تو همین قسمته پس با دقت نکات رو بخونید:

ما در این قسمت با یک دستور، یک فایل “سرویس” میسازیم و کانفیگ یا تنظیمات نود رو برای راه اندازیش داخل فایل قرار میدیم

اول کلیت دستور زیر رو ببینید و قبل از اجراش، توضیحات بعدش رو بخونید

    sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-lightd.service
    [Unit]
    Description=celestia-lightd Light Node
    After=network-online.target
    
    [Service]
    User=root
    ExecStart=/usr/local/bin/celestia light start --core.ip https://rpc-mocha.pops.one:9090 --keyring.accname mywallet
    Restart=on-failure
    RestartSec=3
    LimitNOFILE=4096
    
    [Install]
    WantedBy=multi-user.target
    EOF
    

طبق عکس زیر مواردی که شماره گذاری کردم قابل کانفیگ شدن هستند و به ترتیب هرشماره توضیحاتشو مینویسم

![](https://storage.googleapis.com/papyrus_images/c92dd6f4f2d64b8936257f9433adf3f3132ace78b78396f2b465437a7e2c9aec.png)

1- این قسمت آدرس فایلی به اسم سلستیا هست در سیستمتون که باید در دستور بالا جاگذاری بشه بعضا ممکنه فایل سلستیاتون در آدرسی که من قرار دادم نباشه؛ پس با دستور زیر، آدرس فایل سلستیا رو میتونید پیدا کنید و اگر با دستور بالا متفاوت بود جایگزینش کنید

`which celestia`

2- نوع نود هست که میتونه لایت باشه یا فول

3- باید یک آر پی سی ولیدیتور رو برای نود لایتمون ست کنیم که بهش وصل شه و اونی که من در دستور بالا انتخاب کردم یک ولیدیتور اصلی شبکه است و میتونید تغییرش ندید اکثرا به مشکل بر نخوردند با این آر پی سی

4- این یکی اسم ولتی که ساختید رو باید قرار بدید و اگر با دستور من ولتتون رو ساخته یا ریکاور کرده باشید اگر برگردید به همون دستور میبینید که همین اسم یعنی “مای ولت” رو براش انتخاب کردیم و میتونید تغییرش ندید

### استارت لایت نود توسط SystemD

    systemctl daemon-reload
    systemctl enable celestia-lightd
    systemctl start celestia-lightd
    

مدیریت سرویس لایت نود
---------------------

### چک کردن لاگ لایت نود

    journalctl -u celestia-lightd.service -f
    

کمی صبر کنید تا نود سینک شه و بعد اگر خطوط با عبارات زیر گرفتید یعنی نود فعاله

Info / sampled / header / new header

خروج از لاگ Ctrl + C

### چک کردن وضعیت لایت نود

    systemctl status celestia-lightd
    

### ریستارت لایت نود

    systemctl restart celestia-lightd
    

### پاک کردن لایت نود

    sudo systemctl stop celestia-lightd
    sudo systemctl disable celestia-lightd
    sudo rm /etc/systemd/system/celestia* -rf
    sudo rm $HOME/.celestia* -rf
    sudo rm $HOME/celestia* -rf
    

مشاهده یا ویرایش پورت لایت نود
------------------------------

به هر نود باید یک پورت اختصاص داده بشه

با دستور زیر منوی ویرایش فایل “کانفیگ” لایت نود رو باز کنید و پورت طبق تصویر رو مشاهده یا بر حسب نیاز ویرایش کنید

    nano /root/.celestia-light-mocha/config.toml
    

![](https://storage.googleapis.com/papyrus_images/46f764c4c1ef43822a51a06562a9aa23723bead8253d2fba6cc19e5b280b961f.png)

برای خروج از منوی ویرایش:

`Ctrl + X`

`Y`

`Enter`

### باز کردن پورت های مورد نیاز

پورتی که توی فایل کانفیگ ست شده رو با این دستور باز کنید مثلا برای من 26656 بود

    apt install ufw -y 
    ufw allow ssh 
    ufw allow https 
    ufw allow http 
    ufw allow 9090
    ufw allow 26656
    ufw enable
    

البته یک خطش مربوط به باز کردن اون پورته و میتونید برای پورت های بعدی خط دستور رو تکی بزنید

اگر **فول نود** یا نود دیگه ای در کنار **لایت نود** قراره راه اندازی کنید باید حواستون باشه نودها تداخل پورت نداشته باشند. در مورد تداخل این نود با **فول نود** در انتهای آموزش **فول نود** بهش میپردازیم

راه اندازی “فول نود” در کنار لایت نود
-------------------------------------

**فول نود** کمی سنگین تره و اگر سرور مجازی دارید در کنار **لایت نود** راه بندازیدش اما اجباری نیست و میتونید به **لایت نود** هم بسنده کنید

دستورات در ادامه برای نصب **فول نود** **در کنار** **لایت نود** هست

*   **Requirements:**
    
*   VPS, 4 core, 8 GB RAM and Hard SSD 50 Gb
    

### آماده سازی فول نود

    celestia full init
    

### برای ریکاوری ولت لایت نود روی فول نود

    ./cel-key add mywallet --keyring-backend test --node.type full --recover
    

### مشاهده لیست ولت های فول نود موجود در سیستم یا سرور

    ./cel-key list --node.type full --keyring-backend test
    

### راه اندازی فول نود توسط SystemD

    sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-full.service
    [Unit]
    Description=celestia-full Cosmos daemon
    After=network-online.target
    
    [Service]
    User=root
    ExecStart=/usr/local/bin/celestia full start --core.ip https://rpc-mocha.pops.one:9090 --keyring.accname mywallet
    Restart=on-failure
    RestartSec=3
    LimitNOFILE=4096
    
    [Install]
    WantedBy=multi-user.target
    EOF
    

### استارت فول نود توسط SystemD

    systemctl enable celestia-full
    systemctl start celestia-full
    

مدیریت سرویس فول نود
--------------------

### چک کردن لاگ فول نود

    journalctl -u celestia-full.service -f
    

### چک کردن وضعیت فول نود

    systemctl status celestia-full
    

### ریستارت فول نود

    systemctl restart celestia-full
    

### استاپ فول نود

    sudo systemctl stop celestia-full
    sudo systemctl disable celestia-full
    

مشاهده یا ویرایش پورت فول نود
-----------------------------

    nano /root/.celestia-full-mocha/config.toml
    

برای رفع تداخل 2 نود لایت + فول پورت هاشون نباید تداخل داشته باشه که طبق دستور ویرایش پورت اونارو میتونید اونارو تغییر بدید (مثلا به اضافه یا منهای 1 کنید)

### باز کردن پورت مورد نظر برای مثال

**حالا هر 2 نود رو بعد ازینکه تداخل پورت ها رو رفع کردید می تونید ریستارت کنید**

    systemctl daemon-reload
    systemctl enable celestia-lightd
    systemctl restart celestia-lightd
    systemctl enable celestia-full
    systemctl restart celestia-full
    

\*

تبریک میگم شما هر 2 نود لایت + فول رو رو تست نت مچا شبکه سلستیا راه اندازی کردید\*

---

*Originally published on [Moei](https://paragraph.com/@0xmoei-2/celestia-light-full-node-on-the-mocha-testnet)*
