본문으로 건너뛰기

노드 로그

이 페이지는 카이아 노드의 중요하거나 자주 묻는 로그에 대해 자세히 설명합니다. 카이아 로그를 수정하거나 새로 추가/삭제한 경우, 이 페이지도 수정해 주세요.

For more detailed information about log types, you can refer to log_modules.go

If you encounter any abnormal situation, please report it to the kaia team via github, Kaia Forum, or Discord.

오류 로그

로그 유형노드 유형로그 메시지설명권장 가이드
BlockchainCN/PN/EN########## BAD BLOCK #########Chain config: %v

Number: %vHash: 0x%x%v

Error: %v##############################
배드 블록은 수신한 영수증과 실행 결과가 일치하지 않을 때 발생합니다. 노드가 불량 블록 로그와 함께 중지되는 경우 두 가지 이유가 있을 수 있습니다.
- 사례 1. 바이너리 버전과 같이 노드의 구성이 잘못된 경우입니다.
- 사례 2. 코드에 문제가 있습니다. 다른 노드에서도 동일한 문제가 발생할 가능성이 매우 높습니다.
이 오류는 매우 중요하므로 잘못된 블록을 발견하면 이슈를 만들거나 Kaia GitHub 리포지토리에 신고해 주세요.
ConsensusIstanbulCoreCN/PN/ENDrop an empty message from timeout channel라운드 변경 타이머가 만료된다는 의미입니다. 타이머가 실수로 종료되면 이 오류가 출력됩니다.다운로더가 시작될 때 이 오류가 발생할 수 있습니다. 다음 로그도 Block synchronisation started으로 출력되는지 확인하세요.
NetworksP2PCN/PN/ENProtocol istanbul/64 failed id=04680a827fa1b240 conn=staticdial err="write tcp 10.117.2.105:34396->10.117.2.27:32323: use of closed etwork connection"

Protocol istanbul/64 failed err="shutting down"
이 로그는 다른 노드가 연결이 끊어지면 인쇄될 수 있습니다. 보통 Disconnected a P2P Peer 로그가 뒤따릅니다.연결이 끊긴 피어가 다시 연결되었는지 확인합니다. If it is not reconnected, check the network status or peer connection admin_peers
NodeCNCNfail to SendNewBlockHashes err="write tcp 10.117.2.124:24108->10.117.2.108:32323: use of closed network connection"

fail to SendNewBlockHashes err="shutting down"
Protocol istanbul/64 failed와 같음Protocol istanbul/64 failed와 같음
NodeCNCNfail to SendNewBlock peer=d35220eccdb0de7b err="shutting down"Protocol istanbul/64 failed와 동일Protocol istanbul/64 failed와 동일
NetworksRPCEN (대부분)FastWebsocketHandler fail to upgrade message error="websocket: version != 13"웹소켓 연결의 버전 문제요청 헤더에 값이 13으로 설정된 Sec-Websocket-Version 필드가 포함되어야 합니다. You may not have used kaia rpc client.

경고 로그

