Command Line 환경에서 Block 체결시 이벤트 받기(User-Interrupt가 있을 때까지 계속 실행)

블록체결시 이벤트를 받으려면 아래와 같이 해야한다고 알고 있습니다.
커맨드라인 환경에서 node로 아래의 코드를 실행했더니 바로 실행이 끝납니다.
(브라우저 환경에서의 예제인것 같습니다.)

caver.rpc.klay.subscribe('newBlockHeaders', (error, event) => {
    if (error) {
        // error handling
    }

    console.log(`New Block Headers: ${caver.utils.hexToNumber(event.number)}`)
})

이럴때 ethers.js와 비슷한게 user interrupt(ctrl + c)가 있을 때까지 계속 실행되면서
콘솔에 로그를 찍게 하려면 어떻게 해야할 까요?

provider.on("block", (blockNumber) => {
    console.log(blockNumber);
});

감사합니다.

안녕하세요.

websocket provider를 사용하시기 바랍니다. 아래 예제 참고해주시기 바랍니다.

 const websocketProvider = new Caver.providers.WebsocketProvider('ws://{your en url}:{port}')
 const caver = new Caver(websocketProvider)
 caver.currentProvider.connection.close()
1 Like