public static Preference ReadBlobToPreferences() { //TODO: Move deserialization to FileBinIO to avoid duplicating code on multiple objects if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + @"bin\\WalletData\\Pref.bin")) { //Return empty object return(new Preference()); } byte[] BlobData = FileBinIO.ReadBin(AppDomain.CurrentDomain.BaseDirectory + @"bin\\WalletData\\Pref.bin"); MemoryStream memorystreamd = new MemoryStream(BlobData); BinaryFormatter bfd = new BinaryFormatter(); Preference prefData = bfd.Deserialize(memorystreamd) as Preference; memorystreamd.Close(); return(prefData); }
//This class contains all code to interact with RPC public static GenericResponse SendRPCJson(string _method, string _params = "") { string URL = "http://" + Preference.ReadBlobToPreferences().daemonIPPort + "/json_rpc"; //Get parameter for IP+Port GenericResponse response; using (Client rpcClient = new Client(URL)) { JArray parameters = JArray.Parse(@"['9000']"); //TODO: set parameters Request request = rpcClient.NewRequest(_method, parameters); //GenericResponse response = rpcClient.Rpc(request); if (response != null) { if (response.Result != null) { JToken result = response.Result; Console.WriteLine("Connection success for method {0} : daemon says: {1}", _method, result); } else { Console.WriteLine(string.Format("Error in response, code:{0} message:{1}", response.Error.Code, response.Error.Message)); } } else { Console.WriteLine("Serious issues occured in connecting to the daemon, please check the setup or check if the daemon is running..."); return(null); } } return(response); }