func GetGenesisBlockForShard(shardID uint64) ShardBlock {
	var transactions []ShardTransaction

	transactionRoot, err := ssz.HashTreeRoot(transactions)
	if err != nil {
		panic(err)
	}

	return ShardBlock{
		Header: ShardBlockHeader{
			PreviousBlockHash:   chainhash.HashH([]byte(fmt.Sprintf("%d", shardID))),
			Slot:                0,
			Signature:           [48]byte{},
			StateRoot:           EmptyTree,
			TransactionRoot:     transactionRoot,
			FinalizedBeaconHash: chainhash.Hash{},
		},
		Body: ShardBlockBody{
			Transactions: nil,
		},
	}
}
// GetGenesisBlockForShard gets the genesis block for a certain shard.
GetGenesisBlockForShard gets the genesis block for a certain shard.
// GetGenesisBlockForShard gets the genesis block for a certain shard .
func GetGenesisBlockForShard(shardID uint64) ShardBlock {
	var transactions []ShardTransaction
	transactionRoot, err := ssz.HashTreeRoot(transactions)
	if err != nil {
		panic(err)
	}
	return ShardBlock{
		Header: ShardBlockHeader{
			PreviousBlockHash:   chainhash.HashH([]byte(fmt.Sprintf("%d", shardID))),
			Slot:                0,
			Signature:           [48]byte{},
			StateRoot:           EmptyTree,
			TransactionRoot:     transactionRoot,
			FinalizedBeaconHash: chainhash.Hash{},
		},
		Body: ShardBlockBody{
			Transactions: nil,
		},
	}
}
func GetGenesisBlockForShard ( shardID uint64 ) ShardBlock { var transactions [ ] ShardTransaction transactionRoot , err := ssz . HashTreeRoot ( transactions ) if err != nil { panic ( err ) } return ShardBlock { Header : ShardBlockHeader { PreviousBlockHash : chainhash . HashH ( [ ] byte ( fmt . Sprintf ( " " , shardID ) ) ) , Slot : 0 , Signature : [ 48 ] byte { } , StateRoot : EmptyTree , TransactionRoot : transactionRoot , FinalizedBeaconHash : chainhash . Hash { } , } , Body : ShardBlockBody { Transactions : nil , } , } }
GetGenesisBlockForShard gets the genesis block for a certain shard.
GetGenesisBlockForShard gets the genesis block for a certain shard .