func (privateKey PrivateKey) Public() (result PublicKey) {
	publicKey := ed25519.PrivateKey(privateKey[:]).Public()
	copy(result[:], publicKey.(ed25519.PublicKey))
	return
}
Public returns the PublicKey corresponding to privateKey.
package ed25519
import (
	"fmt"
	"github.com/mr-tron/base58"
	"github.com/oasisprotocol/ed25519"
)
type PrivateKey [PrivateKeySize]byte
func PrivateKeyFromBytes(bytes []byte) (result PrivateKey, err error, consumedBytes int) {
	if len(bytes) < PrivateKeySize {
		err = fmt.Errorf("bytes too short")
		return
	}
	copy(result[:], bytes)
	consumedBytes = PrivateKeySize
	return
}
func PrivateKeyFromSeed(seed []byte) (result PrivateKey) {
	copy(result[:], ed25519.NewKeyFromSeed(seed))
	return
}
func (privateKey PrivateKey) Sign(data []byte) (result Signature) {
	copy(result[:], ed25519.Sign(privateKey[:], data))
	return
}