블록
Arc는 약 0.5초마다 블록을 커밋하고 각 블록은 자신의 페이지를 갖습니다 — 높이로도 해시로도 닿을 수 있으며, 존재하는 순간 확정됩니다.
블록에 닿는 두 가지 방법#
높이와 32바이트 블록 해시는 모두 같은 페이지로 이어지며, 이는 EIP-3091이 익스플로러에 요구하는 바입니다. 정식 표기는 높이입니다: Arcscan의 모든 링크가 내보내는 것이 높이이고, 해시 URL은 canonical 태그를 높이로 되돌려 두 표기가 두 페이지로 취급되지 않도록 합니다.
https://arc-scan.io/en/block/14852000 https://arc-scan.io/en/block/0xb6a8c3b65b23486cb3b99ac35d60b68009f43daa768a43c16b296cf2c7466968
10진 숫자도 아니고 0x + 16진 64자도 아닌 것은 조회 없이 404입니다. 형식은 맞지만 한 번도 커밋된 적 없는 해시 역시 404이지만, 그것은 체인만이 판단할 수 있으므로 요청 한 번이 듭니다. 눈으로 블록을 고르려면 블록 목록새 탭에서 열립니다에서 시작하십시오.
블록 페이지가 보여 주는 것#
라벨이 붙은 행 세 묶음, 그리고 호환용 헤더를 담은 접힘 영역입니다. 아래의 항목 이름은 페이지에 실제로 찍히는 이름이므로 둘을 나란히 놓고 읽으실 수 있습니다.
개요#
| 항목 | Arc에서의 의미 |
|---|---|
| 블록 높이 | 체인에서 이 블록의 위치입니다. 숫자 옆의 화살표로 이전 블록과 다음 블록으로 이동하며, 제네시스와 저희가 본 가장 새로운 블록에서 멈춥니다. |
| 상태 | 언제나 최종 확정입니다. Arc는 "finality": "instant"를 보고하므로 기다려야 할 컨펌 수가 없고, 페이지도 그것을 표시하지 않습니다. |
| 타임스탬프 | 블록이 커밋된 시각이며 해상도는 1초입니다 — 그래서 0.5초 차이로 생성된 두 블록이 같은 타임스탬프를 갖는 일이 흔합니다. |
| 트랜잭션 | 이 블록이 담은 트랜잭션 수이며, 트랜잭션 탭으로 연결됩니다. 내부 트랜잭션 수는 알 수 있을 때에만 같은 문장에 덧붙습니다. |
| 제안자 | 이 블록을 제안한 검증자 주소입니다. 채굴자가 아니며 블록 보상 행도 없으므로, 페이지의 어떤 것도 보상이 지급되었다고 암시하지 않습니다. |
| 지불된 수수료 | 이 블록의 총 트랜잭션 수수료이며 단위는 USDC입니다. |
| 크기 | 직렬화된 이 블록의 크기(바이트)입니다. |
| 트랜잭션 동작 | 트랜잭션 하나당 사각형 하나를 블록 순서대로 놓고, 그 트랜잭션이 무엇을 했는지에 따라 색을 칠합니다. 저희 인덱스에서 나오는 값이므로 인덱스가 없는 배포에서는 이 행이 비어 있는 것이 아니라 아예 없습니다. |
| 사용 가스 | 이 블록의 트랜잭션들이 소비한 가스와 한도 대비 비율, 그리고 막대입니다. 막대는 어떤 비율에서도 한 가지 색입니다: 거의 가득 찬 Arc 블록은 정상이지 결함이 아닙니다. |
| 가스 한도 | 이 블록이 소비할 수 있었던 최대 가스입니다. |
| 가스당 기본 수수료 | 이 블록의 가스 가격이며, USDC 금액으로 표시하고 옆에 gwei 수치를 다시 적습니다. |
| 소각 수수료 | 지불된 수수료 중 소각된 부분입니다 — 위의 지불된 수수료 수치의 일부이며 결코 그보다 크지 않습니다. |
| 추가 데이터 | 텍스트가 아닙니다. Arc에서 extraData는 8바이트 빅엔디언 기본 수수료이므로, UTF-8로 해석해 깨진 문자를 만드는 대신 원본 16진수를 디코딩된 값 옆에 함께 보여 줍니다. |
extraData 디코딩은 한 번쯤 볼 만합니다. 이더리움용으로 만들어진 도구가 가장 잘못 읽기 쉬운 항목이기 때문입니다. 저희가 측정한 메인넷 헤드 블록에서는 이렇습니다:
extra_data.raw 0x00000004a817c800 0x00000004a817c800 = 20000000000 wei base_fee_gwei 20
상세 정보#
상세 정보 토글 뒤에는 Arc가 클라이언트 호환성을 위해 유지하는 헤더 항목들이 있습니다. Arc에 대해 무언가를 말해 주기 때문이 아니라, 독자가 루트 값을 검증기에 복사해 넣을 수 있도록 놓아 둔 것입니다.
| 항목 | 의미 |
|---|---|
| 해시 | 이 블록 헤더의 해시입니다. |
| 이전 블록 해시 | 직전 블록의 해시이며, 그 블록으로 연결됩니다. |
| StateRoot | 이 블록 이후 상태 트라이의 루트입니다. |
| ReceiptsRoot | 이 블록 영수증 트라이의 루트입니다. |
| TransactionsRoot | 이 블록 트랜잭션 트라이의 루트입니다. |
| 논스 | 이더리움 도구가 계속 동작하도록 유지되는 값입니다. 저희가 표본으로 살펴본 모든 블록에서 0x0000000000000000이었으며, 여기서는 합의상 의미가 없습니다. |
| 원본 헤더 | 이더리움 형태 헤더의 나머지입니다 — difficulty, sha3Uncles, logsBloom, mixHash, withdrawalsRoot, 블롭 가스 항목들. 각 값은 실제 값이고 복사할 수 있지만, Arc에서 의미를 갖는 것은 하나도 없습니다. |
헤더 항목 하나는 일부러 표시하지 않습니다
parentBeaconBlockRoot는 저희가 표본으로 살펴본 모든 Arc 블록에서 부모 해시와 바이트 단위로 동일합니다. 이를 별도의 행으로 찍으면 독자가 다시 대조해야 할, 이름만 다른 두 번째 부모 포인터를 만들어 내는 셈이므로, 페이지는 그것을 빼고 부모 해시를 한 번만 보여 줍니다.
세 개의 탭#
개요는 위의 카드입니다. 트랜잭션는 이 블록의 트랜잭션을 위치 순서로 나열하고 자신의 라벨 안에 개수를 담습니다 — 개수를 알 수 없을 때는 개수를 아예 표시하지 않습니다. 참여자는 그 트랜잭션들을 보낸 주소를 지불한 수수료 순으로 정렬합니다.
0.5초, 그리고 도착하는 순간 확정#
오늘 /v1/chain에서 측정한 값: 메인넷은 블록당 506 ms, 테스트넷은 536 ms입니다. 둘 다 프로토콜 상수가 아니라 API가 보고하는 측정값이므로, 어느 쪽도 코드에 박아 넣지 말고 그곳에서 읽으십시오. 두 체인 모두 최종성은 instant입니다: 커밋된 블록은 되돌릴 수 없고, 재구성도 없으며, 따라서 블록 페이지는 한 번 그려지면 영원히 정확합니다.
빈 블록은 정상입니다
Arc는 누가 무엇을 보냈든 보내지 않았든 일정대로 블록을 커밋합니다. 메인넷의 높이 1, 14,000,000, 14,852,000는 각각 본문이 온전히 남아 있는 상태로 트랜잭션 0건을 담았습니다 — 그것은 저희 데이터의 공백이 아니라 한가한 체인이며, 페이지는 고장 난 것처럼 보이는 대신 그렇다고 분명히 말합니다.
수수료와 가스는 USDC입니다#
Arc의 가스는 USDC로 지불하므로 블록 페이지의 수수료 행은 이미 달러 금액입니다 — 오라클도, 환산도 없습니다. 네이티브 통화는 소수 18자리를 쓰고, 0x3600000000000000000000000000000000000000의 ERC-20 USDC는 6자리를 씁니다. 두 배율이 모두 사이트에 등장하므로, 원시 금액을 읽을 때 어느 한쪽이라고 가정하지 마십시오.
block 14,852,345 Fees Paid 0.0009989545 USDC
Burnt Fees 0.00092926 USDC
Base Fee 20 Gwei알 수 없음은 0이 아닙니다#
노드가 블록 본문을 더 이상 보관하지 않아도 헤더는 여전히 온전합니다 — 높이, 타임스탬프, 제안자, 사용 가스, 크기, 모든 루트가 실제 값입니다 — 그러나 본문에서 나오는 개수들은 사라집니다. API가 그 블록에 대해 그렇다고 밝히고, 페이지는 숫자가 놓일 자리에 조회할 수 없음을 찍으며 그 위에 이 블록의 트랜잭션과 수수료는 0이 아니라 알 수 없는 값입니다 제목의 배너를 둡니다. 트랜잭션 탭과 참여자 탭도 빈 블록이라고 보고하는 대신 같은 배너를 답니다.
이 구분이 절대 규칙인 이유
프루닝된 블록에 대해 API가 tx_count: 0을 반환하는 것은 돌려줄 다른 숫자가 없기 때문입니다. 그 0을 그려 내면, 아무도 그 블록이 무엇을 담았는지 알 수 없는 상황에서 트랜잭션을 하나도 담지 않았다고 다섯 언어로 말하는 셈이 됩니다. 테스트넷 블록 30,000,000이 살펴볼 만한 사례입니다: gas_used가 1,015,512이므로 분명히 무언가 일어났지만, 그 본문은 pruned로 표시되어 있습니다.
Arcscan은 숫자와 트랜잭션 목록 링크를 함께 없앱니다: 나열할 수 없는 탭은 독자를 보낼 곳이 아니기 때문입니다. 이 동작에는 회귀 테스트가 있으며, 여기에만이 아니라 어디에나 적용됩니다.
블록은 얼마나 과거까지 있는가#
블록 페이지는 헤더를 위해 체인을, 파생된 모든 것을 위해 저희 인덱스를 필요로 합니다. 두 체인은 서로 다른 지점에서 시작하며, 제네시스에서 시작하는 쪽은 하나뿐입니다.
| 체인 | 인덱싱 시작 | 그 뜻 |
|---|---|---|
| Arc 메인넷 (5042) | 블록 0 | 제네시스부터 연속으로 인덱싱되어 있으므로 모든 메인넷 블록에 페이지가 있습니다. |
| Arc Testnet (5042002) | 블록 53,500,000 | 그 높이 아래의 것은 저희 인덱스에 전혀 없습니다. 그 아래의 빈 답은 체인의 공백이 아니라 저희에게 없는 이력입니다. |
위쪽 경계는 두 체인 모두에서 초당 두 번쯤 움직이므로 여기에는 그 수치를 적지 않습니다 — /v1/chain이나 익스플로러에서 실시간으로 읽으십시오. 블록 페이지를 읽는 동안 알아 둘 만한 공백이 하나 있습니다: traces 인덱스 스트림은 현재 두 체인 모두에서 블록을 하나도 보유하지 않습니다. 블록의 내부 트랜잭션 수가 트랜잭션 행에서 대개 빠져 있는 이유가 그것입니다. 다시 말하지만 0이 아니라 없는 것입니다.