SPKCC Node setup မှတ်စု

in HIVE-MYANMAR2 years ago (edited)

အားလုံးမင်္ဂလာပါ။

ဒီပိုစ့်မှာတော့ ကျွန်တော် setup လုပ်ဖြစ်ခဲ့ပုံ အဆင့်ဆင့်ကို မှတ်တမ်းတင်ထားတာပါ။ စိတ်ဝင်စားသူတွေအနေနဲ့ ဒီ project အတွက် မဟုတ်ရင်တောင် နောင်လာမယ့် project

ဟိုတစ်ရက်က LARYNX tokens လေးတွေ lock (stake) လုပ်ကြည့်တာ ရတာကို တွေ့ရပါတယ်။ နောက်တစ်ခု သိလိုက်ရတာက ဒီ LARYNX တိုကင် ကို lock လုပ်မှ ကိုယ့်ရဲ့ SPKCC node လေးက run တယ်ဆိုတာပါပဲ။ Test net မှာ LARYNX တိုကင်ကို claim တာဖြစ်ဖြစ် lock တာပဲဖြစ်ဖြစ် လုပ်ပြီးရင် စက္ကန့် ၆၂ လောက်စောင့်ရပါတယ်။ အောက်ပုံ ညာဘက်ဒေါင့်က countdown ပြည့်အောင် စောင့်ရတာပါ။ ပုံထဲမှာဆိုရင် ကျွန်တော့် LARYNX တိုကင်ကို claim ပြီး lock ထားတာပါ။ အဲလို lock လိုက်မှ (နောက်တစ်ပုံမှာ) ကိုယ့်ရဲ့ node က စ runမှာပါ။ အဲလို lock လုပ်ပြီး run မှပဲ သူရေးပြထားတဲ့ DEX rewards ကို ရမယ် ထင်ပါတယ်(ပထမပုံကို ကြည့်ပါ)။ node မ run ထားရင်တော့ LARYNX ကို lock လို့မရဘူးလို့ဆိုပါတယ်။

count_down_1.jpg

runner_yes_edited.jpg

SPKCC node လေး setup လုပ်တဲ့ အခါလိုအပ်ချက်

  1. ကွန်ပျူတာတစ်လုံး
  2. Linux commands အခြေခံလေး အသုံးပြုတတ်ခြင်း၊ Linux server နှင့် ချိတ်ဆက်တတ်ခြင်း၊ troubleshooting လုပ်တတ်ခြင်း
  3. အနဲဆုံး HP 100 ရှိတဲ့ Hive အကောင့်တစ်ခု

လိုအပ်တဲ့ software

အများစုက Windows OS ပဲသုံးကြတာမို့ Windows OS နဲ့ သုံးတာကိုပဲ ဖော်ပြသွားပါမယ်။

  1. Putty
    Web server ထဲကို ကိုယ့်ကွန်ပျူတာကနေ ဝင်ဖို့ သုံးမယ့် software ပါ။ အောက်ပါ လင့်ကနေ ရယူနိုငပါတယ်။
    (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html မှာ .msi နဲ့ ဆုံးတဲ့ window installer ကို ရယူပြီး install လုပ်ပါ။)

လုပ်ဆောင်ရမယ့် အဆင့်များ

  1. ပထမဆုံး https://hivetasks.com ကနေ Hive Key တစ်စုံရယူပါ။ account name မှာ နာမည်တစ်ခုရိုက်ထည့်ပြီး "Generate" ကိုနိုပ်ရပါမယ်။ အောက်ပုံထဲက highlight လုပ်ထားတဲ့ active keys နှစ်ခုကို တစ်နေရာမှာ ကူးယူမှတ်ထားပါ။
    hivetasks_.jpg

  2. နောက်တစ်ဆင့် အနေနဲ့ https://privex.io/ မှာ hosting plan တစ်ခုဝယ်ရမှာပါ။ Web page ကို သွားပြီး Get started -> Terms and Conditions တွေကို accept လုပ်ပြီး နောက်တစ်ဆင့်မှာ "Virtual Servers" ကို ရွေးရမှာပါ။ Germany နဲ့ Finland ကလွဲလို့ တခြား ‌နိုင်ငံတွေရွေးလို့ရပါတယ်။ US နဲ့ Sweden ရွေးချယ်နိုင်တယ်လို ဆိုပါတယ်။ အဲဒီမှာ Sweden VPS (SSD or NVMe) ကို ရွေးရတာပါ။

