public ReturnObject CreateNewAddress(string password) { try { ReturnObject result = EthereumSendRPC(EthereumRpcList.RpcName.PersonalNewAccount, new Object[] { password }); Console.WriteLine(result); if (result.Status == Status.STATUS_ERROR) { return(result); } else { // Console.WriteLine(); EthRpcJson.Getter getter = JsonHelper.DeserializeObject <EthRpcJson.Getter>(result.Data); return(new ReturnObject { Status = Status.STATUS_COMPLETED, Data = getter.Result.ToString() }); } } catch (Exception e) { return(new ReturnObject { Status = Status.STATUS_ERROR, Message = e.Message }); } }
public ReturnObject GetBlockByNumber(int blockNumber) { try { ReturnObject result = EthereumSendRPC(EthereumRpcList.RpcName.EthGetBlockByNumber, new Object[] { blockNumber.IntToHex(), true }); //Console.WriteLine(_result); if (result.Status == Status.STATUS_ERROR) { return(result); } else { // Console.WriteLine(); EthRpcJson.Getter getter = JsonHelper.DeserializeObject <EthRpcJson.Getter>(result.Data); return(new ReturnObject { Status = Status.STATUS_COMPLETED, Data = JsonHelper.SerializeObject(getter.Result) }); } } catch (Exception e) { return(new ReturnObject { Status = Status.STATUS_ERROR, Message = e.Message }); } }
public ReturnObject GetBlockNumber() { try { var result = EthereumSendRPC(EthereumRpcList.RpcName.EthBlockNumber); if (result.Status == Status.STATUS_ERROR) { return(result); } else { EthRpcJson.Getter getter = JsonHelper.DeserializeObject <EthRpcJson.Getter>(result.Data); int _blockNumber = -1; if (!getter.Result.ToString().HexToInt(out _blockNumber)) { throw new Exception("cant get int from hex"); } return(new ReturnObject { Status = Status.STATUS_COMPLETED, Data = _blockNumber.ToString() }); } } catch (Exception e) { return(new ReturnObject { Status = Status.STATUS_ERROR, Message = e.Message }); } //return }
/// <summary> /// Send Transaction with Passphrase /// </summary> /// <param name="from"></param> /// <param name="toAddress"></param> /// <param name="amount"></param> /// <param name="passphrase"></param> /// <returns></returns> public ReturnObject SendTransactionWithPassphrase(string from, string toAddress, decimal amount, string passphrase) { try { decimal weiAmount = EtherToWei(amount); EthRpcJson.TransactionInfor sender = new EthRpcJson.TransactionInfor() { From = from, To = toAddress, Value = ((BigInteger)weiAmount).ToHex() }; //var tx = { from: "0x391694e7e0b0cce554cb130d723a9d27458f9298", to: "0xafa3f8684e54059998bc3a7b0d2b0da075154d66", value: web3.toWei(1.23, "ether")}; var result = EthereumSendRPC(EthereumRpcList.RpcName.PersonalSendTransaction, new Object[] { sender, passphrase }); if (result.Status == Status.STATUS_ERROR) { return(result); } EthRpcJson.Getter getter = JsonHelper.DeserializeObject <EthRpcJson.Getter>(result.Data); return(new ReturnObject { Status = Status.STATUS_COMPLETED, Data = getter.Result.ToString() }); } catch (Exception e) { return(new ReturnObject { Status = Status.STATUS_ERROR, Message = e.Message }); } }