Преглед на файлове

конвертация данных для смартов

Rimmon преди 4 години
родител
ревизия
5d439a2e26
променени са 2 файла, в които са добавени 36 реда и са изтрити 12 реда
  1. 21 0
      Models/Blockchain.cs
  2. 15 12
      Pages/Blockchains.razor

+ 21 - 0
Models/Blockchain.cs

@@ -26,6 +26,27 @@ namespace HyperCube.Models
             this.port = port;
         }
 
+        public static string bin2hex(string code)
+        {
+            //code = "0x".bin2hex('getCount()');
+            var bytes = Encoding.UTF8.GetBytes(code);
+            var hex = BitConverter.ToString(bytes).Replace("-", "");
+            Console.WriteLine("hex " + hex);
+            return "0x"+hex;
+        }
+
+        public async Task<string> GetSHA3(string code)
+        {
+            var hex = bin2hex(code);
+            var req = $"{{ \"jsonrpc\":\"2.0\",\"method\":\"web3_sha3\",\"params\":[\"{hex}\"], \"id\":1}}";
+
+            var answer = await Post.PostRequestAsync(req);
+            //dynamic jsonDe = JsonConvert.DeserializeObject(answer);
+
+            Console.WriteLine("result " + answer);
+            return answer;
+        }
+
         public async Task<string> RunContract(string contractAddress, string data)
         {
             Console.WriteLine("RunContract contractAddress " + contractAddress);

+ 15 - 12
Pages/Blockchains.razor

@@ -82,18 +82,21 @@
 
         private async Task GetBlockChain()
         {
-            if (Blockchain.loaded.Count == 0)
-            {
-                Blockchain bc = new HyperCube.Models.Blockchain(bcURL, bcport);
-                result = await bc.Initialize();
-                if (result != "")
-                    hidecontr = "visible";
-                //bcURL = bc.GetAddress();
-                //bc.ExecuteContract();
-                //bcURL = bc.address;
-                //hidecontr = "hidden";
-            }
+            var b2h = Blockchain.bin2hex("getCount()");
+            Console.WriteLine("bin2hex "+b2h);
+
+            //if (Blockchain.loaded.Count == 0)
+            //{
+            Blockchain bc = new HyperCube.Models.Blockchain(bcURL, bcport);
+            result = await bc.Initialize();
+            if (result != "")
+                hidecontr = "visible";
+            //bcURL = bc.GetAddress();
+            //bc.ExecuteContract();
+            //bcURL = bc.address;
+            //hidecontr = "hidden";
+            //}
 
             //private Post post = new Post();
-        }
+    }
     }