Pārlūkot izejas kodu

продвигаюсь с блокчейном

Rimmon 4 gadi atpakaļ
vecāks
revīzija
b6fbd02452
2 mainītis faili ar 43 papildinājumiem un 10 dzēšanām
  1. 26 6
      Models/Blockchain.cs
  2. 17 4
      Pages/Blockchains.razor

+ 26 - 6
Models/Blockchain.cs

@@ -26,14 +26,32 @@ namespace HyperCube.Models
             this.port = port;
         }
 
+        public async Task<string> RunContract(string contractAddress, string data)
+        {
+            Console.WriteLine("RunContract contractAddress " + contractAddress);
+            var req = $"{{ \"jsonrpc\":\"2.0\",\"method\":\"eth_sendTransaction\",\"params\":[{{\"from\":\"{address}\",\"to\":\"{contractAddress}\",\"gas\":\"0x31b2e\", \"data\":\"{data}\"}}], \"id\":1}}";
+
+            var answer = await Post.PostRequestAsync(req);
+            dynamic jsonDe = JsonConvert.DeserializeObject(answer);
+
+            Console.WriteLine("result " + answer);
+            return contractAddress;
+        }
+
         public async Task<string> GetReceipt(string transactionAddress)
         {
-            Console.WriteLine("contractAddress " + transactionAddress);
+            Console.WriteLine("transactionAddress " + transactionAddress);
             var req = $"{{ \"jsonrpc\":\"2.0\",\"method\":\"eth_getTransactionReceipt\",\"params\":[\"{transactionAddress}\"], \"id\":1}}";
 
-            var res = await Post.PostRequestAsync(req);
-            Console.WriteLine("result " + res);
-            return res;
+            var answer = await Post.PostRequestAsync(req);
+
+            dynamic jsonDe = JsonConvert.DeserializeObject(answer);
+            var blockHash = jsonDe.result.blockHash;
+            var blockNumber = jsonDe.result.blockNumber;
+            var contractAddress = jsonDe.result.contractAddress;
+
+            Console.WriteLine("result " + answer);
+            return contractAddress;
         }
 
         public async Task<string> Initialize()
@@ -55,8 +73,10 @@ namespace HyperCube.Models
             Console.WriteLine("bytecode " + bytecode);
             var req = $"{{ \"jsonrpc\":\"2.0\",\"method\":\"eth_sendTransaction\",\"params\":[{{\"from\":\"{address}\",\"gas\":\"0x31b2e\", \"data\":\"{bytecode}\"}}], \"id\":1}}";
 
-            var res = await Post.PostRequestAsync(req);
-            Console.WriteLine("result "+ res);
+            var answer = await Post.PostRequestAsync(req);
+            dynamic jsonDe = JsonConvert.DeserializeObject(answer);
+            var res = jsonDe.result;
+            Console.WriteLine("result AddContract transactionAddress: " + res);
             return res;
         }
 

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 17 - 4
Pages/Blockchains.razor