로그 유형노드 유형로그 메시지설명권장 가이드
BlockchainCN/PN/ENUpgrade database version from=N/A to=3노드 시작 시 기록됨처리할 필요가 없습니다.
ConsensusIstanbulCoreCN[RC] round=라운드 변경 로그는 [RC] 태그로 시작됩니다.라운드가 한두 라운드로 끝나지 않고 계속 올라간다면 네트워크 상태나 피어 연결을 먼저 분석해야 합니다. peer connection check api: admin_peers
ConsensusIstanbulCoreCNunexpected request address= state="Accept request" seq=312 err="old message" number=311 hash=d960ea…6df6de제안자가 블록을 채굴했지만 예기치 않은 것으로 판명되었습니다. 대부분의 경우 새 블록이 되기에는 너무 오래되었습니다.처리할 필요가 없습니다.
노드CN/PN/ENFailed doConnTypeHandshake addr=10.117.2.252:28516 conn=inbound conntype=-1 err="read tcp 10.117.2.78:32324->10.117.2.252:28516: i/o timeout두 P2P 피어는 다이얼링으로 연결을 설정합니다. 설정에 실패하면 이 로그가 인쇄됩니다.연결이 끊긴 피어가 다시 연결되는지 확인하세요. If not, check the network status or peer connection peer connection check api: admin_peers
NodeCNPN/ENFailed to filter bodies peer=c02e4b4d471c56b9 lenTxs=1노드가 가져올 때 원하지 않는 블록 헤더를 수신했습니다. - lenTxs: 요청되지 않은 txs 수처리할 필요가 없습니다.
WorkCNTransaction aborted due to time limit hash=채굴 시 블록 실행 시간이 250ms를 넘지 않아야 하므로 이 시간 제한으로 인해 마지막 트랜잭션이 중단될 수 있습니다.트랜잭션이 블록에 진입했는지 확인합니다.
WorkCNTransaction failed, account skipped hash=b1b26c...6b220a err="insufficient balance for transfer"

Error(before v1.6.2)
Warn(after v1.6.2)
from 계정의 잔액이 부족하여 채굴 중 거래가 실행되지 않는 경우 (이론적으로는 트랜잭션을 생성하여 txpool에 입력할 당시에는 잔액이 충분하였으나 실제 실행 시에는 그렇지 않은 경우 발생함).from 계정의 잔액이 실제로 부족하지 않은지 확인합니다.

정보 로그

info 로그에는 노드 상태에 대해 자세히 알 수 있는 추가 정보가 포함되어 있으므로 info 레벨 로그를 처리할 필요가 없습니다.

