# About us

MewNode là một nhánh của MewCrypto- Kênh thông tin tổng hợp,phân tích chuyên sâu, chia sẻ các dự án mới tiềm năng, hướng dẫn cài đặt node và làm retroactive.

### Website

<https://mewcrypto.com/>

### Docs&#x20;

<https://docs.mewcrypto.com/>

### Telegram

<https://t.me/mewcryptovn>

### Tw

<https://twitter.com/mewcryptovn>


# Newbie

Các công cụ cần thiết dành cho Newbie trong hành trình đến với Node :)


# VPS cho người bắt đầu

Hướng dẫn nhập môn cho người mới bắt đầu: mua vps (máy chủ ảo hoạt động trên web, đăng nhập và điều khiển vps...)

## Mua VPS

Bạn có thể mua VPS từ một số nhà cung cấp uy tín như Hetzner (đã banned IP Việt Nam) hoặc Contabo (bổ, rẻ)...

Lúc này bạn sẽ nhận về qua email định dạng VPS có dạng 123.456.789.001 kèm user (root) và pass (xxxxxx)

## Hướng dẫn remote VPS bằng phần mềm Mobaxterm

### Cài đặt Mobaxterm

* MobaXterm có hai phiên bản: Phiên bản tải miễn phí và Phiên bản phải trả phí. Đối với người dùng thông thường, phiên bản miễn phí là đủ.
* &#x20;Phiên bản miễn phí cho phép bạn lưu tối đa 10 phiên SSH (có thể hiểu là 10 máy chủ).
* Để tải xuống bản Home Edition miễn phí, tải xuống: <https://mobaxterm.mobatek.net/download-home-edition.html>

### Sử dụng MobaXterm để truy cập VPS

Mở giao diện Mobaxterm và sau đó chọn Session => SSH. Hoặc bạn có thể thao tác nhấn tổ hợp phím Ctrl + Shift + N sẽ mở ra được giao diện như hình.

<figure><img src="https://2279672161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVINdKAld7CjmOhqMzlFb%2Fuploads%2FhS7U3oALlRhLh1RGEvLE%2Fm1.png?alt=media&amp;token=c5242aea-a6a2-4db2-be93-14056bfb3241" alt=""><figcaption></figcaption></figure>

Bước tiếp theo, bạn cần điền thông tin vào ô đăng nhập:

* Remote host: địa chỉ IP
* Specify usernam: tên đăng nhập
* Port: Cổng SSH/Remote (để mặc định)

<figure><img src="https://2279672161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVINdKAld7CjmOhqMzlFb%2Fuploads%2FxrOYUGJdUkgpRTUkfCqK%2Fm2.jpg?alt=media&amp;token=fe0c5e4b-784e-4714-8cd7-29e1ad65bebf" alt=""><figcaption></figcaption></figure>

Sau khi điền thông tin đăng nhập xong, bạn nhấp vào OK, bạn sẽ được đưa đến giao diện để nhập mật khẩu của máy chủ.&#x20;

Lưu ý: rằng khi nhập mật khẩu, các ký tự sẽ không hiển thị dưới dạng dấu \* như các ứng dụng khác. Bạn có thể sao chép mật khẩu vào notepad và sau đó dán lại trên màn hình tương ứng.

<figure><img src="https://2279672161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVINdKAld7CjmOhqMzlFb%2Fuploads%2FCAVqfg2XkVTsnmaZ5C6B%2Fm3.jpg?alt=media&amp;token=4a118586-692c-40ff-9352-6f367a878eba" alt=""><figcaption></figcaption></figure>

Vậy là đã hoàn thành các bước truy cập SSH bằng Mobaxterm!


# Các công cụ cần thiết

Được hiểu nôm na là các ứng dụng cần thiết trong quá trình để cài node. Mỗi dự án sẽ yêu cầu các thành phần khác nhau, dưới đây là các ứng dụng thường gặp

## Dowload & Upgrade Ubuntu

