Blockchain/Testnet

Ironfish 인센티브 테스트넷 페이즈3 사전 가이드

lowsec 2023. 1. 18. 19:01

안녕하세요. Ironfish 인센티브 테스트넷 페이즈3가 어느덧 9시간도 남지 않았습니다. 오늘 포스팅에서는 Ironfish 인센티브 테스트넷 페이즈3 참여를 위한 사전 가이드를 전달해드리겠습니다.

 

사진. until start of phase 3

 

Introduction

 

ironfish 프로젝트에 대한 간략한 설명과 테스트넷 참여를 위한 계정 생성은 아래 https://lowsec.tistory.com/51을 참고하여 진행해주시면 감사하겠습니다. (Phase 1, 2를 참여하셨다면 계정을 따로 생성하지 않으셔도 됩니다.)

 

 

ironfish 인센티브 테스트넷 페이즈2 참여 가이드

Intro Ironfish는 작년 12월에 a16z, 세콰이어, 링크드인 회장, 알랜 하워드 등이 참여한 시리즈A 투자 라운드에서 2700만불을 투자받은 프로젝트입니다. 올해 10월 말에는 ironfish 프로젝트를 진행하고

lowsec.tistory.com

 

본 포스팅에서는 Phase 2을 이미 참여하신 유저라는 가정에서 Phase 3 미션 내용을 간단히 알아보고 노드 설치부터 진행하겠습니다. 

 

Phase 3

 

Phase 3 설명은 아래 https://testnet.ironfish.network/about 을 참고하였습니다.

 

https://testnet.ironfish.network/about

 

testnet.ironfish.network

 

 

  • General
    • (New) Mint Asset: 토큰 발행, 주간 미션으로 1 트랜잭션에 200 points를 부여합니다.
    • (New) Burn Asset: 발행된 토큰 소각, 주간 미션으로 1 트랜잭션에 200 points를 부여합니다.
    • (New) Send Asset: 타계정에 $IRON 전송, 주간 미션으로 1 트랜잭션에 200 points를 부여합니다.
    • Hosting a node: 노드 실행
  • Developers
    • Finding Bugs
    • Submit a Pull Request

 

미션 1~4는 일반 사용자도 쉽게 참여할 수 있는 미션입니다. (General)

 

미션 1~3은 $IRON을 이용하여 토큰을 발행, 소각, 전송하는 미션입니다. 사용자의 계정에 일정량의 $IRON이 있어야 가능하기 때문에 Phase 3가 시작되면 $IRON을 마이닝하여 balance를 늘리고 미션에 참여해야 할 것 같습니다. 각 미션을 위한 가이드는 추후에 블로그에 올리도록 하겠습니다.

미션 4는 노드를 실행하면 12시간에 한번씩 10 points를 부여합니다.

 

미션 5, 6은 개발자나 이해도가 높은 사용자를 위한 미션이라 Developers로 구분하였습니다. (난이도 높음 주의)

 

미션 5는 테스트넷을 사용하면서 확인한 시스템의 버그를 https://github.com/iron-fish/ironfish/issues 에 올리고, 개발 팀이 검토하여 지금까지 발견되지 않은 버그일 경우 100 points를 부여합니다.

