divide block.go into block.go and blockhistory.go