|
@@ -26,14 +26,32 @@ namespace HyperCube.Models
|
|
this.port = port;
|
|
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)
|
|
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 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()
|
|
public async Task<string> Initialize()
|
|
@@ -55,8 +73,10 @@ namespace HyperCube.Models
|
|
Console.WriteLine("bytecode " + bytecode);
|
|
Console.WriteLine("bytecode " + bytecode);
|
|
var req = $"{{ \"jsonrpc\":\"2.0\",\"method\":\"eth_sendTransaction\",\"params\":[{{\"from\":\"{address}\",\"gas\":\"0x31b2e\", \"data\":\"{bytecode}\"}}], \"id\":1}}";
|
|
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;
|
|
return res;
|
|
}
|
|
}
|
|
|
|
|