미션 6은 직접 코드 개발에 기여하고 point를 받는 방법입니다. ironfish repo (https://github.com/iron-fish/ironfish)에 기여할 수 있는 코드를 개발하고 PR을 올려 개발 팀의 승인을 받고 코드가 repo에 merge되면 points를 받을 수 있습니다. 기여도에 따라 기여자에게 250 / 500 / 1000 points를 부여합니다.

 

Prerequisites

 

노드 실행을 위한 하드웨어 요구사항은 아래와 같습니다.

 

  • CPU 4코어
  • 램 8GB

 

 

Phase 3부터는 node 버전을 v18 이상 사용해야 노드 설치가 가능합니다.

Phase 2을 이미 참여하신 유저라는 가정에서 노드 실행 환경에 node 16.x가 설치되어 있다고 생각하고 node 버전을 v18.x로 업그레이드합니다.

 

# update package
sudo apt-get update

# 시스템에 설치된 nodejs 삭제
sudo apt-get remove nodejs -y

# 설치 파일 다운로드
curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -

# node 18.x 설치
sudo apt-get install nodejs -y

# 현재 사용중인 node 버전 확인
node -v
v18.13.0

 

ironfish 노드를 설치합니다.

 

# 이전에 설치된 ironfish 노드 및 체인 데이터 삭제
sudo rm -rf /usr/lib/node_modules/ironfish && sudo rm -rf ~/.ironfish

# ironfish 설치
sudo npm install -g ironfish

# 버전 및 명령어 확인 (2023-01-18 기준 v0.1.58이 최신 버전)
ironfish

CLI for running and interacting with an Iron Fish node

VERSION
  ironfish/0.1.58 linux-x64 node-v18.13.0

USAGE
  $ ironfish [COMMAND]

TOPICS
  blocks      Show the block header of a requested hash or sequence
  chain       Manage the blockchain
  config      Show and edit the node configuration
  migrations  List all the migration statuses
  miners      Manage an Iron Fish miner
  peers       Manage the peers connected to this node
  rpc         Show the status of the RPC layer
  wallet      List all the accounts on the node
  workers     Show the status of the worker pool

COMMANDS
  config      Print out the entire config
  faucet      Receive coins from the Iron Fish official Faucet
  fees        Get fee distribution for most recent blocks
  help        Display help for ironfish.
  logs        Tail server logs
  migrations  List all the migration statuses
  peers       List all connected peers
  repl        An interactive terminal to the node
  reset       Reset the node to its initial state
  start       Start the node
  status      Show the status of the node
  stop        Stop the node from running
  testnet     Set up your node to mine for the testnet
  wallet      List all the accounts on the node

 

간단한 설정 후 ironfish 노드를 실행합니다.

 

# telemetry 활성화
ironfish config:set enableTelemetry true

# graffiti 설정
## 예시: ironfish config:set blockGraffiti bhlee
ironfish config:set blockGraffiti "<your graffiti here>"

# 네트워크 포트는 초기값 9033, 변경하려면 --port 옵션 사용
ironfish start --port=9045

# 시작 (port: 9033/tcp)
ironfish start

::::::::::          :::::::::::::::::
::::::::::::       :::::::::::::::::::
:::::::::::::     :::::::::::::::::::::
::::::::::::::   ::::::::::::::::::::::::
 ::::::::::::: ::::::::::        :::::::::
   :::::::::::::::::::::          ::::::::::
   :::::::::::::::::::::          :::::::::
 ::::::::::::: ::::::::::        :::::::::
::::::::::::::   ::::::::::::::::::::::::
:::::::::::::     :::::::::::::::::::::
::::::::::::       :::::::::::::::::::
::::::::::           ::::::::::::::::

Version       0.1.58 @ d49b13f
Node Name     NONE
Graffiti      bhlee
Peer Identity 8yOQ6G7DjAtGaA1eplKKvX+BlHSgTrPimiIxI9xTzHo=
Peer Agent    ironfish/0.1.58/d49b13f
Peer Port     9033
Bootstrap     test.bn1.ironfish.network

WebSocket server started at :::9033
Connected to the Iron Fish network

 

계정 생성

 

노드 운영을 위해 사용할 account를 생성합니다. 저는 디스코드 이름과 매핑되도록 account name을 짓고 있으나 규칙이 없으니 자유롭게 지으시면 됩니다. (노드 버전이 올라가면서 accounts API가 wallet API로 이름이 변경되었습니다.)

 

ironfish wallet:create
Enter the name of the account: bhlee7909
Creating account bhlee7909
Account bhlee7909 created with public address 5c65edcab7555db5e1b0ba80ec18bd26feedaa098a8888dc5a4df14325657c9e1b29b63a118edd83800dbe
Run "ironfish accounts:use bhlee7909" to set the account as default

 

방금 생성한 계정의 이름을 입력하여 기본 계정으로 세팅합니다.

 

ironfish wallet:use bhlee7909
The default account is now: bhlee7909

 

계정 정보는 아래와 같이 확인할 수 있습니다. public key는 마이닝을 위해 필요하니 기억해둡니다.

 

ironfish wallet:address
Account: bhlee7909, public key: eb5d0de41f11679a404485c9aac538961ad9bd7f78ee2fcc355d06f8bd9dc1d7

 

$IRON 마이닝

 

이번 페이즈3부터는 ZK.work의 마이닝 풀 지원이 없다고 합니다. 자체 faucet으로 소량의 $IRON을 얻을 수 있으니 마이닝은 패스하셔도 무방합니다!!

 

제 노드 실행 환경 상의 이슈로 GPU 마이닝을 사용할 수 없어 CPU 마이닝을 기준으로 가이드를 작성하였습니다. 

 

Phase 2와 동일하게 ZK.Work 마이닝 풀에 접속하여 $IRON 마이닝을 준비해보겠습니다. ZK.work 마이닝 풀 페이지의 “Start Mining” 메뉴를 클릭하여 마이닝 풀에 연결하기 위한 주소와 포트 번호를 확인합니다.

 

 

Leading Mining Platform for Zero Knowledge Proofs | ZK.Work

The Leading Mining Platform For Zero Knowledge Proofs Mining pools for professionals by professionals Start mining now !

zk.work

 

  • Server: 36.189.234.195
  • Port: 60006/tcp

 

노드를 실행하고 다른 터미널에서 아래와 같이 명령어를 입력하여 ZK.work 마이닝 풀에 접속합니다. 

 

 

참고

 

https://testnet.ironfish.network/faq

 

testnet.ironfish.network

 

감사합니다. 가이드에 따라 노드를 설치하시다가 막히는 부분이 있으면 언제든 Telegram 채널에 오셔서 질문 부탁드리겠습니다.