LISK개발_97

사용 가능한 Lisk API 엔드포인트 찾는 중…
테스트 중: https://mainnet.lisk.com/api/blocks
연결 오류: request to https://mainnet.lisk.com/api/blocks?limit=1 failed, reason:
테스트 중: https://service.lisk.com/api/blocks
DNS 확인 실패: getaddrinfo ENOTFOUND service.lisk.com
테스트 중: https://service.lisk.io/api/v2/blocks
DNS 확인 실패: getaddrinfo ENOTFOUND service.lisk.io
테스트 중: https://api.lisk.com/api/blocks
DNS 확인 실패: getaddrinfo ENOTFOUND api.lisk.com
테스트 중: https://api.liskscan.com/api/blocks
DNS 확인 실패: getaddrinfo ENOTFOUND api.liskscan.com

실행 중 오류 발생: Error: 사용 가능한 Lisk API 엔드포인트를 찾을 수 없습니다

직접 답변

  • Lisk API 엔드포인트 연결에 문제가 있어 보이며, DNS 서버 설정이 원인일 수 있습니다.
  • 스크립트의 URL에 공백이 포함되어 있어 수정이 필요합니다.
  • 공식 문서를 확인해 올바른 엔드포인트를 찾고, 다른 DNS 서버(예: 8.8.8.8)를 사용해 테스트하세요.
  • 네트워크 방화벽이나 로컬 DNS 서버 설정을 점검하세요.

문제 원인

