Ledger 헤더(Ledger Header)

모든 ledger 버전에는 내용을 설명하는 고유한 헤더가 있습니다. ledger 메소드를 사용하여 ledger의 헤더 정보를 조회할 수 있습니다. ledger 헤더의 내용은 다음과 같습니다:

필드

JSON 유형

내부 유형

설명

ledger_index

문자열

UInt32

ledger의 ledger 인덱스입니다. 일부 API 메소드는 이것을 인용된 정수로 표시합니다. 일부는 기본 JSON 번호로 표시합니다.

ledger_hash

문자열

해시256

이 ledger 버전의 SHA -512Half입니다. 이것은 이 ledger와 모든 내용에 대한 고유 식별자 역할을 합니다.

account_hash

문자열

해시256

SHA-512는 ledger의 상태 트리 정보 절반입니다.

close_time

숫자

Uint32

2000-01-01 00:00:00의 Ripple 에포크 이후 초 단위로 이 ledger 버전이 닫힌 대략적인 시간입니다. 이 값은 close_time_resolution를 기준으로 반올림됩니다.

closed

boolean

boolean

true인 경우 이 ledger 버전은 더 이상 새 거래를 수락하지 않습니다. (단, 이 ledger 버전의 유효성이 검증되지 않으면 다른 거래 집합을 가진 다른 ledger 버전으로 대체될 수 있습니다.)

parent_hash

문자열

해시256

이 ledger의 직접 이전 버전인 이전 원장 버전의 ledger_hash 값입니다. 이전 ledger 인덱스의 버전이 다른 경우, 이는 ledger이 어느 버전에서 파생되었는지를 나타냅니다.

total_coins

문자열

UInt64

ledger의 계정이 소유한 XRP의 총 드롭 수입니다 . 이것은 거래 수수료로 소실된 XRP를 생략합니다. 일부 계정은 누구에게도 키가 알려지지 않은 "블랙홀"이기 때문에 실제 유통되는 XRP의 양은 더 적습니다.

transaction_hash

문자열

해시256

SHA-512가 ledger에 포함된 거래의 절반입니다.

close_time_resolution

숫자

Uint8

반올림할 수 있는 최대 close_time시간(초)을 나타내는 [2,120] 범위의 정수입니다.

closeFlags

(생략)

Uint8

이 ledger의 마감과 관련된 플래그의 비트맵입니다.

Ledger 인덱스(Ledger Index)

ledger 인덱스는 ledger을 식별하는 데 사용되는 32비트 부호 없는 정수입니다. ledger 인덱스는 ledger의 시퀀스 번호라고도 합니다. (이는 계정 시퀀스와는 다릅니다.) 첫 번째 ledger은 ledger 인덱스 1이며, 각각의 새 ledger은 바로 앞 ledger의 ledger 인덱스보다 1 높은 ledger 인덱스를 갖습니다.

ledger 인덱스는 ledger의 순서를 나타내며, 해시 값은 ledger의 정확한 내용을 식별합니다. 동일한 해시를 가진 두 개의 ledger은 항상 동일합니다. 검증된 ledger의 경우 해시값과 ledger 인덱스는 동일하게 유효하며 1:1의 상관관계를 갖습니다. 그러나 진행 중인 ledger의 경우 그렇지 않습니다:

  • 네트워크 전체에 트랜잭션을 전파하는 데 걸리는 지연 시간으로 인해 두 개의 서로 다른 rippled 서버는 동일한 ledger 인덱스를 가진 현재 ledger에 대해 서로 다른 내용을 가질 수 있습니다.

  • 컨센서스를 통해 유효성을 검증받기 위해 경쟁하는 여러 개의 폐쇄 ledger 버전이 있을 수 있습니다. 이러한 ledger 버전은 ledger 인덱스는 같지만 내용이 다르고 해시가 다릅니다. 이러한 폐쇄 ledger 중 하나만 검증될 수 있습니다.

  • 현재 오픈 ledger의 해시는 계산되지 않습니다. 이는 현재 ledger의 내용이 시간이 지남에 따라 변경되어 ledger 인덱스가 동일하게 유지되더라도 해시가 변경될 수 있기 때문입니다. ledger의 해시는 ledger이 닫힐 때만 계산됩니다.

플래그 닫기(Close Flags)

ledger closeFlags에 대해 정의된 플래그가 하나뿐입니다: sLCF_NoConsensusTime(값 1). 이 플래그가 활성화된 경우, 검증인들이 ledger에 대해 서로 다른 마감 시간을 가졌지만 그 외에는 동일한 ledger을 만들었으므로, 마감 시간에 대해 "동의하지 않기로 동의"하면서 합의를 선언했음을 의미합니다. 이 경우, ledger의 공식 close_time 값은 부모 ledger의 1초 후입니다.

closeFlags 필드는 ledger의 JSON 표현에는 포함되지 않지만, ledger의 바이너리 표현에는 포함되며 ledger의 해시를 결정하는 필드 중 하나입니다.

참고(See Also)

분산 원장의 기초에 대해서는 Ledgers를 참고하세요.

Last updated