바이프로스트 네트워크
  • 소개
  • 바이프로스트 네트워크 구조
    • 합의
    • 크로스체인 커뮤니케이션 프로토콜 (CCCP)
    • 오라클 서비스
  • 노드 운영 매뉴얼
    • 기본 노드 요구 사항
    • 풀 노드 요구 사항
    • 검증자 계정 관리
    • 운영자 가이드
      • 엔드포인트 (Endpoint) 노드 셋업
        • 도커 셋업
        • Systemd 셋업
      • 검증자 노드 셋업
        • 도커 셋업
        • Systemd 셋업
      • 릴레이어 셋업
        • bifrost-relayer.rs
      • 체인 데이터 스냅샷
      • 문제 해결
        • 테스트넷 체인 동기화 이슈
    • 시스템 모니터링
      • Prometheus and Grafana
      • Sentry
  • 노미네이터
  • 개발자 문서
    • 이더리움 API
      • 프리컴파일 컨트랙트
      • 개발자 라이브러리
      • 개발자 환경
    • 바이프로스트 프리컴파일 컨트랙트
      • 스테이킹
      • 거버넌스
      • 릴레이 매니저
    • 팔렛 인터페이스
      • BfcStaking
      • BfcUtility
      • BfcOffences
      • RelayManager
    • 클라이언트 API
      • JSON-RPC API
        • author
        • chain
        • childstate
        • debug
        • eth
        • grandpa
        • net
        • offchain
        • payment
        • rpc
        • state
        • system
        • trace
        • txpool
        • web3
      • 익스플로러 API
      • 런타임 API
    • 크로스체인 트랜잭션 및 오라클 API
      • 가격 오라클 컨트랙트 API
      • 소켓 컨트랙트 API
    • 바이프로스트 테스트넷 BFC 토큰 수령 방법
  • 거버넌스
  • 보안
  • 토큰 & 자산
    • 유니파이드 토큰
    • 인플레이션 모델
  • Add Network
    • 포키
    • 메타마스크
  • Bridge
    • 브릿지 가이드
      • 바이프로스트 네트워크로 예치
      • 다른 네트워크로 출금
    • 용어
  • Staking
    • 스테이킹 가이드
      • BFC 스테이킹
      • BFC 언스테이크
    • 용어
      • 모든 밸리데이터
      • 스테이킹 현황
  • Language
    • Bifrost Network Guide
Powered by GitBook
On this page
  • Description
  • Extrinsics
  • Storage Values
  • Constants
  1. 개발자 문서
  2. 팔렛 인터페이스

RelayManager

Description

바이프로스트 네트워크의 풀 노드 운영자는 릴레이어 프로그램도 추가로 운영해야 합니다. 따라서 모든 릴레이어의 상태를 신중하게 관리하고 추적하는 것은 네트워크 안정성 유지에 매우 중요합니다. 릴레이어 관리를 위한 핵심 구현은 pallet_relay_manager에 정의되어 있습니다.

Extrinsics

set_storage_cache_lifetime(new: u32)

  • interface: api.tx.relayManager.setStorageCacheLifetime

  • summary: StorageCacheLifetime 라운드 길이를 설정합니다. 오리진은 루트 (root)여야 합니다.

set_heartbeat_offence_activation(is_active: bool)

  • interface: api.tx.relayManager.setHeartbeatOffenceActivation

  • summary: 릴레이어 하트비트 (heartbeat) 관리의 활성화 여부를 설정합니다. 오리진은 루트 (root)여야 합니다.

set_heartbeat_slash_fraction(new: Perbill)

  • interface: api.tx.relayManager.setHeartbeatSlashFraction

  • summary: 하트비트 위반에 대한 새로운 슬래시 (slash) 비율을 설정합니다. 오리진은 루트 (root)여야 합니다.

set_relayer(new: AccountId)

  • interface: api.tx.relayManager.setRelayer

  • summary: 본딩된 릴레이어 계정을 (재)설정합니다. 오리진은 본딩된 컨트롤러 계정 (controller account)이어야 합니다. 상태 반영은 즉시 적용됩니다.

