}//function /// <summary> /// Return the wallet seed and all addresses in the wallet for backup and offline storage. /// </summary> /// <param name="con">Connection object</param> /// <returns></returns> public static string wallet_backup(Configure.Connection con) { String json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.wallet_backup + @""" }"; var request = http.createRequest(con.walletd_address, json); var response = http.getResponse(request); return(response); } //function
}//function ///<summary> /// Reveal an Entry to factomd after the Commit to complete the Entry creation. The reveal-entry has to be hex encoded string ///</summary> /// <param name="con">Connection object</param> /// <param name="entry"></param> public static string reveal_entry(Configure.Connection con, string entry) { String json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.reveal_entry + @""", ""params"": { ""entry"": """ + entry + @""" } }"; var request = http.createRequest(con.factomd_address, json); var response = http.getResponse(request); return(response); }//function
}//function /// <summary> /// Retrieve administrative blocks for any given height. /// </summary> /// <param name="con">Connection object</param> /// <param name="height">Administrator block height</param> public static string ablock_by_height(Configure.Connection con, int height) { String json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.ablock_by_height + @""", ""params"": { ""height"": " + height + @" } }"; var request = http.createRequest(con.factomd_address, json); var response = http.getResponse(request); return(response); } //function
}//function /// <summary> /// Return the keymr of the head of the chain for a chain ID (the unique hash created when the chain was created). /// </summary> /// <param name="con">Connection object</param> /// <param name="chainid">Chain ID</param> public static string chain_head(Configure.Connection con, string chainid) { String json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.chain_head + @""", ""params"": { ""chainid"": """ + chainid + @""" } }"; var request = http.createRequest(con.factomd_address, json); var response = http.getResponse(request); return(response); }//function
}//function ///<summary> /// Return its current balance for a specific entry credit address. ///</summary> /// <param name="con">Connection object</param> /// <param name="address">Address object</param> /// <returns></returns> public static string entry_credit_balance(Configure.Connection con, Configure.FactomAddress address) { String json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.entry_credit_balance + @""", ""params"": { ""address"": """ + address.entryCE_address + @""" } }"; var request = http.createRequest(con.factomd_address, json); var response = http.getResponse(request); return(response); }//function
}//function /// <summary> /// Retrieve details of a factoid transaction using a transaction’s hash (or corresponding transaction id). /// </summary> /// <param name="con">Connection object</param> /// <param name="hash">Transaction Hash</param> public static string transaction(Configure.Connection con, string hash) { String json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.transaction + @""", ""params"": { ""hash"": """ + hash + @""" } }"; var request = http.createRequest(con.factomd_address, json); var response = http.getResponse(request); return(response); }//function
}//function /// <summary> /// Composes a chain in factom. /// </summary> /// <param name="con">Connection object</param> /// <param name="chainData">Chain data</param> /// <param name="address">Factom addresses</param> /// <returns></returns> public static string compose_chain(Configure.Connection con, Configure.ChainData chainData, Configure.FactomAddress address) { // convert extIDs to hex string ext_ids = utils.convertExternal_IDs(chainData.extIDs); //check if content is a path or actual content if (File.Exists(chainData.content)) { //choose the type of algorithm to hash the file: chainData.content = utils.hashFile_SHA256(chainData.content); //chainData.content = utils.hashFile_SHA512(chainData.content); } else { //you can choose whether hash your content or convert it into hex_string //chainData.content = utils.hashString_SHA256(chainData.content); //chainData.content = utils.hashString_SHA512(chainData.content); chainData.content = utils.stringToHex(chainData.content); } string json = @"{ ""jsonrpc"": ""2.0"", ""id"": 0, ""method"": """ + method.compose_chain + @""", ""params"": { ""chain"": { ""firstentry"": { ""extids"": " + ext_ids + @", ""content"": """ + chainData.content + @""" } }, ""ecpub"": """ + address.entryCE_address + @""" } }"; var request = http.createRequest(con.walletd_address, json); var response = http.getResponse(request); return(response); }//function