priv_key.go
func (privKey PrivKeyEd25519) Generate(index int) PrivKeyEd25519 {
	bz, err := cdc.MarshalBinaryBare(struct {
		PrivKey [64]byte
		Index   int
	}{privKey, index})
	if err != nil {
		panic(err)
	}
	newBytes := Sha256(bz)
	newKey := new([64]byte)
	copy(newKey[:32], newBytes)
	ed25519.MakePublicKey(newKey)
	return PrivKeyEd25519(*newKey)
}
func (privKey PrivKeyEd25519) Generate(index int) PrivKeyEd25519 {
	bz, err := cdc.MarshalBinaryBare(struct {
		PrivKey [64]byte
		Index   int
	}{privKey, index})
	if err != nil {
		panic(err)
	}
	newBytes := Sha256(bz)
	newKey := new([64]byte)
	copy(newKey[:32], newBytes)
	ed25519.MakePublicKey(newKey)
	return PrivKeyEd25519(*newKey)
}
// Deterministically generates new priv-key bytes from key.