Guest User

Untitled

a guest
Jun 24th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. // Helper function to generate genesis transaction
  2. void print_genesis_tx_hex(uint8_t nettype) {
  3.  
  4. using namespace cryptonote;
  5.  
  6. account_base miner_acc1;
  7. miner_acc1.generate();
  8.  
  9. std::cout << "Gennerating miner wallet..." << std::endl;
  10. std::cout << "Miner account address:" << std::endl;
  11. std::cout << cryptonote::get_account_address_as_str((network_type)nettype, false, miner_acc1.get_keys().m_account_address);
  12. std::cout << std::endl << "Miner spend secret key:" << std::endl;
  13. epee::to_hex::formatted(std::cout, epee::as_byte_span(miner_acc1.get_keys().m_spend_secret_key));
  14. std::cout << std::endl << "Miner view secret key:" << std::endl;
  15. epee::to_hex::formatted(std::cout, epee::as_byte_span(miner_acc1.get_keys().m_view_secret_key));
  16. std::cout << std::endl << std::endl;
  17.  
  18.  
  19. auto t = std::time(nullptr);
  20. auto tm = *std::localtime(&t);
  21. std::stringstream key_fine_name_ss;
  22. key_fine_name_ss << "./miner01_keys" << std::put_time(&tm, "%Y%m%d%H%M%S") << ".dat";
  23. std::string key_file_name = key_fine_name_ss.str();
  24. std::ofstream miner_key_file;
  25. miner_key_file.open (key_file_name);
  26. miner_key_file << "Miner account address:" << std::endl;
  27. miner_key_file << cryptonote::get_account_address_as_str((network_type)nettype, false, miner_acc1.get_keys().m_account_address);
  28. miner_key_file << std::endl<< "Miner spend secret key:" << std::endl;
  29. epee::to_hex::formatted(miner_key_file, epee::as_byte_span(miner_acc1.get_keys().m_spend_secret_key));
  30. miner_key_file << std::endl << "Miner view secret key:" << std::endl;
  31. epee::to_hex::formatted(miner_key_file, epee::as_byte_span(miner_acc1.get_keys().m_view_secret_key));
  32. miner_key_file << std::endl << std::endl;
  33. miner_key_file.close();
  34.  
  35.  
  36. //Create file with miner keys information
  37. cryptonote::transaction tx_genesis;
  38. cryptonote::construct_miner_tx(0, 0, 0, 10, 0, miner_acc1.get_keys().m_account_address, tx_genesis);
  39.  
  40. std::cout << "Object:" << std::endl;
  41. std::cout << obj_to_json_str(tx_genesis) << std::endl << std::endl;
  42.  
  43. //Prepare genesis_tx
  44. std::stringstream ss;
  45. binary_archive<true> ba(ss);
  46. ::serialization::serialize(ba, tx_genesis);
  47. std::string tx_hex = ss.str();
  48. std::cout << "Insert this line into your coin configuration file: " << std::endl;
  49. std::cout << "std::string const GENESIS_TX = "" << string_tools::buff_to_hex_nodelimer(tx_hex) << "";" << std::endl;
  50.  
  51. return;
  52. }
Add Comment
Please, Sign In to add comment