```
sudo apt update && sudo apt upgrade -y
```

## Install Package

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

## Install Golang

```
ver="1.20.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" >> $HOME/.bash_profile
source $HOME/.bash_profile
```

## Install Docker

```
sudo snap install docker
```

## Install Docker compose

```
sudo apt  install docker-compose
```

## Install Nodejs

```
sudo apt install -y nodejs
```

```
sudo apt install -y npm
```

```
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
```

```
sudo npm install -g npm@latest
```


# Dymension

Dymension là một hệ thống mạng lưới blockchain modular được xây dựng dựa trên công nghệ blockchain Layer 1, với Dymension Hub là thành phần trung tâm.


# Install

## Roller installation

```
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
```

## Verify Roller version

```
roller version
```

## Initialize RollApp

```
roller config init --interactive
```

## Address funding

After initializing the RollApp, addresses to fund should be returned to you:

```
🔑 Addresses:

Sequencer <network> | Address used to publish state updates to the Dymension Hub
Relayer   <network> | Address that handles the relaying of IBC packets
DA        <network> | Address used to publish data on-chain to the DA network
```

### Faucet

In Dymension's [discord](https://discord.gg/dymension) please fund the Dymension Hub addresses in the `froopyland-faucet` [channel](https://discord.com/channels/956961633165529098/1143231362468434022) with the following command as an example:

```
$request <dym-address>
$request <dym-address>
$request <celestia-address>
```

### Register

```
roller tx register
```

Should return:

```
💈 Rollapp '<rollapp-id>' has been successfully registered on the hub.
```

## Create SystemD

```
tee $HOME/da-light-client.service > /dev/null <<EOF
[Unit]
Description=da-light-client
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/roller da-light-client start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

tee $HOME/sequencer.service > /dev/null <<EOF
[Unit]
Description=sequencer
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/roller sequencer start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

tee $HOME/relayer.service > /dev/null <<EOF
[Unit]
Description=relayer
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/roller relayer start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
```

```
sudo mv $HOME/da-light-client.service /etc/systemd/system/
sudo mv $HOME/sequencer.service /etc/systemd/system/
sudo mv $HOME/relayer.service /etc/systemd/system/
```

```
sudo systemctl enable da-light-client
sudo systemctl enable sequencer
sudo systemctl enable relayer
```

```
sudo systemctl daemon-reload
```

## Run

```
sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
```

## Check logs

💈Relayer logs

```
tail -f ~/.roller/relayer/relayer.log
```

💈RollApp logs

```
tail -f ~/.roller/rollapp/rollapp.log
```

## IBC transfer

```
roller tx fund-faucet
```

## Transfer IBC Tokens

```
roller relayer status
```

The output:

```
💈 Relayer Channels: src, channel-0 <-> channel-1, dst
```

The source channel, in this case `channel-0`, will be used in the following command and will be referred to as `<src-channel>`.

```
rollapp_evm tx ibc-transfer transfer transfer <src-channel> <destination-address> 5000000000000000000000000<base-denom> --from rollapp_sequencer --keyring-backend test --home ~/.roller/rollapp --broadcast-mode block
```


# Upgrade

## Install the most recent version of Roller

```
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
```

## Stop the Roller services

```
sudo systemctl stop relayer
sudo systemctl stop sequencer
sudo systemctl stop da-light-client
```

## Execute the `migrate` command

```
roller migrate
```

## Restart the Roller services

```
sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
```


# Commands

## EXPORT KEYS

```
roller keys list
```

```
roller keys export hub_sequencer
roller keys export rollapp_sequencer
roller keys export my_celes_key
roller keys export avail
```

## **START SERVICE**

```
sudo systemctl start da-light-client && journalctl -u da-light-client --no-pager -n 10
sudo systemctl start sequencer && journalctl -u sequencer --no-pager -n 10
sudo systemctl start relayer && journalctl -u relayer --no-pager -n 10
```