တခြား web hosting ဆိုက်တွေဖြစ်တဲ့ digital ocean လို တခြား ဆာဗာတွေကို လဲ ရွေးနိုင်ပါတယ်။ https://privex.io/ မှာကတော့ Hive နဲ့ ပေးလို့ အဆင်ပြေလို့ ရွေးချယ် ဖြစ်ခဲ့တာပါ။ အခု ရွေးချယ်တဲ့ plan ကတော့

  • 1G RAM (memory),
  • 25G SSD (Hard drive),
  • 2 cores (processor),
  • 100mbps (bandwidth)

ပါရှိတာမို့ node တစ်ခု run ဖို့ လုံလောက်ပါတယ်လို့ ဆိုပါတယ်။

host.jpg

order ကို ရွေးလိုက်ပြီးရင် server order form ဖြည့်ရပါမယ်။ ပြီးရင် အောက်မှာ SSH keys ကို ဖြည့်ဖို့ PuTTYgen app ကိုဖွင့်ပါ။ private နဲ့ public key တွေကို ထုတ်ဖို့ generate ကိုနိုပ်ရပါမယ်။ ပြီးရင် key generate လုပ်ပြီးတဲ့အထိ mouse လေးကို လှုပ်ပေးရပါမယ်။ အဲဒီက ရတဲ့ public key ကို ကူးထည့်ပေးရမှာဖြစ်ပါတယ်။ အောက်ပါ အဆင့်များကို ကြည့်ပါ။

  1. Generate နိုပ်ပြီး key ထွက်သည်အထိ mouse လှုပ်ပေးပါ။
    ssh_1.jpg

  2. public key ကို ဖိုင် နာမည် တစ်ခု ပေးပြီး သိမ်းပါ။ အဲဒီ public key file ထဲက key ကို အပေါ်က server order မှာ ထည့်ရမှာဖြစ်ပါတယ်။ save ထားတဲ့ ဖိုင်ကို notepad နဲ့ဖွင့်ပြီး key ကို ကူးယူရပါမယ်။
    ssh_2.jpg

ssh_3.jpg

ssh_4.jpg

  1. private key ကို လဲ သိမ်းထားရပါမယ်။ passphrase မပါပဲ generate လုပ်မလား မေးရင် "Yes" ကို ရွေးပါ။ နာမည်တစ်ခု ပေးပြီးသိမ်းထားပါ။
    ssh_5.jpg

ssh_6.jpg

နောက်တစ်ဆင့် အနေနဲ့ မိမိရဲ့ email ထဲမှာ server အဆင်သင့်ဖြစ်ကြောင်း အီးမေးပို့လာပါမယ်။ အီးမေးထဲမှာ မိမိ web hosting ip, username, password စတာတွေပါပါမယ်။ ဒါဆိုရင် Putty app ကနေ privex server ကို ချိတ်လို့ရပါပြီ။ အောက်ပါ အဆင့် အတိုင်းဖြည့်ပါ။

  1. Putty app ကိုဖွင့်ပါ။ web hosting ip address ကို ဖြည့်ပါ။ ကိုယ်က မကြာခဏ ချိန်ဆက်နေမှာမို့ နာမည်တစ်ခုနဲ့ သိမ်းထားနိုင်ပါတယ်။ "open" ကို နိုပ်ပါ။

putty.jpg

  1. နောက်တစ်ဆင့်မှာ log in as မှာ မိမိရဲ့ username ဖြစ်တဲ့ ubuntu ဖြည့်ပါ။ password ဖြည့်ပါ။ ပြီးရင် Putty မှာ right click တစ်ချက် နိုပ်ရုံနဲ့ paste လုပ်တာပါ။ (password ကို မြင်ရမှာ မဟုတ်ပါ။) ဝင်လိုက်လျှင် အောက်ပါ စာမျက်နှာသို့ရောက်သွားပါမည်။

putty_2.jpg

  • နောက်တစ်ဆင့် အနေနှင့် Docker-compose သွင်းရပါမည်။ အောက်ပါ command ကို ရိုက်ထည့်ရတာ ဖြစ်ပါတယ်။

sudo apt install docker docker-compose

  • နောက်တစ်ဆင့် Honeycomb repo ဖိုင်ကို အောက်ပါ command နဲ့ ကူးယူပြီး ထို folder ထဲ ဝင်ကာ build လုပ်ရတာပါ။

git clone https://github.com/3speaknetwork/honeycomb-spkcc.git
cd honeycomb-spkcc
sudo docker-compose build

