NEAR validator 노드를 실행하는 방법

10 min read
To Share and +4 nLEARNs

소개

이제 NEAR에서 검증자를 실행하는 방법을 배우는 것이 좋은 시기입니다!

We care a lot about decentralization @NEARProtocol . In the most recent release (2.2.1), the stake threshold of becoming a validator is lowered to ~11k NEAR, less than half of what it used to be. If you are a validator, it is a good time to join!
We care a lot about decentralization @NEARProtocol . In the most recent release (2.2.1), the stake threshold of becoming a validator is lowered to ~11k NEAR, less than half of what it used to be. If you are a validator, it is a good time to join!

 what do you think of a program to bring way more validators on board? Get NEAR to 1k in the next few months? what do you think of a program to bring way more validators on board? Get NEAR to 1k in the next few months?[/caption>

그래서, 이 가이드에서 NEAR 메인넷에서 검증자를 실행하는 방법을 안내하겠습니다. 이 쉬운 단계별 가이드를 통해 NEAR 네트워크에 빠르게 참여하고 검증하며, 분산화와 내구성에 기여하고, 그 과정에서 검증자 보상을 받을 수 있습니다!

NEAR 커뮤니티 구성원으로서, 저는 Stake Wars 3 (2022)부터 2년 넘게 NEAR 노드를 운영해왔습니다. 이 가이드에서는 이 모든 경험을 기반으로 자신의 NEAR 풀 노드를 설정할 수 있는 상세한 단계별 튜토리얼을 제공하겠습니다!

1000명의 활성 검증자에 도달하기 위해 모든 것을 배운 내용을 공유하고, NEAR에서 자신의 검증자 노드를 설정하는 과정을 안내하는 명확하고 자세한 지침을 제공할 때가 왔습니다!

Pasted image 20240929183609.png

왜 NEAR 노드를 실행해야 하는가?

NEAR는 web3 공간에서 활동이 많은 블록체인이지만, 노드를 실행하는 데 필요한 최소 요구 사항은 비교적 가벼우며, 운영 비용이 저렴하며, 다른 네트워크에 비해 유지 관리가 훨씬 쉽습니다.

활동별 최고의 블록체인, 출처: Artemis.
Pasted image 20240929191613.png

그리고 인기 있는 체인에서 노드를 실행하는 데 필요한 최소 하드웨어 요구 사항입니다 (활동별 네트워크)
Pasted image 20240929194217.png

기본적으로 NEAR 노드의 요구 사항은 거의 어디에서나 찾을 수 있는 소비자용 노트북과 비슷합니다 (내 의견으로는 게이밍 노트북에서 실행하는 것이 좋습니다 😆).NEAR의 멋진 점은 메인프레임(> 512GB 램, 300TB 디스크 공간)이 필요하지 않고 전체 데이터베이스 센터를 설정할 필요도 없이 실행할 수 있으며, 다른 체인과는 달리 재단 보증 기반 비용 없이도 수익을 올릴 수 있다는 것입니다!

물론, 노드의 경우 강력한 기계일수록 성능이 더 좋습니다!
저는 개인적으로 32GB 램과 2TB NVME SSD, 12 CPU 코어를 갖춘 기계에서 노드를 실행하고 있으며, 이는 약 70달러/월 정도 듭니다.

다른 이유는 RPC 성능 및/또는 가용성에 크게 의존하는 응용 프로그램을 실행해야 할 때, 로컬(독립적이고 격리된) 노드(가끔 “로컬넷”이라고도 함)에서 계약을 개발하고 배포하거나 체인 분석, 블록 익스플로러 등에 사용할 수 있는 블록체인 데이터를 빠르게 추출해야 할 때입니다…

이것이 NEAR 노드를 실행하는 데 투자적인 이유이므로 지금 시작합시다!

설치

요구 사항

  • Linux 배포판은 어떤 것이든 사용할 수 있지만, 이 가이드에서는 우분투를 사용할 것이며, 우분투 버전 요구 사항은 20.04 이상이며, 제가 사용 중인 것은 22.04입니다.
  • 최소 하드웨어 요구 사항:
    • 8GB 램(권장 16GB 이상)
    • ~1TB NVME SSD(권장 1.5TB 이상)
    • 8 코어 CPU, CPU 기능: CMPXCHG16B, POPCNT, SSE4.1, SSE4.2, AVX, SHA-NI
    • 1GB 네트워크 연결.

설정

NEAR 메인넷 설정

노드를 실행하기 위해 NEAR 주소가 필요하며, 이 주소는 활성화된 검증자로 실행하여 네트워크 보상을 받게 됩니다.

  • 여기에서 무료로 NEAR 주소를 만들 수 있습니다: https://wallet.meteorwallet.app 이 가이드에서는 lncvalidator.near를 만들었습니다.
    Pasted image 20240929145626.png
  • 주소에 약 31 NEAR를 입금하세요. 30 NEAR는 스테이킹 풀을 만드는 데 필요하며 저장을 위해 잠길 것이며, 더 이상 노드를 실행하지 않는다면 나중에 이 NEAR를 회수할 수 있습니다.
  • 계정을 https://app.mynearwallet.com/에 가져오세요.

라이브러리 및 Nearcore 설치

이제 재미있는 부분입니다. NEAR 노드를 설정해 봅시다. 서버에 로그인하고 다음 명령을 실행하여 OS를 업데이트하고 도구 및 라이브러리(near-cli, node, Python, Git, docker…)를 설치하세요.

참고: 이 가이드의 모든 명령은 root 사용자로 실행해야 합니다!

sudo apt update && sudo apt upgrade -y && sudo apt install -y git binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev cmake gcc g++ python3 docker.io protobuf-compiler libssl-dev pkg-config clang llvm awscli tmux jq ccze nodejs npm
sudo npm install -g n && n stable && npm install -g near-cli

Rust 설치

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
rustup -V

설치 중에 물어보면 그냥 Yes를 누르고 모든 것을 기본값으로 설정하십시오!

nearcore 레포를 복제하고 메인넷을 위해 최신 안정 브랜치를 선택하고 소스에서 nearcore를 빌드하십시오

cd ~ && git clone https://github.com/near/nearcore && cd nearcore/ && git checkout <VERSION>
make release
echo 'export NEAR_ENV=mainnet' >> ~/.bashrc
source ~/.bashrc

VERSION에 대해 최신 mainnet 릴리스 버전을 여기에서 확인하십시오: https://github.com/near/nearcore/releases, 예를 들어, 현재 버전이 2.2.1인 경우 checkout 명령은 git checkout 2.2.1이 됩니다.

이 빌드 프로세스 (make release)는 약 15분 정도 소요되며, 다음 명령어로 넘어가기 전에 기다려야 합니다.

지갑 인증

near login

참고: 이 명령은 전체 액세스 키의 인증을 로컬로 복사할 수 있도록 웹 브라우저를 실행합니다.

1 – 브라우저에서 링크를 복사합니다
Pasted image 20240929151011.png

2 – Near CLI에 액세스 권한 부여
Pasted image 20240929151200.png

3 – 부여 후, 다음과 같은 페이지가 표시되면 콘솔로 돌아갑니다
Pasted image 20240929151455.png
4 – 지갑을 입력하고 Enter를 누릅니다
Pasted image 20240929151526.png

노드 초기화 및 시작

정의:

  • <pool_id> 또는 pool_id – 풀 이름, 예: lncvalidator
  • <full_pool_id> 또는 full_pool_id – xxx.poolv1.near, 여기서 xxx는 pool_id입니다
  • <accountId> 또는 accountId – xxx.near, 여기서 xxx는 계정 이름입니다, 예: lncvalidator.near
cd ~/nearcore && target/release/neard init --chain-id="mainnet" --account-id=<full_pool_id>

full_pool_id를 설정하십시오, 예: xxx.poolv1.near, 여기서 xxx는 pool_id이며 예를 들어 lncvalidator.poolv1.near입니다

Pasted image 20240929155006.png 최신 genesis 및 config를 다운로드하고, config가 이미 있는 경우 삭제하고 새로 다운로드하십시오:

cd ~/.near && rm genesis.json && rm config.json
wget -c https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/mainnet/genesis.json
cd ~/nearcore && target/release/neard init --chain-id="mainnet" --download-config

키를 생성하고 생성된 파일을 mainnet 폴더로 복사하십시오, 반드시 <full_pool_id>를 교체하십시오 (이 경우 lncvalidator.poolv1.near)

near generate-key <full_pool_id>
cp ~/.near-credentials/mainnet/<full_pool_id>.json ~/.near/validator_key.json
nano ~/.near/validator_key.json
  • “account_id”를 full_pool_id로 변경하십시오. 이 경우 lncvalidator.poolv1.near
  • “private_key”를 “secret_key”로 변경하십시오

참고: account_id는 스테이킹 풀 계약 이름과 일치해야 합니다. 그렇지 않으면 블록에 서명할 수 없습니다.
파일 내용은 다음과 같아야 합니다
Pasted image 20240929160750.png

참고: 노드의 디스크 공간이 1TB 미만인 경우, “epoch data to keep”를 낮춰 디스크 공간이 가득 차는 문제를 피해야 합니다.
~/.near/config.json을 편집하고 기본값인 5 대신 “gc_num_epochs_to_keep”를 3으로 줄이십시오:
Pasted image 20240929161838.png

Systemd 설정: 노드가 항상 시스템과 함께 실행되도록 설정하십시오

sudo nano /etc/systemd/system/neard.service

붙여넣기:

Description=NEARd Daemon Service
[Service]
Type=simple
User=root
WorkingDirectory=/root/.near
ExecStart=/root/nearcore/target/release/neard run
Restart=on-failure
RestartSec=30
KillSignal=SIGINT
TimeoutStopSec=45
KillMode=mixed
[Install]
WantedBy=multi-user.target

그 후, 서비스를 활성화하십시오:

sudo systemctl enable neard

데이터 동기화: 데이터를 빠르게 동기화하기 위해 다른 피어와 동기화를 기다리지 않고 백업 아카이브를 다운로드할 수 있습니다.

cd ~/.near
mkdir data
cd data
aws s3 --no-sign-request cp s3://near-protocol-public/backups/mainnet/rpc/latest .
LATEST=$(cat latest)
s5cmd --no-sign-request sync s3://near-protocol-public/backups/mainnet/rpc/$LATEST/* .

참고: 디스크 공간이 1TB인 경우, 경우에 따라 다운로드 중에 디스크 공간이 부족해질 수 있습니다. 이 경우, 다운로드 프로세스를 중지하고 노드를 다시 시작하고 동료로부터 동기화를 기다리면 됩니다. (우리가 이미 gc_num_epochs_to_keep을 줄였기 때문에, 노드는 최근 3개의 epoch만 유지하고 서버 디스크에 맞게 될 것입니다)

데이터 동기화가 완료되면, 이제 노드를 시작할 수 있습니다:

sudo systemctl start neard

config.json 파일에서 서비스에 변경을 가해야 하는 경우, 노드도 다시 로드해야 합니다:

sudo systemctl reload neard

로그 확인

명령어:

journalctl -n 100 -f -u neard | ccze -A

Pasted image 20240929163533.png

Validator 노드의 실행 상태를 확인하십시오. 로그에 “Validator”가 표시되면, 현재 검증자 목록에서 귀하의 풀이 선택된 것입니다.

활성 검증자가 되기

검증자로 선정되고 검증자 집합에 들어가려면 최소한의 성공 기준을 충족해야 합니다.

  • 노드가 완전히 동기화되어야 합니다
  • validator_key.json이 제 위치에 있어야 합니다
  • 계약이 validator_key.json의 public_key로 초기화되어야 합니다
  • account_id는 staking pool 계약 ID로 설정되어야 합니다
  • 최소 seat 가격을 충족시키기 위해 충분한 위임이 있어야 합니다. seat 가격은 여기에서 확인하거나 여기에서 확인하십시오
  • 계약에 의해 제안이 제출되어야 합니다
  • 제안이 수락되면 검증자는 검증자 집합에 들어가기 위해 2-3 epoch를 기다려야 합니다
  • 검증자 집합에 들어간 후 검증자는 할당된 블록의 90% 이상을 생성해야 하며, 그렇지 않으면 노드가 제외될 것입니다

Validator 노드의 실행 상태를 확인하십시오. “Validator”가 표시되면, 현재 검증자 목록에서 귀하의 풀이 선택된 것입니다.

스테이킹 풀 계약 배포

NEAR는 위임자의 자금이 안전하게 보호되도록 화이트리스트된 스테이킹 계약을 사용하는 스테이킹 풀 팩토리를 사용합니다. NEAR에서 검증자를 실행하려면 스테이킹 풀을 NEAR 계정에 배포하고 NEAR 검증자 노드에 통합해야 합니다. 위임자는 UI 또는 명령줄을 사용하여 풀에 지분을 할당해야 합니다. 스테이킹 풀은 NEAR 계정에 배포된 스마트 계약입니다.

참고: 스테이킹 풀 계약은 모든 하위 계정 자금이나 데이터에 대한 쓰기 액세스를 가질 수 없습니다, 이는 NEAR의 모든 하위 계정에도 적용됩니다.

스테이킹 풀 계약 배포

스테이킹 풀 팩토리를 호출하여 지정된 이름으로 새 스테이킹 풀을 생성하고 지정된 accountId에 배포합니다.

Mainnet을 위해

near call poolv1.near create_staking_pool '{"staking_pool_id": "<pool_id>", "owner_id": "<accountId>", "stake_public_key": "<public key>", "reward_fee_fraction": {"numerator": 5, "denominator": 100}}' --accountId="<accountId>" --amount=30 --gas=300000000000000

위의 예에서 다음을 대체해야 합니다:

  • pool_id: 스테이킹 풀 이름, 팩토리가 자동으로 이 매개변수에 이름을 추가하여 {pool_id}.{staking_pool_factory}를 생성합니다.
    예: “lncvalidator”
  • owner_id:: 스테이킹 풀을 관리할 NEAR 계정입니다. 일반적으로 귀하의 주 NEAR 계정입니다.
  • public_key: validator_key.json 파일에 있는 공개 키입니다.
  • 5: 풀이 부과할 수수료 (예: 이 경우 5 중 100은 수수료의 5%이며, 일반적으로 밸리데이터는 5%의 수수료를 부과합니다)
  • accountId: 스테이킹 풀을 배포하는 NEAR 계정입니다.

full_pool_id: <pool_id>.poolv1.near , 이 경우 lncvalidator.poolv1.near 입니다

적어도 30 NEAR가 있어야 합니다. 이것은 저장소에 필요한 최소 금액입니다.

최종 명령은 다음과 같이 보일 것입니다:

near call poolv1.near create_staking_pool '{"staking_pool_id": "lncvalidator", "owner_id": "lncvalidator.near", "stake_public_key": "ed25519:A9RdmNFxxx", "reward_fee_fraction": {"numerator": 5, "denominator": 100}}' --accountId="lncvalidator.near" --amount=30 --gas=300000000000000

수수료를 1%로 변경하는 등 풀 매개변수를 변경하려면 다음 명령을 사용하십시오:

near call <full_pool_id> update_reward_fee_fraction '{"reward_fee_fraction": {"numerator": 1, "denominator": 100}}' --accountId <account_id> --gas=300000000000000

다음과 같은 내용이 표시됩니다:

img
마지막에 “True”가 표시되면 풀이 생성된 것입니다.

축하합니다! 이제 스테이킹 풀을 구성하여 운영 중입니다 🚀🚀🚀🚀

스테이킹 풀 계약 관리

스테이킹 풀의 소유자 ID 검색

near view <full_pool_id> get_owner_id '{}'

네트워크가 밸리데이터에 대해 가지고 있는 공개 키를 검색하려면 이 명령을 사용하십시오

near view <full_pool_id> get_staking_key '{}'

공개 키가 일치하지 않으면 다음과 같이 스테이킹 키를 업데이트할 수 있습니다 (아래의 pubkey를 밸리데이터.json 파일에 있는 키로 대체하십시오)

near call <full_pool_id> update_staking_key '{"stake_public_key": "<public key>"}' --accountId <accountId>

스테이킹 풀 작업

참고: 제안서를 제출하거나 자금을 예치하기 전에 검증자가 완전히 동기화되어 있어야 합니다.

제안서 및 핑

검증자 자리를 얻으려면 먼저 적절한 양의 스테이크를 함께 제출해야 합니다. 제안서는 epoch +2에 보내집니다. 즉, 지금 제안서를 보내면 승인되면 3개의 epoch 후에 자리를 얻게 됩니다. 자리를 보장하려면 매 epoch마다 제안서를 제출해야 합니다. 제안서를 보내려면 ping 명령어를 사용합니다. 스테이킹 풀 계약에 스테이크 또는 언스테이크 명령어가 보내지면 제안서도 보내집니다.

핑을 보내면 대리인들의 스테이킹 잔액도 업데이트됩니다. 보고된 보상을 유지하기 위해 매 epoch마다 핑을 보내야 합니다. 여기에서 핑 스크립트를 사용하여 cron 작업으로 핑을 설정할 수 있습니다.

/home/root/scripts/ping.sh에 새 파일을 만들고 다음을 입력하세요:

#!/bin/sh
# 제안서 갱신을 위한 핑 호출을 crontab에 추가

export NEAR_ENV=mainnet
export LOGS=/home/root/logs
export POOLID=<full_pool_id>
export ACCOUNTID=<account_id>

echo "---" >> $LOGS/all.log
date >> $LOGS/all.log

near call $POOLID ping '{}' --accountId $ACCOUNTID --gas=300000000000000 >> $LOGS/all.log

near proposals | grep $POOLID >> $LOGS/all.log
near validators current | grep $POOLID >> $LOGS/all.log
near validators next | grep $POOLID >> $LOGS/all.log

로그 폴더 생성:

mkdir $HOME/logs

ping.sh 파일에 실행 권한 부여:

chmod +x $HOME/scripts/ping.sh

새 crontab 생성, 저는 8시간마다 실행되도록 설정했습니다:

crontab -e

다음을 입력하고 저장하세요:

0 */8 * * * sh /home/root/scripts/ping.sh

crontab 목록 확인:

crontab -l

로그 확인:

cat $HOME/logs/all.log

이제 충분한 위임 토큰을 갖고 있어야만 활성 검증자가 될 수 있습니다. 탈중앙화된 Near Protocol에 오신 것을 환영하며 그 과정에서 보상을 받으세요 🚀🚀🚀🚀 💪💪💪💪 🛳️🛳️🛳️👽👽👽🛸🛸🛸

네트워크 최적화

성능을 향상시키기 위해 네트워크 설정을 최적화하려면 다음 명령어를 실행하세요:

MaxExpectedPathBDP=8388608
sudo sysctl -w net.core.rmem_max=$MaxExpectedPathBDP
sudo sysctl -w net.core.wmem_max=$MaxExpectedPathBDP
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 $MaxExpectedPathBDP"
sudo sysctl -w net.ipv4.tcp_wmem="4096 16384 $MaxExpectedPathBDP"
sudo sysctl -w net.ipv4.tcp_slow_start_after_idle=0

이러한 변경 사항은 시스템 재부팅 후에도 유지되지 않습니다. 부팅 시 자동으로 적용하려면 다음을 /etc/sysctl.d/local.conf에 추가하십시오:

net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 16384 8388608
net.ipv4.tcp_slow_start_after_idle = 0

선택 사항: 풀 정보 제출

풀 정보를 추가하면 위임자들에게 도움이 되며 업그레이드 및 기타 중요한 공지에 대한 홍보에도 도움이 됩니다: https://github.com/zavodil/near-pool-details.

추가할 수 있는 필드는 다음과 같습니다: https://github.com/zavodil/near-pool-details/blob/master/FIELDS.md.

검증자에게 제공해야 하는 식별 정보는 다음과 같습니다: 이름, 설명, URL, 텔레그램, 트위터,…

예시 명령어:

<full_pool_id>를 풀 주소로 대체하십시오. 예: lncvalidator.poolv1.near
<accountId>를 인증된 지갑 주소로 대체하십시오. 이 경우 lncvalidator.near입니다.

near call pool-details.near update_field '{"pool_id": "<full_pool_id>", "name": "url", "value": "https://yoururl.com"}' --accountId=<accountId> --gas=200000000000000
near call pool-details.near update_field '{"pool_id": "<full_pool_id>", "name": "twitter", "value": "<twitter>"}' --accountId=<accountId> --gas=200000000000000
near view pool-details.near get_all_fields '{"from_index": 0, "limit": 3}'
near view pool-details.near get_fields_by_pool '{"pool_id": "<full_pool_id>"}'

정보는 다음과 같이 표시됩니다: (출처: NearScope)
Pasted image 20240929194648.png

노드 유지 관리

노드를 유지 관리하고 안정적으로 운영하는 것이 중요합니다. 알아야 할 몇 가지 중요한 사항은 다음과 같습니다.

노드 상태 코드

  • RED: 노드를 즉시 업데이트하세요!!1!!!, 중요한 문제가 발생했습니다. 반복합니다. 즉시 업데이트하세요!!
  • YELLOW: 노드를 업데이트해야 하지만 현재는 급하지 않습니다.
    자세한 내용은 여기에서 확인하십시오: https://near-nodes.io/maintenance/maintenance#runtime-alerts

NEAR Validator 텔레그램 커뮤니티

노드 업데이트, 지원 및 기타 정보를 얻으려면 이 그룹에 가입하십시오. NEAR에 대한 검증과 관련된 질문 및 토론에는 이 그룹을 사용하십시오.
https://t.me/near_validators

새로운 노드 버전 업데이트

새 노드 버전이 있을 때 텔레그램 검증자 그룹에서 알림을 받게 되며, 노드를 업데이트하려면 이 명령을 실행하십시오.

cd ~/nearcore && git fetch && export NEAR_RELEASE_VERSION=<node_version> && git checkout $NEAR_RELEASE_VERSION && make release && sudo systemctl stop neard && sudo systemctl start neard

<node_version>을(를) 올바른 nearcore 릴리스 버전으로 대체하십시오.

노드 성능 모니터링

전문가 방식으로 노드 모니터링:
https://near-nodes.io/validator/validator-bootcamp#grafana

비전문가 방식으로 노드 모니터링:
검증자 가동 시간을 빠르게 모니터링하는 데 도움이 되는 작은 봇을 만들었습니다. 여기에서 확인할 수 있습니다:
https://x.com/cuongdc_real/status/1839769081723138239
Pasted image 20240929181006.png

보상 청구

기본적으로 NEAR의 어떤 지갑에 로그인하여 지갑 스테이킹 섹션에서 검증자 보상을 청구하십시오.

자료

결론

여기까지 읽어주셔서 감사합니다! NEAR에서 검증자를 운영하는 데 공유하고 싶었던 모든 내용을 공유했습니다.
내 경험상 NEAR 노드를 운영하는 것은 직관적이고 거의 버그가 없으며, 다른 높은 활동 체인과 비교했을 때 문제가 훨씬 적습니다. NEAR는 Nightshade와의 샤딩으로 인해 서버 리소스가 훨씬 적게 필요합니다. 게다가 보상도 받을 수 있습니다!

보상에 관해서는 곧 NEAR 검증자들은 웹3 생태계를 위한 NEAR의 체인 추상화 서비스에 기여하는 MPC 네트워크를 운영하여 보상을 받을 기회를 얻게 될 것입니다. 체인 추상화를 통해 오픈 웹을 구축하는 NEAR의 비전과 함께.사용자 소유 AI, NEAR은 더 많은 네트워크 활동을 보일 것으로 예상되며, 검증자들에게 추가 보상을 얻을 기회를 제공할 것입니다.

검증자로서 NEAR과 같은 고성능 네트워크를 안전하게 유지하는 역할은 매우 중요합니다. NEAR을 보호함으로써, 싱가포르에서 수백만 명이 사용하는 캐시백 앱인 Kaiching, 전 세계 1억 명 이상의 사용자가 있는 건강 및 피트니스 앱인 Sweatcoin, 새로운 암호화폐 사용자를 위한 게이트웨이 역할을 하는 Web3 월렛인 HOT, NEAR 상의 탈중앙화 거래소인 Ref Finance와 같은 네트워크 상에 구축된 많은 애플리케이션들을 지원하고 있습니다.

이러한 앱들은 매일 수백만 명의 사용자를 대상으로 하며, 검증자로서 당신은 그들이 서비스를 유지하고 성장하는 데 중요한 역할을 합니다!

we want you Your paragraph text.png

We want you to run validator on NEAR

Generate comment with AI 2 nL

댓글 달기

Hire AI to help with Comment

To leave a comment you should to:


Scroll to Top