사용자의 스크립트에서 Lisk API 엔드포인트(예: https://service.lisk.io API/v2)에 공백이 포함되어 있어 유효하지 않습니다. 올바른 형식은 https://service.lisk.io/api/v2와 같아야 합니다. 또한, 로컬 DNS 서버(127.0.0.53)가 도메인을 제대로 해결하지 못하는 것으로 보입니다. 이는 네트워크 방화벽 설정이나 DNS 서버 구성 문제일 수 있습니다.

해결 방법

  1. 스크립트 수정: URL에서 공백을 제거하고 올바른 경로를 사용하세요(예: /api/v2/blocks?limit=1).
  2. DNS 테스트: dig service.lisk.io @8.8.8.8 명령으로 Google DNS를 사용해 도메인이 해결되는지 확인하세요. IP 주소가 반환되면 로컬 DNS 설정을 점검하세요.
  3. 공식 문서 확인: Lisk의 최신 API 엔드포인트를 Lisk Documentation에서 확인하세요. 예를 들어, service.lisk.com이 올바른 도메인일 수 있습니다.
  4. 네트워크 점검: 방화벽 설정이나 VPN이 DNS 요청을 차단하는지 확인하고, 필요하면 다른 네트워크 환경에서 테스트하세요.

예상치 못한 세부 사항

Lisk의 공식 엔드포인트가 최근 변경되었을 가능성이 있어, 사용 중인 도메인(service.lisk.io)이 더 이상 유효하지 않을 수 있습니다. 이는 스크립트가 오래된 정보를 기반으로 작성되었을 가능성을 시사합니다.


보고서

이 보고서는 사용자가 제공한 004.js 스크립트의 실행 결과와 Lisk API 엔드포인트 연결 문제를 분석하고, 해결 방안을 제안하는 데 초점을 맞췄습니다. 스크립트는 네트워크 진단과 Lisk API 엔드포인트 테스트를 수행하며, 모든 엔드포인트에서 DNS 확인 실패로 작동하지 않는 것으로 나타났습니다. 현재 시간은 2025년 3월 25일 오후 6시 58분 PDT입니다.

1. 스크립트 및 실행 결과 분석

사용자의 스크립트(004.js)는 Lisk 네트워크 연결성을 테스트하는 도구로, DNS 서버 확인, IPv6 상태 점검, 기본 연결 테스트(google.com 핑), 그리고 여러 Lisk API 엔드포인트 테스트를 수행합니다. 실행 결과는 다음과 같습니다:

  • 네트워크 진단:
  • DNS 서버: 127.0.0.53(로컬호스트)
  • IPv6 상태: 활성화됨
  • google.com 핑 성공: 네트워크 기본 연결은 정상
  • Lisk API 엔드포인트 테스트:
    테스트된 엔드포인트는 다음과 같습니다:
  • Lisk Mainnet Service (https://service.lisk.io): DNS 확인 실패, “getaddrinfo ENOTFOUND service.lisk.io”
  • Lisk Mainnet Service v2 (https://service.lisk.io/api/v2): 동일한 DNS 실패
  • Lisk Mainnet Legacy (https://mainnet.lisk.com): IPv6 DNS 확인 성공(2a01:4f8:1c17:8016::1), IPv4 실패(“queryA ENODATA mainnet.lisk.com”)
  • LiskScan API (https://api.liskscan.com): DNS 실패
  • Lisk Center Utrecht (https://liskmonitor.com/lisk-api): DNS 실패
  • Lisk Mainnet Node (https://node01.lisk.io:443): DNS 실패
  • Lisk Testnet Service (https://testnet-service.lisk.io): DNS 실패

결과적으로, 작동하는 엔드포인트를 찾을 수 없으며, 스크립트는 네트워크 방화벽 설정 점검, Lisk 포럼 확인, VPN 사용, 로컬 노드 실행 등을 제안합니다.

2. 문제 원인 분석

2.1 URL 형식 문제

스크립트에 포함된 URL(예: https://service.lisk.io API/v2)은 공백이 포함되어 있어 유효하지 않습니다. 올바른 형식은 https://service.lisk.io/api/v2와 같아야 하며, 이는 HTTP 요청에서 중요한 역할을 합니다. 공백은 도메인 이름과 경로를 분리하지 못하게 하여 DNS 확인 실패로 이어질 수 있습니다.

2.2 DNS 해결 실패

로컬 DNS 서버(127.0.0.53)는 대부분의 Lisk 엔드포인트 도메인을 해결하지 못했습니다. 이는 다음과 같은 원인으로 추정됩니다:

  • 로컬 DNS 서버가 캐싱 서버로, 외부 도메인 해결을 위한 포워딩 설정이 부족할 수 있음.
  • 네트워크 방화벽이나 보안 정책이 DNS 요청을 차단하거나 제한할 수 있음.
  • 사용자의 네트워크 환경(예: bastion 서버)이 특정 도메인에 대한 접근을 제한할 수 있음.

특히, mainnet.lisk.com의 경우 IPv6 주소는 확인되었으나 IPv4 주소는 실패(“queryA ENODATA”)로, 이는 DNS 서버가 IPv4 레코드를 제공하지 못하거나 네트워크 설정 문제일 수 있습니다.

2.3 엔드포인트 유효성

Lisk의 공식 문서(Lisk Documentation)를 검토한 결과, 사용자가 제공한 엔드포인트(예: service.lisk.io, mainnet.lisk.io)는 더 이상 유효하지 않을 가능성이 있습니다. 문서에서 언급된 공용 RPC 엔드포인트는 다음과 같습니다:

ProviderNetworkHTTP RPCWS RPC
Lisk RPCLisk Sepolia Testnethttps://rpc.sepolia.lisk.comwss://ws.sepolia.lisk.com
Lisk RPCLiskhttps://rpc.lisk.comwss://ws.lisk.com
dRPCLisk Sepolia Testnethttps://lisk-sepolia.drpc.orgwss://lisk-sepolia.drpc.org
dRPCLiskhttps://lisk.drpc.orgwss://ws.lisk.drpc.org

사용자의 스크립트에 포함된 도메인(service.lisk.io, mainnet.lisk.io 등)은 이 목록에 없으며, 이는 스크립트가 오래된 정보를 기반으로 작성되었을 가능성을 시사합니다.

3. 해결 방안

사용자는 다음 단계를 통해 문제를 해결할 수 있습니다:

  1. 스크립트 수정:
  • URL에서 공백을 제거하고 올바른 경로를 사용하세요(예: https://service.lisk.io/api/v2/blocks?limit=1).
  • 스크립트의 POTENTIAL_ENDPOINTS 배열을 공식 문서에 명시된 최신 엔드포인트로 업데이트하세요.
  1. DNS 서버 테스트:
  • 다른 DNS 서버(예: Google DNS 8.8.8.8, Cloudflare DNS 1.1.1.1)를 사용해 도메인 해결을 테스트하세요.
  • 명령어 예: dig service.lisk.io @8.8.8.8. IP 주소가 반환되면 로컬 DNS 서버 설정을 점검하세요.
  • 로컬 DNS 서버가 127.0.0.53인 경우, /etc/resolv.conf 파일을 확인해 DNS 포워딩 설정이 올바른지 점검하세요.
  1. 네트워크 환경 점검:
  • 방화벽 설정이나 VPN이 DNS 요청을 차단하는지 확인하세요.
  • 다른 네트워크 환경(예: 모바일 핫스팟)에서 테스트해 네트워크 제한 여부를 확인하세요.
  1. 공식 문서 참조:
  • Lisk의 최신 API 엔드포인트를 Lisk Documentation에서 확인하세요. 예를 들어, https://rpc.lisk.com와 같은 엔드포인트가 현재 사용 중일 수 있습니다.
  • Lisk 포럼(Lisk Forum)이나 Discord에서 현재 API 상태를 확인하세요.
  1. 로컬 노드 실행:
  • 최신 Lisk SDK를 사용해 로컬 노드를 실행해 보세요. 이는 네트워크 연결 문제를 우회할 수 있는 방법입니다. 관련 문서는 Lisk SDK Documentation에서 확인 가능합니다.

4. 추가 고려 사항

  • Lisk API는 주로 JSON-RPC POST 요청을 지원할 수 있으며, 스크립트의 GET 요청 방식이 적합하지 않을 가능성이 있습니다. 공식 문서를 참고해 요청 방식을 수정하세요.
  • 사용자의 서버(ex-bastion-server)가 보안 강화된 환경일 경우, 특정 도메인에 대한 접근이 제한될 수 있으므로 네트워크 관리자와 협력해 설정을 점검하세요.
  • Lisk의 엔드포인트가 최근 변경되었을 가능성이 있어, 스크립트가 오래된 정보를 기반으로 작성되었을 수 있습니다. 이는 예상치 못한 세부 사항으로, 사용자가 공식 채널에서 최신 정보를 확인해야 합니다.

5. 표를 사용한 요약

다음 표는 테스트된 엔드포인트와 DNS 확인 결과를 요약한 것입니다:

엔드포인트 이름URLDNS 확인 결과비고
Lisk Mainnet Servicehttps://service.lisk.io실패 (ENOTFOUND)공백 제거 필요
Lisk Mainnet Service v2https://service.lisk.io/api/v2실패 (ENOTFOUND)공백 제거 필요
Lisk Mainnet Legacyhttps://mainnet.lisk.comIPv6 성공, IPv4 실패 (ENODATA)IPv4 문제 확인 필요
LiskScan APIhttps://api.liskscan.com실패 (ENOTFOUND)유효성 확인 필요
Lisk Center Utrechthttps://liskmonitor.com/lisk-api실패 (ENOTFOUND)유효성 확인 필요
Lisk Mainnet Nodehttps://node01.lisk.io:443실패 (ENOTFOUND)포트 설정 확인 필요
Lisk Testnet Servicehttps://testnet-service.lisk.io실패 (ENOTFOUND)유효성 확인 필요

6. 결론

사용자의 스크립트는 URL 형식 문제와 로컬 DNS 서버 설정 문제로 인해 Lisk API 엔드포인트 연결에 실패했습니다. 스크립트를 수정하고, 다른 DNS 서버를 사용해 테스트하며, 공식 문서를 통해 최신 엔드포인트를 확인하면 문제를 해결할 수 있을 것으로 보입니다. 네트워크 환경 점검도 중요하며, 필요하면 로컬 노드 실행을 고려하세요.


주요 인용

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다