Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
        }