mirror of
https://gitlab.com/pulsechaincom/go-pulse.git
synced 2024-12-27 22:08:13 +00:00
20 lines
387 B
Go
20 lines
387 B
Go
|
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()
|
||
|
}
|