## **STOP SERVICE**

```
sudo systemctl stop da-light-client && journalctl -u da-light-client --no-pager -n 10
sudo systemctl stop sequencer && journalctl -u sequencer --no-pager -n 10
sudo systemctl stop relayer && journalctl -u relayer --no-pager -n 10
```

## **DISABLE SERVICE**

```
sudo systemctl disable da-light-client
sudo systemctl disable sequencer
sudo systemctl disable relayer
```

## SET DA

```
roller config set da local
roller config set da avail
roller config set da celestia
```

## CHECK LOGS

```
tail -f ~/.roller/relayer/relayer.log
tail -f ~/.roller/rollapp/rollapp.log
```


# PowerLoom

PowerLoom tổng hợp dữ liệu trên chuỗi và ngoài chuỗi để tạo ảnh chụp nhanh với bằng chứng mật mã theo cách phi tập trung.

## Requirements

* Latest version of docker (>= 20.10.21) and docker-compose (>= v2.13.0)
* At least 4 core CPU, 8GB RAM and 50GB SSD
* RPC URL for Ethereum mainnet


# Install

## Install docker & docker compose&#x20;

{% content-ref url="/pages/nQUeejubm2fRkJ4F6CD2" %}
[Các công cụ cần thiết](/newbie/cac-cong-cu-can-thiet)
{% endcontent-ref %}

## Clone the repository against the testnet branch.

```
git clone https://github.com/PowerLoom/deploy.git --single-branch powerloom_testnet_5_pairs --branch testnet_5_pairs && cd powerloom_testnet_5_pairs
```

## Copy `env.example` to `.env`

```
cp env.example .env
```

## Edit the .env file

```
nano .env
```

Ensure the following required variables are filled:

* SOURCE\_RPC\_URL: The URL for Ethereum RPC (Local node/Infura/Alchemy) service.
* SIGNER\_ACCOUNT\_ADDRESS: The address of the signer account. This is your whitelisted address on testnet - please file a ticket if you need a new burner wallet registered.
* SIGNER\_ACCOUNT\_PRIVATE\_KEY: The private key corresponding to the signer account address.

## Create SystemD

```
sudo tee /etc/systemd/system/powerloom.service > /dev/null <<EOF
[Unit]
Description=Powerloom snapshot
After=network-online.target

[Service]
User=$USER
WorkingDirectory=$HOME
ExecStart=$HOME/powerloom_testnet_5_pairs/build.sh
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
```

```
sudo systemctl daemon-reload
sudo systemctl enable powerloom.service
```

## Start service

```
sudo systemctl start powerloom.service && journalctl -u powerloom -f
```

## Stop service

```
sudo systemctl stop powerloom.service && journalctl -u powerloom -f
```

## Check logs

```
docker ps
```

if all the necessary docker containers are up and running. You should see an output against:

```
# docker ps

CONTAINER ID   IMAGE                                  COMMAND                  CREATED       STATUS                 PORTS                                                                                                                                                 NAMES
bfa1abe2b8aa   powerloom-pooler-frontend              "sh -c 'sh snapshott…"   2 hours ago   Up 2 hours (healthy)   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                                                                                             deploy-pooler-frontend-1
852f3445f11c   powerloom-pooler                       "bash -c 'sh init_pr…"   2 hours ago   Up 2 hours (healthy)   0.0.0.0:8002->8002/tcp, :::8002->8002/tcp, 0.0.0.0:8555->8555/tcp, :::8555->8555/tcp                                                                  deploy-pooler-1
ee652fda8513   powerloom-audit-protocol               "bash -c 'sh init_pr…"   2 hours ago   Up 2 hours (healthy)   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9002->9002/tcp, :::9002->9002/tcp                                                                  deploy-audit-protocol-1
5547fb5c1ab4   ipfs/kubo:release                      "/sbin/tini -- /usr/…"   2 hours ago   Up 2 hours (healthy)   4001/tcp, 8080-8081/tcp, 4001/udp, 0.0.0.0:5001->5001/tcp, :::5001->5001/tcp                                                                          deploy-ipfs-1
999de5864a1b   rabbitmq:3-management                  "docker-entrypoint.s…"   2 hours ago   Up 2 hours (healthy)   4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 15671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp   deploy-rabbitmq-1
2c14926d7cfd   redis                                  "docker-entrypoint.s…"   2 hours ago   Up 2 hours (healthy)   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                                                                                             deploy-redis-1
```


