서비스 체인 업그레이드
클레이튼과 서비스체인은 새로운 기능을 개발하고 버그를 수정하기 위해 지속적으로 새로운 버전을 출시하고 있습니다. 이 페이지는 서비스체인 바이너리를 업그레이드하고 서비스체인의 하드포크 블록 번호를 설정하는 방법에 대한 가이드입니다.
업그레이드
이 섹션에서는 ServiceChain 바이너리를 업그레이드하는 방법을 설명합니다.
참고 서비스체인 바이너리 업그레이드는 되돌릴 수 없고 이전 버전과 호환되지 않을 수 있으므로 이전 버전으로 다운그레이드할 수 없습니다. 자세한 내용은 릴리스 노트를 참고하세요. 예를 들어, Klaytn v1.9.0 릴리스 노트를 참고하세요:
참고: 이 버전은 스냅샷 동기화를 지원하도록 데이터베이스 버전을 업데이트합니다. v1.9.0으로 업데이트한 후에는 기존 데이터가 있는 이전 버전으로 다운그레이드할 수 없습니다.
아래 링크 중 하나에서 최신 버전의 클레이튼과 서비스체인 바이너리를 받을 수 있습니다:
서비스체인 바이너리를 업그레이드하려면 서비스체인 노드를 중지하고 바이너리를 교체합니다. 예를 들어, 아래 명령을 사용하여 SCN 노드를 중지하고 바이너리를 최신 버전으로 바꿀 수 있습니다.
$ kscnd stopShutting down kscnd: OK$ cp /path/to/new/kscn /path/to/original/kscn
업그레이드 후 서비스체인 노드를 다시 시작할 수 있습니다. 단, 서비스체인에서 하드포크를 진행하려는 경우 서비스체인 노드를 다운 상태로 유지해야 합니다. 서비스체인 하드포크에 대한 안내는 하드포크를 참고하세요.
$ kscnd start
하드 포크
이 섹션에서는 클레이튼 하드포크를 서비스체인에 적용하는 단계를 설명합니다.
서비스체인에 하드포크를 적용하려면 다음을 수행해야 합니다:
- 하드포크에 적합한 블록 번호를 선택합니다.
- 서비스체인 바이너리를 하드포크를 지원하는 버전으로 업그레이드합니다.
- 서비스체인에 서 하드포크 블록 번호를 설정합니다.
1) 하드포크에 적합한 블록 번호 선택
서비스체인의 JavaScript 콘솔에서 아래와 같이 현재 블록 번호를 확인할 수 있습니다.
$ kscn attach ~/kscnd_home/klay.ipcWelcome to the Klaytn JavaScript console!instance: Klaytn/vX.X.X/XXXX-XXXX/goX.X.X datadir: ~/kscnd_home modules: admin:1.0 debug:1.0 eth:1.0 governance:1.0 istanbul:1.0 klay:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0> klay.blockNumber1234
이제 하드포크를 활성화하기 위해 적절한 블록 번호를 선택해야 합니다. 현재 블록과 하드포크 블록 사이에 충분한 블록 수(매초마다 생성됨)가 있는지 확인해야 합니다.
2. 서비스체인 바이너리 업그레이드
서비스체인 바이너리 업그레이드에 대한 지침은 이 페이지의 업그레이드 섹션을 참조하세요. 지금은 서비스체인 노드를 다운(또는 중지) 상태로 유지해야 합니다. 하드포크 블록 번호를 설정한 후 다시 시작하게 됩니다.
3. 하드포크 블록 번호 설정
원하는 하드포크를 지원하는 버전으로 서비스체인 바이너리를 업그레이드한 경우, 업데이트된 제네시스로 체인 구성을 다시 초기화하여 서비스체인에서 하드포크 블록 번호를 설정할 수 있습니다.