ပြီးလျှင် NGINX and Certbot ကို အောက်ပါအတိုင်းသွင်းပါ။ အရင်ဆုံး Putty terminal နောက်တစ်ခု ဖွင့်ရပါမည်။(Putty terminal နှစ်ခု ဖြစ်သွားပါမည်။) NGINX (engine X) ကတော့ Apache လို open source web hosting server software ဖြစ်ပါတယ်။ သူကတော့ သုံးစွဲတဲ့ သူများတဲ့ (heavy traffic) web page တွေအတွက် သုံးကြပါတယ်။

sudo apt install nginx certbot python3-certbot-nginx

ပြီးလျှင် NGINX DNS အတွက် အောက်ပါဖိုင်ကို ဖွင့်ပြီး မိမိရဲ့ ဆိုဒ် domain name ကို ထည့်ရတာပါ။ server_name _; ဆိုတဲ့ နေရာမှာ ထည့်ရတာပါ။

cd /etc/nginx
cd /sites-available
sudo nano default

  • ကျွန်တော်ကတော့ domain name မဝယ်ထားတော့ ကျွန်တော့် ဆိုဒ် ip address ကို ပဲ ထည့်လိုက်တာပါ။ ထည့်ပြီးလျှင် file ကို သိမ်းဖို့ Ctrl+o ကို နိုပ်ပါ။ ပြီးလျှင်ထွက်ဖို့ Ctrl+x ကို နိုပ်ပါ။

server_name.jpg

  • ပြီးလျှင် NGNIX server ကို reload ပြန်လုပ်ရပါတယ်။ certbot runတဲ့ အချိန်မှာ options တစ်ချို့ကို တော့ရွေးရပါတယ်။ အောက်က ဗီဒီယိုလင့် 31:00-32:00 မှာ ကြည့်နိုင်ပါတယ်။ 31:48 မှာ သူက 2. redirect ရွေးပေမယ့် ကျွန်တော်ကတော့ 1. no redirect ကို ပဲ ရွေးထားပါတယ်။
    https://ecency.com/hive-139531/@disregardfiat/qemwclua

sudo nginx -t
sudo systemctl reload nginx
sudo certbot

  • ပြီးလျှင် env ဖိုင့်သစ်ဖွင့်ဖို့ "/honeycomb-spkcc " folder ထဲကို သွားပြီး အောက်ပါအတိုင်းရိုက်ရပါမယ်။

touch .env
sudo nano .env
အောက်ပါ codes ကို ထည့်ရပါမယ်။

account="hiveaccount" active=5JactivePrivateKey msowner=5KadditionalPrivateKey mspublic=STMpublickey domain=https://api.yourdomain.com

