Closed tkdlqm2 closed 3 years ago
POS regression test 는
Genesis : POS 환경에서 선언된 모든 노드가 동일한 Genesis block을 갖고 있는지 확인하는 테스트
peer connection : POS 환경에서 연결 선언된 peer가 제대로 연결이 되는지 확인하는 테스트
stake
: stakefile.txt
파일에는 사전에 노드들의 지분 비율이 정의가 되어있음. 해당 txt 파일에 선언된 비율이 제대로 초기화 되는지 확인하는 테스트.
blockcreator ratio : 3번 테스트에서 비율에 맞게 셋팅이 되었으면, 비율에 맞게 블록을 제대로 생성하는지 확인하는 테스트.
이렇게 진행이 됩니다.
이전 regression test를 진행하는 동안 1,2 번 테스트는 자주 설명드렸던 부분이라 생략하고 POS regression test에서 처음 등장한 stake, blockcreator ratio test에 대해 설명을 하겠습니다.
stakefile.txt
파일이 항상 존재하며, 없으면 실행이 되지 않는다. 왜냐하면 stakefile.txt
에 정의된 stake에 의해 노드들의 지분이 셋팅이 되기 때문이다. stakefile.txt
는 다음처럼 정의가 되어 있음.
0:30
1:60
이는 0번 노드가 30, 1번 노드가 60이라는 지분을 셋팅해주기 위함임. shadow를 실행하면 이렇게 셋팅이 된 txt파일의 값을 통해 지분이 셋팅이되고, 시뮬레이션 환경에서 제대로 지분이 셋팅이 되었는지 확인하는 테스트이다.
4. blockcreator ratio test
3번에서 보셨듯이 지분 비율은 0번 노드와 1번 노드의 비율은 1:2 비율이다. 그렇기에 블록 생성 시 그 비율 또한 1:2여야한다. 즉 4번 테스트는 비율에 맞게 블록을 생성한지 확인하기 위한 테스트이다.
BLEEP - POS regression test
Originally posted by @tkdlqm2 in https://github.com/kaistshadow/blockchain-sim/issues/326#issuecomment-861271057