heartbeat()

  • interface: api.tx.relayManager.heartbeat

  • summary: 현재 세션에 대한 릴레이어 활성 (liveness) 관리를 위해 새로운 하트비트를 전송합니다. 오리진은 등록된 릴레이어 계정이어야 하며, 선택된 릴레이어만 요청할 수 있습니다.

Storage Values

StorageCacheLifetime(): u32

  • interface: api.query.relayManager.storageCacheLifetime

  • summary: 스토리지 데이터가 캐시될 수 있는 최대 스토리지 수명.

Round(): RoundIndex

  • interface: api.query.relayManager.round

  • summary: 현재 라운드 인덱스.

BondedController(AccountId): Option<AccountId>

  • interface: api.query.relayManager.bondedController

  • summary: 컨트롤러 계정을 릴레이어 계정에 매핑.

RelayerPool(): Vec<Relayer<AccountId>>

  • interface: api.query.relayManager.relayerPool

  • summary: 현재 라운드의 릴레이어 풀 (선택된 릴레이어 및 선택되지 않은 릴레이어 포함).

RelayerState(): Option<RelayerMetadata<AccountId>>

  • interface: api.query.relayManager.relayerState

  • summary: 특정 릴레이어의 현재 상태.

SelectedRelayers(): Vec<AccountId>

  • interface: api.query.relayManager.selectedRelayers

  • summary: 현재 라운드를 위해 선택된 활성 릴레이어 세트.

InitialSelectedRelayers(): Vec<AccountId>

  • interface: api.query.relayManager.initialSelectedRelayers

  • summary: 현재 라운드 시작 시 선택된 활성 릴레이어 세트.

CachedSelectedRelayers(): Vec<(RoundIndex, Vec<AccountId>)>

  • interface: api.query.relayManager.cachedSelectedRelayers

  • summary: 이전 라운드에서 선택된 캐시된 활성 릴레이어 세트.

CachedInitialSelectedRelayers(): Vec<(RoundIndex, Vec<AccountId>)>

  • interface: api.query.relayManager.cachedInitialSelectedRelayers

  • summary: 각 이전 라운드 시작 시 선택된 캐시된 활성 릴레이어 세트.

Majority(): u32

  • interface: api.query.relayManager.majority

  • summary: 현재 활성 릴레이어 세트의 다수.

InitialMajority(): u32

  • interface: api.query.relayManager.initialMajority

  • summary: 현재 라운드 시작 시 현재 활성 릴레이어 세트의 다수.

CachedMajority(): Vec<(RoundIndex, u32)>

  • interface: api.query.relayManager.cachedMajority

  • summary: 이전 라운드에서 선택된 활성 릴레이어 세트를 기반으로 캐시된 다수.

CachedInitialMajority(): Vec<(RoundIndex, u32)>

  • interface: api.query.relayManager.cachedInitialMajority

  • summary: 각 이전 라운드 시작 시 선택된 활성 릴레이어 세트를 기반으로 캐시된 다수.

ReceivedHeartbeats(AccountId): bool

  • interface: api.query.relayManager.receivedHeartbeats

  • summary: 현재 세션에서 특정 릴레이어의 수신된 하트비트.

IsHeartbeatOffenceActive(): bool

  • interface: api.query.relayManager.isHeartbeatOffenceActive

  • summary: 릴레이어 하트비트 위반 관리의 활성화 여부.

HeartbeatSlashFraction(): Perbill

  • interface: api.query.relayManager.heartbeatSlashFraction

  • summary: 하트비트 위반에 대한 슬래시 (slash) 비율.

Constants

StorageCacheLifetimeInRounds: u32

  • interface: api.consts.relayManager.storageCacheLifetimeInRounds

  • summary: 스토리지 데이터가 캐시될 수 있는 라운드 기준 최대 수명.

IsHeartbeatOffenceActive: bool

  • interface: api.consts.relayManager.isHeartbeatOffenceActive

  • summary: 릴레이어 하트비트 위반 관리의 활성화 여부.

DefaultHeartbeatSlashFraction: Perbill

  • interface: api.consts.relayManager.defaultHeartbeatSlashFraction

  • summary: 하트비트 위반에 대한 기본 슬래시 (slash) 비율.

PreviousBfcOffencesNext클라이언트 API

Last updated 8 days ago