이 페이지는 커뮤니티 번역으로 참고용이며, 내용은 영어 원문을 우선합니다.
영어 원문 보기 ↗

지연 시간 최적화

아래 제안은 정보 제공 목적일 뿐이며 포괄적이지 않은 시작점입니다. 거래 조언이 아니며 어떠한 지연 시간이나 거래 결과도 보장하지 않습니다.

읽기 지연 시간 최적화 (시장 데이터 수신)

  1. Hyper Foundation 논-밸리데이터와 같은 신뢰할 수 있는 피어를 대상으로 논-밸리데이터 노드를 실행하세요.
  2. 블록이 실행되는 즉시 출력을 받을 수 있도록 --disable-output-file-buffering 옵션으로 노드를 실행하세요
  3. 충분한 머신 사양, 최소 32개의 논리 코어, 128 GB RAM, 500 MB/s 디스크 처리량으로 노드를 실행하세요. 코어를 늘리면 블록 실행이 빨라져 지연 시간을 줄일 수 있습니다.
  4. API보다 더 빠르고 세분화된 데이터를 제공하는 노드의 출력을 사용하여 오더북 및 기타 거래소 상태를 로컬에서 구성하세요. 노드를 실행하는 것과 동일한 머신에서 오더북을 구축하는 방법의 예시는 https://github.com/hyperliquid-dex/order_book_server를 참조하세요. 이 리포지토리는 활발히 유지 관리되지 않습니다. ALO 우선 수수료나 기타 엣지 케이스 같은 세부 사항을 반영하려면 리포지토리를 포크하거나 처음부터 직접 구현하는 것이 좋습니다.
  5. 노드의 --batch-by-block은 블록이 끝날 때까지 기다렸다가 데이터를 기록합니다. 위의 예시 오더북 서버는 로직을 단순화하기 위해 이를 사용하지만, 추가 최적화로 이 플래그를 끄고 다른 방식으로 블록 경계를 추론할 수 있습니다.
  6. 지연 시간에 민감한 사용자는 split_client_blocks: true가 유용할 수 있습니다. 이는 커밋될 트랜잭션을 클라이언트 블록에 포함되기 전에 스트리밍합니다. 이를 통해 입력을 읽을 때 지연 시간이 70-150ms 개선될 수 있습니다. 노드 리포지토리에 문서화되어 있듯이, 이는 실행에 대한 가장 빠른 트랜잭션 입력으로, L1에서 실행되기 전에도 브로드캐스트됩니다. 더 빠른 입력 데이터의 트레이드오프는 실행 결과를 아직 사용할 수 없다는 것입니다. 그러나 주문과 같은 간단한 액션의 경우, 소비자는 모든 사용자에 대한 예상 계정 값을 스트리밍하여 합리적인 정확도로 실행 결과를 예측할 수 있습니다.
  7. 재단 논-밸리데이터는 가동률이 가장 높고 지연 시간이 낮은 논-밸리데이터 피어 중 하나입니다. 지연 시간에 민감한 사용자를 위한 접근 방법에 대한 자세한 내용은 여기를 참조하세요.
  8. 읽기 우선 수수료는 네트워크에서 원시 데이터를 읽는 가장 빠른 방법입니다. 자세한 내용은 여기를 참조하세요.

쓰기 지연 시간 최적화 (주문 및 취소 전송)

  1. 취소는 fast 플래그와 함께 보내야 합니다. fast 취소를 트리거 주문 취소에 사용할 수 없다는 점을 제외하면 fast 플래그에 불이익은 없습니다.
  2. 쓰기 우선 수수료는 네트워크로 주문을 보내는 가장 빠른 방법입니다. 자세한 내용은 여기를 참조하세요.
  3. Hyperliquid의 실행 로직은 메이커를 톡식 플로우로부터 보호하도록 설계되어, 최종 사용자는 변동성 시기에도 좁은 스프레드와 깊은 유동성을 볼 수 있습니다. 이 효과의 주된 요인은 시간 t에 전송된 취소 및 ALO 주문이 거의 항상 시간 t에 전송된 IOC 및 GTC 주문보다 먼저 실행된다는 것입니다. 이 우선순위 지정은 여러 블록에 걸쳐 적용됩니다. 부차적 효과는 각 L1 블록에 컨센서스 번들이 몇 개만 포함된다는 것입니다. 각 번들 내에서 ALO와 취소는 다른 트랜잭션보다 먼저 실행됩니다.
  4. Hyperliquid의 엔드투엔드 지연 시간은 오더북이 완전히 온체인에 있기 때문에 중앙화 매칭 엔진과 단순 비교가 되지 않습니다. 엔드투엔드 지연 시간에는 API 서버까지의 시간, 멤풀 포함 시간, 커밋 시간(파이프라인된 HyperBFT 컨센서스에서 보통 2블록)이 포함됩니다. 트랜잭션의 순서 결정은 엔드투엔드 지연 시간이 시사하는 것보다 훨씬 노이즈가 적습니다. 취소 또는 ALO 주문이 약 \~380ms의 엔드투엔드 지연 시간을 보일 수 있지만, 사용자는 전송 시간 편차 10ms 미만으로 실험을 실행하고 L1에서 예측 가능한 순서를 확인할 수 있어야 합니다.
  5. 엔드투엔드 쓰기 지연 시간을 줄이는 데 관심이 있는 사용자(예: 커밋될 트랜잭션 순서를 예측하려는 경우)는 논-밸리데이터 노드의 split client 블록에서 이를 읽을 수 있습니다(위의 읽기 지연 시간 섹션 참조). 이 접근 방식은 트랜잭션의 실행 결과를 포함하지 않습니다.
영문 공식 출처: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/optimizing-latency
원문 수집일: · 미러 빌드일: · 커뮤니티 번역이며 영문 원문 우선
비공식 커뮤니티 번역입니다. 저작권은 Hyperliquid에 있으며 영어 원문을 우선합니다. 출처: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/optimizing-latency