示例#1
0
        public void Sign(string privateKey)
        {
            var signedBytes = PublicKeyAuth.SignDetached(GetRawHash(), privateKey.HexToByteArray());

            byte[] publicKey = new byte[32];
            Array.Copy(privateKey.HexToByteArray(), 32, publicKey, 0, 32);
            var signatureLength = signedBytes.Length + publicKey.Length;

            byte[] signatureArray = new byte[signatureLength];
            AionUtils.SetBytes(publicKey, signatureArray, 0);
            AionUtils.SetBytes(signedBytes, signatureArray, publicKey.Length);
            Signature = signatureArray;
        }
示例#2
0
 public string Serialize()
 {
     return("0x" + AionUtils.ByteToHex(RLP.EncodeList(
                                           RLP.EncodeElement(Nonce.HexToByteArray()),
                                           RLP.EncodeElement(To.HexToByteArray()),
                                           RLP.EncodeElement(Value.HexToByteArray()),
                                           RLP.EncodeElement(Data.HexToByteArray()),
                                           RLP.EncodeElement(Timestamp.HexToByteArray()),
                                           CustomRLP.EncodeLong(Gas),
                                           CustomRLP.EncodeLong(GasPrice),
                                           RLP.EncodeElement(Type.HexToByteArray()),
                                           RLP.EncodeElement(Signature)
                                           )));
 }