public void TestTransferTransactionBuilder() { var builder = new TransferTransactionBuilder(); builder.NID = 2; builder.PrivateKey = PrivateKey.Random(); builder.To = "hx54f7853dc6481b670caf69c5a27c7c8fe5be8269"; builder.StepLimit = NumericsHelper.ICX2Loop("0.1"); builder.Value = NumericsHelper.ICX2Loop("1"); builder.Timestamp = 100000000000; var tx = builder.Build(); Assert.Null(tx.Data); Assert.Null(tx.DataType); Assert.True(Signer.Verify(tx.Signature, tx.Hash, tx.From)); var hashSource = new Dictionary <string, object>() { ["version"] = "0x3", ["nid"] = "0x2", ["from"] = Addresser.Create(builder.PrivateKey).ToString(), ["to"] = "hx54f7853dc6481b670caf69c5a27c7c8fe5be8269", ["stepLimit"] = "0x16345785d8a0000", ["value"] = "0xde0b6b3a7640000", ["timestamp"] = "0x174876e800" }; var hash = Hasher.Digest(hashSource); Assert.AreEqual(tx.Hash, hash); }
public async Task <Hash32> Transfer(Address to, BigInteger amount, BigInteger stepLimit, int?networkID = null) { var builder = new TransferTransactionBuilder(); builder.PrivateKey = PrivateKey; builder.To = to; builder.Value = amount; builder.StepLimit = stepLimit; builder.NID = networkID ?? Consts.ApiUrl.GetNetworkID(ApiUrl); var tx = builder.Build(); var sendTransaction = new SendTransaction(ApiUrl); return(await sendTransaction.Invoke(tx)); }
public static Hash32 Transfer(Address to, PrivateKey privateKey, BigInteger amount, BigInteger stepLimit, string Api) { var builder = new TransferTransactionBuilder { PrivateKey = privateKey, To = to, Value = amount, StepLimit = stepLimit, NID = 3 }; var tx = builder.Build(); var sendTransaction = new SendTransaction(Api); return(sendTransaction.Invoke(tx).Result); }