package ethutil type Key struct { PrivateKey []byte PublicKey []byte } func NewKeyFromBytes(data []byte) *Key { val := NewValueFromBytes(data) return &Key{val.Get(0).Bytes(), val.Get(1).Bytes()} } func (k *Key) Address() []byte { return Sha3Bin(k.PublicKey[1:])[12:] } func (k *Key) RlpEncode() []byte { return EmptyValue().Append(k.PrivateKey).Append(k.PublicKey).Encode() }