전 편에서 이더리움 Holesky 아카이브 노드를 잘 구축하고 왔다면
이제 Taiko 노드를 돌릴 차례이다.
1. Run a Taiko node
2. SGX 컴퓨터 준비하기
1번인 타이코 노드 실행은 얼마 안 걸리는 작업이니
위의 목차대로 진행하도록 하겠다.
1. Run a Taiko Node
타이코 노드를 구동하는 방법에는
두 가지가 있는데 모두 설명해 보도록 하겠다.
자유롭게 선택하여 설치하면 된다.
타이코 노드를 구축해도 현재 블록 동기화가 잘 되지 않으므로
팀에서 공지가 나온 후에 구축하는 것을 추천한다!
개인적으로는 아래 stn 방식이 아닌,
with simple-taiko-node 방식을 추천한다.
- With stn
a. 타이코 노드 설치
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/d1onys1us/stn/releases/latest/download/stn-installer.sh | sh
stn install
b. Config the Taiko node as a full node
stn config full
/* VPSIP에는 Holesky 노드를 돌리고 있는 주소를 입력하면 된다.
✔ Do you have an HTTP and WS endpoint for a Holesky L1 archive node? · yes
✔ Please enter your L1_ENDPOINT_HTTP · http://VPSIP:8545
✔ Please enter your L1_ENDPOINT_WS · ws://VPSIP:8546
*/
http에서 주소 끝에 :8545,
ws에서는 주소 끝에가 :8546인것을 잘 확인하기 바란다.
c. Start the Taiko node
stn up
// 상태 확인
stn status
이것으로 타이코 노드 설치가 간편하게 끝나지만
나는 다음 방식을 좀 더 선호한다.
- with simple-taiko-node
a. Clone simple-taiko-node
git clone https://github.com/taikoxyz/simple-taiko-node.git
cd simple-taiko-node
b. Copy the sample .env files
cp .env.sample .env
c. Set the L1 archive node endpoint
nano .env
L1_ENDPOINT_HTTP에는 http://VPSIP주소:8545 을 입력하고
L1_ENDPOINT_WS에는 ws://VPSIP주소:8546 을 입력한다.
L1_PROPOSER_PRIVATE_KEY=에는 이더리움 지갑의 프라이빗 키를 입력하면된다
(본 지갑 사용 금지)
또한 BLOCK_PROPOSAL_FEE=를 30으로 고쳐주면 된다.
PROVER_ENDPOINTS도 고치는 곳이 있는 것 같은데 여기는 안고쳐도 되는 것 같다.
d. Start the node
docker compose up -d
e. 로그 및 대시보드 확인
docker compose logs -f
위 명령어를 통해 로그를 확인할 수 있다.
http://localhost:3001/d/L2ExecutionEngine/l2-execution-engine-overview
또한 위의 localhost 부분만 VPS IP주소로 치환하여 크롬창에서 띄우면
이더리움 holesky에서 봤던 대시보드와 동일한 구조로 확인할 수 있다.
저기서 Blockchain 쪽의 Latest block이
Taiko Explorer의 최신 블록 높이와 맞아야 블록동기화가 완료된 것이다.
또한 dojo 대시보드를 이용할 수 있는데
nano docker-compose.yml
// 아래 내용 volumes: 위에 붙여넣기
taiko-node-dashboard:
image: wolfderechter/taiko-node-dashboard:latest
ports:
- "7744:80"
taiko-node-systeminfo:
image: wolfderechter/taiko-node-systeminfo:latest
ports:
- "3009:3009"
붙여넣기 한 후 Ctrl + x, Y, 엔터
docker compose down && docker compose up -d
위 명령어를 통해 다시 재시작 해주면 된다.
다시 크롬창에 VPS IP주소:7744 를 입력해 주게되면
아래와 같은 화면에서 좀 더 좋은 UI로 확인할 수 있다.
여기까지가 타이코 노드 구축에 관한 이야기 였으며
여기까지 proposer 트랜잭션을 찍는데는 문제가 없을 것 이다.
(지금까지는 찍기가 힘들다고 함)
다음으로 앞으로 나올 Prover에 필요한 Intel의 SGX에 관한 이야기를 해보겠다.
2. Intel SGX 준비하기
본인은 타이코에 필요한 Intel SGX를 리눅스에서 활성화 시키기 위해
7일이 넘게 잠도 못자고 밤을 새가며 활성화 시킨 기억이 있다.
어렵게 획득한 정보를 쉽게 알 수 있다는 것에 대해 고마워 해주길 바란다.
Intel의 SGX라는 것이 무엇인지는 직접 찾아보도록 하고
SGX는 6~10세대 인텔 CPU에서 활성화 할 수 있지만 각각 버전이 다르다.
타이코에 필요한 버전은 최소 8세대 이상으로 구해야한다.
(본인은 6세대로 시도해보고 안된다는걸 깨달았다. 만들어지는 파일 자체가 다르다.)
개인적으로 추천하는 모델은
8, 9, 10세대의 i5, i7 이며,
i9도 본인이 여유만 된다면 구매해도 좋다.
본인은 i5 8500을 사용하고 있다.
메인보드는 asrock 모델만이 BIOS에서 "활성화" 시킬 수 있다고 한다.
그 외 모델은 거의 "Software controlled"로 알고 있으며
본인의 i5 8500의 메인보드도 ASUS 모델로 Software controlled로 선택하여 사용하고 있다.
또한 우분투 리눅스 22.04 LTS 버전을 사용중이라면 필히 커널을 업그레이드 하여
6.0 이상으로 버전을 맞춰놔야한다.
커널을 업그레이드하기 귀찮으면 우분투 버전을 23.04 버전으로 설치하는 방법도 있다.
리눅스에서 sgx가 활성화 되어있는지 확인하는 방법
cpuid | grep -i sgx
// 만약 cpuid가 설치되어있지 않다면
sudo apt install cpuid
위 사진처럼
SGX: Software Guard Extensions supported = true
SGX_LC: SGX launch config supported = true
SGX1 supported = true
라고 나오면 성공이며
grep sgx /proc/cpuinfo
위 명령어를 입력하였을 때, 밑의 사진처럼 뭐라도 떠야하며 안뜨면 활성화가 안된 것 이다.
여기까지 전부 통과했다면 마지막으로
ls /dev | grep sgx
위 명령어를 입력한 후
위 사진과 같이 sgx_enclave와 sgx_provision 파일이 있어야 정상이다.
그럼 taiko의 prover를 수행할 준비가 완료되어 있다는 것이다.
만약 아무것도 안뜨고 활성화가 안되어있다면 다음 단계를 따르도록 하자.
a. 메인보드에서 SGX 활성화
BIOS 모드에 접속하는 방법은 생략하도록하고,
보통 Advanced 설정에서 CPU 설정에 있다.
아래서 네번째 줄에 SW Guard Extensions (SGX) = Software Controlled로 되어있는 것을 확인 할 수 있다.
이처럼 Software Controlled 또는 Enabled로 선택된 상태여야한다.
b. sgx-software-enable
git clone https://github.com/intel/sgx-software-enable
cd sgx-software-enable
make
sudo ./sgx_enable
위 명령어들을 차례로 입력 후
재부팅하여 cpuid | grep -i sgx 를 입력하여 잘 활성화 되었는지 확인하고,
ls /dev | grep sgx 명령어를 통해 sgx_enclave 파일이 생성되었는지 확인한다.
만약 이렇게 해도 안된다면 텔레그램 채널로 문의하길 바란다.
또한 위 방법 말고 VPS로 구매할 수 있는 방법이 있는데
SGX를 사용할 수 있는지 확실하지도 않고 꽤 비싸기 때문에
중고로라도 구매해서 사용하는 것을 추천한다.
VPS는 금액을 지불하고 나면 남는 것이 없지만 중고로 구매해서
노드를 구동했을 때, 테스트넷 노드 작업이 끝난 후에도 다른 노드를 돌릴 수 있기 때문에
구매하는 방법을 추천한다.
자, 이제 모든 준비를 끝마쳤다.
가까운 시일 내 Taiko Prover가 나오기를 바란다.
퍼가실 땐 출처 명시 부탁드립니다.
노드 대행 및 기타 문의
graychoi0920@gmail.com
'Blockchain > Node' 카테고리의 다른 글
[SOON] Allora 노드 구축 (1) | 2024.03.04 |
---|---|
Babylon 근황 및 unjail (69) | 2024.03.03 |
Taiko 노드 준비하기 - 1편 (2) | 2024.03.03 |
[기초] VPS 구매, 접속하기 (75) | 2024.03.02 |
Dusk Nocturne 테스트넷 노드 구동 (73) | 2024.02.29 |
댓글