# PWR

PWR là lớp cơ sở xác thực các giao dịch, đồng thời cho phép mọi người triển khai máy ảo bên ngoài của họ lên trên. Bất kỳ ngôn ngữ mã hóa, bất kỳ khuôn khổ nào.


# Install

## Update

```
sudo apt update
```

## Install Java

```
apt install openjdk-19-jre-headless
```

## Clone the PWR Validator Node Repository

```
git clone https://github.com/PWR-Labs/PWR-Validator-Node.git
```

## Navigate to the Validator Node Directory

```
cd PWR-Validator-Node
```

### Set Up your Password

```
sudo nano password
```

* Enter your desired password
* Press Ctrl + x to close
* Press Y to confirm saving the password.

### Run the Node

```
java -jar validator.jar password <YOUR_SERVER_IP>
```

Replace `<YOUR_SERVER_IP>` with your server's actual IP.

## Become a Validator Node

* Initially, your node will synchronize with the blockchain but will not assume validator responsibilities until it possesses staked PWR Coins
* To obtain sufficient PWR Coins for staking, apply to become a testnet validator on our Discord server. Once approved, you can use discord bot to claim 100k PWR to stake.
* After claiming your coins, your node will initiate a transaction to enlist as a validator.

## Running in the Background

If you wish to run the node in the background, ensuring it remains active after closing the terminal, utilize the nohup command:

```
nohup java -jar validator.jar password <YOUR_SERVER_IP> &
```


# Avail

Avail là Modular Blockchain tập trung phát triển cơ sở hạ tầng để giải quyết vấn đề Data Availability (tính sẵn có của dữ liệu). Đối thủ cạnh tranh của nó là Celestia


# Run an Avail Validator Goldberg Full Node

## Update and install packages for compiling

```
// 
sudo apt update
sudo apt install make clang pkg-config libssl-dev build-essential
```

## Create directory

```
// Some codemkdir -p ${HOME}/avail-node
mkdir -p ${HOME}/avail-node/data
mkdir -p ${HOME}/avail-node/systemd
```

## Download The Required Files

```
// 
cd avail-node
```

```
wget https://github.com/availproject/avail/releases/download/v1.8.0.0/amd64-ubuntu-2204-data-avail.tar.gz
```

```
tar -xvzf amd64-ubuntu-2204-data-avail.tar.gz
```

```
cp amd64-ubuntu-2204-data-avail data-avail
```

## Create Systemd

```
export USERNAME=$(whoami)
cat > ${HOME}/avail-node/systemd/availd.service  <<EOF

[Unit]
Description=Avail Validator
After=network.target
StartLimitIntervalSec=0

[Service]
User=$USERNAME
Type=simple
Restart=always
RestartSec=120
ExecStart=${HOME}/avail-node/data-avail --base-path ${HOME}/avail-node/data --chain goldberg --port 30333 --validator --name "YOUR_NAME_VALIDATOR"

[Install]
WantedBy=multi-user.target

EOF
```

```
sudo ln -sf ${HOME}/avail-node/systemd/availd.service /etc/systemd/system/
```

```
sudo systemctl daemon-reload
```

```
sudo systemctl enable availd.service
```

### Start Service

```
sudo systemctl start availd.service
```

### Check Service

```
sudo systemctl status availd.service
sudo journalctl -fu availd.service
```


# Namada

