Browse Source

начисление эфира

Rimmon 4 years ago
parent
commit
19d1be0b0b
2 changed files with 20 additions and 6 deletions
  1. 13 6
      Models/Blockchain.cs
  2. 7 0
      Pages/Blockchains.razor

+ 13 - 6
Models/Blockchain.cs

@@ -114,16 +114,23 @@ namespace HyperCube.Models
             address = answer;
         }
 
-        //{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{ "from":"0xD81eeE6b39d9556c3067A3551A3FB2882b92F327", "to":"0x119b58faddcdbc09cafcd272530aa079cec10004", "gas":"0x31b2ef", "data":"0x11111111"}], "id":1}
+        public async Task<string> SendTransaction(string fromAddress, string toAddress, string sum)
+        {
+            Console.WriteLine($"SendTransaction from {fromAddress} to {toAddress} sum {sum}");
+            var answer = await RunFunction("eth_sendTransaction", $"{{\"from\":\"{address}\",\"to\":\"{toAddress}\",\"gas\":\"0x31b2ef\", \"data\":\"\", \"value\":\"{sum}\"}}");
+            return answer;
+        }
+
+            //{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{ "from":"0xD81eeE6b39d9556c3067A3551A3FB2882b92F327", "to":"0x119b58faddcdbc09cafcd272530aa079cec10004", "gas":"0x31b2ef", "data":"0x11111111"}], "id":1}
         public async Task<string> RunContractWrite(string contractAddress, string data)
         {
             Console.WriteLine("RunContract contractAddress " + contractAddress);
-            var req = $"{{ \"jsonrpc\":\"2.0\",\"method\":\"eth_sendTransaction\",\"params\":[{{\"from\":\"{address}\",\"to\":\"{contractAddress}\",\"gas\":\"0x31b2ef\", \"data\":\"{data}\"}}], \"id\":1}}";
-
-            var answer = await Post.PostRequestAsync(req);
-            dynamic jsonDe = JsonConvert.DeserializeObject(answer);
+            var answer = await RunFunction("eth_sendTransaction", $"{{\"from\":\"{address}\",\"to\":\"{contractAddress}\",\"gas\":\"0x31b2ef\", \"data\":\"{data}\"}}");
+            //$"{{ \"jsonrpc\":\"2.0\",\"method\":\"eth_sendTransaction\",\"params\":[{{\"from\":\"{address}\",\"to\":\"{contractAddress}\",\"gas\":\"0x31b2ef\", \"data\":\"{data}\"}}], \"id\":1}}";
+            //var answer = await Post.PostRequestAsync(req);
+            //dynamic jsonDe = JsonConvert.DeserializeObject(answer);
 
-            Console.WriteLine("result " + answer);
+            //Console.WriteLine("result " + answer);
             return answer;
         }
 

+ 7 - 0
Pages/Blockchains.razor

@@ -110,6 +110,7 @@
     </select>
     <button @onclick="CreateBlockchainAccount">CreateBlockchainAccount for @accountSelected</button>
     <button @onclick="GetBalance">GetBalance</button> Balance: @balance
+    <button @onclick="Transfer50">Transfer 50</button>
 </p>
 
 
@@ -127,6 +128,12 @@
     string contractAddress = "";
     int focus = 0;
 
+    private async Task Transfer50()
+    {
+        var acc = AccountModel.Find(accountSelected);
+        var res = await Blockchain.GetMain().SendTransaction(Blockchain.GetMain().address, acc.eth_address, "0x32");
+    }
+
     private async Task GetBalance()
     {
         var addr = Blockchain.GetMain().address;