로그 유형노드 유형로그 메시지설명
BlockchainCN/PN/ENRegenerated local transaction journal transactions=0 accounts=0노드가 종료되면 로컬 트랜잭션이 파일에 저널링됩니다(기본 파일 이름은 transactions.rlp). 저널링된 파일로 노드를 재시작하면 파일을 기반으로 로컬 트랜잭션을 다시 생성할 수 있습니다. - transactions: 재생성된 로컬 트랜잭션의 수입니다. - accounts: 재생성된 계정 수(==from)
BlockchainCN/PN/ENInserted a new block number=14 hash=13cbfc…f007fc txs=0 gas=0 elapsed=793.458µs processTxs=167ns finalize=157.708µs validateState=7.542µs totalWrite=443.417µs trieWrite=256.667µs노드가 해당 블록의 제안자가 아니고 합의에 성공하면 해당 노드는 블록을 실행(==validates)한 것입니다. 즉, 블록이 삽입된 것입니다. - gas: 트랜잭션 실행 중 소비된 총 가스입니다. 이 필드는 일반적으로 네트워크를 테스트하여 블록당 사용된 가스를 찾을 때 사용됩니다.
NetworksP2PCN/PN/EN[Dial] Add dial candidate from static nodes id=62a08a4b9f091c4b NodeType=0 ip=10.117.2.8 mainPort=32323 port=[32323]새 P2P 피어가 연결되며, 이 노드는 정적 노드입니다. static-nodes.json 또는 addpeer api를 사용하여 수동으로 추가한 노드를 정적 노드라고 합니다. 멀티채널인 경우, 두 개의 포트를 사용합니다. 예) [32323, 32324]. - id: 정적 피어 아이디 - NodeType: 정적 노드 타입(cn,pn,en,bn) - ip: 정적 IP - mainPort: 정적 TCP 수신 포트 번호 - port: 메인 포트와 서브 포트를 모두 포함한 정적 TCP 수신 포트 번호.
NetworksP2PCN/PN/ENAdded a multichannel P2P Peer id=28a6760472a078fb conn=staticdial peerID=28a6760472a078fb새 피어가 멀티채널 피어로 연결됩니다. - id/peerID: 내 노드의 피어 ID - conn: 연결 유형 - 인바운드: 누군가 나를 연결함 - staticdial: static-nodes.json 또는 addPeer와 같은 정적 연결 - trusteddial: trust-nodes.json과 같은 신뢰 연결. 최대 연결 수를 초과하더라도 항상 다시 연결하고 설정할 수 있습니다.
NetworksP2PCN/PN/ENDisconnected a multichannel P2P Peer id=28a6760472a078fb conn=inbound peerID=28a6760472a078fb peerName=Kaia/v1.7.3+acae89350c/darwin-arm64/go1.18.1 err=EOF멀티채널 피어의 연결이 끊어졌습니다. - peerName: 내 노드 정보가 표시됩니다 - err: 연결이 끊어진 이유
NetworksP2PCN/PN/ENProtocolManager.processConsensusMsg closed id=28a6760472a078fb conn=inbound PeerName=Kaia/v1.7.3+acae89350c/darwin-arm64/go1.18.1P2P 노드의 연결이 끊어지면, 노드 간 합의 메시지 채널도 함께 닫힙니다.
StorageStateDBCN/PN/ENPersisted trie from memory database blockNum=23460 updated nodes=4 updated nodes size=499.00B time=539.959µs gcnodes=68 gcsize=10.55kB gctime=226.499µs livenodes=245 livesize=37.80kB이 로그는 트라이 데이터베이스가 커밋되었음을 알리기 위해 출력합니다. 여기서 커밋은 변경 사항을 실제 DB로 플러시하는 것을 의미합니다. 커밋은 주기적으로 수행됩니다. - 사례 1. 노드가 풀 노드인 경우, 128블록마다 트라이 커밋이 수행됩니다. - 사례 2. 노드가 아카이브 노드인 경우, 모든 블록에 대해 시도 커밋을 수행합니다. 다음 상황에서도 커밋이 이루어집니다. - 노드가 종료되면 커밋이 수행됩니다. - 메모리 크기가 한도를 초과하면 커밋이 수행됩니다. 팁. - gc는 가비지 컬렉션을 의미합니다. 여기서 가비지 콜렉션은 트라이 노드 변경에 대한 DB 쓰기를 플러시하는 것을 의미합니다. - 풀 노드는 128사이클마다의 정보와 최근 128블록의 정보를 저장합니다. - 아카이브 노드는 모든 블록의 정보를 저장합니다.
WorkCNCommit new mining work number=14 hash=438ef7…68ca7f txs=0 elapsed=605.375µs commitTime=184.708µs finalizeTime=414.375µs모든 CN은 라운드 변경에 대비하여 블록을 채굴합니다 - number: 블록 번호 - hash: 블록 해시(최종 버전이 아님) - txs: 블록의 트랜잭션 수 - elapsed: 총 블록 채굴 시간(commitTime + finalizeTime) - commitTime: 블록의 트랜잭션 실행 시간 - finalizeTime: 블록 최종 완료 시간
WorkCNSuccessfully sealed new block number=14 hash=13cbfc…f007fc[제안자만] 새 블록을 봉인하는 데 성공했습니다. 봉인에는 다음 단계가 포함됩니다. - 블록에 대한 Ibft 합의 프로세스. - 블록의 타임스탬프와 서명 업데이트
WorkCNSuccessfully wrote mined block num=14 hash=13cbfc…f007fc txs=0 elapsed=617.709µs[제안자만] 노드가 제안자이고 합의에 성공한 경우, 제안자는 블록 실행 결과를 DB에 저장해야 합니다. 이 로그는 저장에 성공했음을 의미합니다.
WorkCNMining too far in the future wait=1s1초의 블록 생성 기간을 유지하기 위해 노드는 "1초 - 이전 블록 생성/전파/실행 시간" 동안 슬립합니다. - wait: 노드가 잠자기하는 시간
VMCN/PN/ENReturning since the addr is not a program account addr=누군가 존재하지 않는 컨트랙트를 호출하려고 시도합니다. 팁. 카이아에서 프로그램 계정은 컨트랙트 계정과 동일합니다.