Namada là một blockchain tập trung vào quyền riêng tư cho tài sản sử dụng công nghệ chứng minh không có kiến ​​thức. Các tính năng mã hóa của Namada mang lại cho người dùng quyền riêng tư liên chuỗi,


# Installation

## Download binaries

```
// B1

mkdir -p $HOME/.local/bin

# CometBFT dependency
curl -sL https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz | tar -xzf- -T<(echo cometbft) -O > $HOME/.local/bin/cometbft
chmod a+x $HOME/.local/bin/cometbft

# Namada binaries
curl -sL https://github.com/anoma/namada/releases/download/v0.23.2/namada-v0.23.2-Linux-x86_64.tar.gz | tar -C $HOME/.local/bin -xzf- --strip-components=1 --exclude='LICENSE*'

```

## Create SystemD service unit

```
// B2
sudo tee /etc/systemd/system/namada.service > /dev/null << EOF
[Unit]
Description=Namada node
After=network-online.target

[Service]
User=$USER
ExecStart=$HOME/.local/bin/namada node ledger run
Restart=always
RestartSec=10
LimitNOFILE=65535
Environment="CMT_LOG_LEVEL=p2p:none,pex:error"
Environment="NAMADA_CMT_STDOUT=true"
Environment="NAMADA_LOG=info"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.local/bin"

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable namada.service

```

## Initialize the node

```
// B3
export PATH=$HOME/.local/bin:$PATH
namada client utils join-network --chain-id public-testnet-14.5d79b6958580

export CUSTOM_PORT=266
sed -i \
  -e "s|^proxy_app = \"tcp://127.0.0.1:26658\"|proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"|" \
  -e "s|^laddr = \"tcp://127.0.0.1:26657\"|laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"|" \
  -e "s|^laddr = \"tcp://0.0.0.0:26656\"|laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"|" \
  -e "s|^prometheus_listen_addr = \":26660\"|prometheus_listen_addr = \":${CUSTOM_PORT}66\"|" \
  $HOME/.local/share/namada/public-testnet-14.5d79b6958580/config.toml
```

## Start service and check the logs

```
// B4
sudo systemctl start namada.service && sudo journalctl -u namada.service -f --no-hostname -o cat
```


# Upgrade

```
systemctl stop namada.service
curl -sL https://github.com/anoma/namada/releases/download/v0.23.2/namada-v0.23.2-Linux-x86_64.tar.gz | tar -C $HOME/.local/bin -xzf- --strip-components=1 --exclude='LICENSE*'
systemctl start namada.service
```


# Commands

### Implicit accounts <a href="#implicit-accounts" id="implicit-accounts"></a>

**GENERATE A NEW KEY**

```
namada wallet key gen --hd-path default --alias wallet
```

**RECOVER AN EXISTING KEY FROM MNEMONIC**

```
namada wallet key restore --hd-path default --alias wallet
```

**LIST KEYS**

```
namada wallet key list

# list the implicit account address
namada wallet address find --alias wallet
```

### Established accounts <a href="#established-accounts" id="established-accounts"></a>

**INITIALIZE A NEW ACCOUNT**

```
// 
namada client init-account \
  --public-keys wallet \
  --signing-keys wallet \
  --threshold 1 \
  --alias account
```

### Service Management <a href="#service-management" id="service-management"></a>

**ENABLE SERVICE START ON BOOT**

```
// 
sudo systemctl enable namada.service
```

**DISABLE SERVICE START ON BOOT**

```
// 
sudo systemctl disable namada.service
```

**START SERVICE**

```
// 
sudo systemctl start namada.service
```

**STOP SERVICE**

```
// 
sudo systemctl stop namada.service
```

**RESTART SERVICE**

```
// 
sudo systemctl restart namada.service
```

**CHECK SERVICE STATUS**

```
// 
sudo systemctl status namada.service
```

**CHECK SERVICE LOGS**

```
//
sudo journalctl -u namada.service -f --no-hostname -o cat
```