"hiveaccount" နေရာမှာ မိမိရဲ့ Hive account ကို ထည့်ရပါမယ်။ active ကတော့ မိမိ Hive account ရဲ့ active key ပါ။ နောက် msowner နဲ့ mspublic ကတော့ အပေါ်က ကူးခဲ့တဲ့ key နှစ်ခုကို ထည့်ရတာပါ။ အောက်ပုံမှာ ပြန်ကြည့်ပါ။ domain နေရာမှာတော့ မိမိဆိုဒ်ရဲ့ domain name ကို ထည့်ရပါတယ်။ ကျွန်တော်တော့ domain name မရှိလို့ မိမိ ဆိုဒ်ရဲ့ ip address (http://185.130.45.228/)ပဲ ထည့်လိုက်ပါတယ်။

hivetasks_.jpg

ပြီးလျှင် အပေါ်က default file ကို ပြန်ဖွင့်ပြီး အောက်ပါ codes ကို ထည့်ပါ။ ဗီဒီယိုထဲက 35:22 - 36:00 မှာ ကြည့်နိုင်ပါတယ်။

location / { proxy_pass http://127.0.0.1:3001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; }

error ရှိမရှိ အောက်ပါ command နဲ့ စစ်နိုင်ပါတယ်။

sudo nginx -t

error မရှိရင်တော့ Nginx ကို reload လုပ်ပြီး docker ကို build လုပ်ပြီး တစ်ခါထဲ run နိုင်ပါပြီ။

sudo nginx -t
sudo systemctl reload nginx
sudo docker-compose build
sudo docker-compose up

မိမိရဲ့ codes မှာ error မပါဘူးဆိုရင်တော့ မိမိ node ကို username နဲ့ အတူ https://hiveuprss.github.io/spkccmonitor/ မှာ တွေ့ရမှာပါ။

runner_node.jpg

အပေါ်မှာ ကျွန်တော့်ရဲ့ node လေး run နေတာ တွေ့ရမှာပါ။ အဲဒီမှာ runner status ကို "Yes" ဖြစ်အောင် အစောပိုင်းက ပြောခဲ့တဲ့ အတိုင်း မိမိရဲ့ LARYNX တိုကင်ကို lock လုပ်ထားရတာပါ။

software version အသစ်ထွက်လို့ update လုပ်ချင်ရင်တော့ အောက်ပါ codes ကို run ရပါတယ်။

git pull
sudo docker-compose down
sudo docker-compose build
sudo docker-compose up

ကျွန်တော် node setup လုပ်ချိန် node အရေအတွက် သိပ်မများ ပေမယ့် အခု မှာတော့ ၃၆ ခုရှိနေပြီဆိုတောတွေ့ရပါတယ်။ ကိုယ့်ရဲ့ node က concensus ဖြစ်နေလား run နေလားဆိုတာ ကြာကြာတစ်ခါကြည့်ပေးရပါတယ်။ မိမိ node run မ runကိုတော့ မိမိရဲ့ https://hiveblocks.com/ မှာ ၅ မိနစ်တစ်ကြိမ် report တက်မတက် စစ်နိုင်ပါတယ်။ မိမိ node က runner status - "Yes" ဆိုရင်လဲ report မတက်ပါဘူး။

မိမိရဲ့ ပိုစ့်ကို စိတ်ဝင်စားသူများ လေ့လာနိုင်ဖို့ ရည်ရွယ်ပါတယ်။ အားလုံး ကျန်းမာ ချမ်းသာကြပါစေ။

Ref: https://ecency.com/hive-139531/@disregardfiat/qemwclua

@princekham
21st Feb 2022

Sort:  

ရှင်းပြပေးတာ လိုအပ်သူတွေ ယူပါလေ
ကိုယ်တွေက ဖုန်းနဲ့သာ ကလိုင်းခဲ့တာမို့။
!PIZZA

ဟုတ်ကဲ့ အဆင်ပြေစွာ claim နိုင်ခဲ့တာကြားလို့ ဝမ်းသာပါတယ်။ !PIZZA

PIZZA! PIZZA! PIZZA! PIZZA! PIZZA! PIZZA! PIZZA!

PIZZA Holders sent $PIZZA tips in this post's comments:
@sheinthu(2/10) tipped @princekham (x1)
asterkame tipped princekham (x1)
walarhein tipped princekham (x1)
htwegyi tipped princekham (x1)
princekham tipped walarhein (x1)
princekham tipped asterkame (x1)
princekham tipped htwegyi (x1)

Please vote for pizza.witness!

ဘာမှန်းမသိသေးပေမယ့် လိုအပ်ချိန်အတွက် reblog လုပ်ထားလာပါတယ် ကျေးဇူးတင်ပါတယ်ဗျာ

ဟုတ်ကဲ့။ Thank you!

ခုတော့ laptop မရှိလို့ reblog ပဲထားလိုက်တယ်!PIZZA
!LUV

ဟုတ်ကဲ့။ Thank you! !LUV !PIZZA

Reblog လုပ်ထားပါ့မယ်....ဝေမျှပေးလို့ကျေးဇူးတင်ပါတယ်....ဗဟုသုတလည်းရပါတယ်....
!PIZZA
!LUV

ဟုတ်ကဲ့။ သိမှတ်မိသလောက်လေး မျှဝေတာပါ။ကျေးဇူးတင်ပါတယ်။

!LUV !PIZZA

အခုလို စိတ်ရှည်လက်ရှည် ပုံနဲ့ တကွ မျှဝေပေးလို့ ကျေးဇူးတင်ပါတယ်။!LUV

ဟုတ်ကဲ့။ သိမှတ်ထားတာလေး မျှဝေတာပါ။ ကျေးဇူးတင်ပ်တယ်။
!LUV

စိတ်ရှည်စွာနဲ့ တစ်ပုံချင်းကို တစ်ဖက်သားလုပ်ချင်လာစိတ်ကို ဖြစ်အောင် ရှင်းပြပေးတဲ့အတွက် ကျေးဇူးပါအကိုရေ။!LUV !PIZZA !LOL

I have an Elton John joke.
It's a little bit funny.

Credit: reddit
@princekham, I sent you an $LOLZ on behalf of @sheinthu
Use the !LOL or !LOLZ command to share a joke and an $LOLZ. (2/2)

Yay! 🤗
Your content has been boosted with Ecency Points, by @princekham.
Use Ecency daily to boost your growth on platform!

Support Ecency
Vote for new Proposal
Delegate HP and earn more

git pull
sould be
sudo git pull