hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
keys_manager.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_KEYS_MANAGER_HPP
7 #define IROHA_KEYS_MANAGER_HPP
8 
9 #include <string>
10 
11 #include <boost/optional.hpp>
12 #include "cryptography/keypair.hpp"
13 
14 namespace iroha {
18  class KeysManager {
19  public:
20  virtual ~KeysManager() = default;
21 
26  virtual bool createKeys() = 0;
27 
33  virtual bool createKeys(const std::string &pass_phrase) = 0;
34 
41  virtual boost::optional<shared_model::crypto::Keypair> loadKeys() = 0;
42 
50  virtual boost::optional<shared_model::crypto::Keypair> loadKeys(
51  const std::string &pass_phrase) = 0;
52  };
53 
54 } // namespace iroha
55 #endif // IROHA_KEYS_MANAGER_HPP
Definition: keys_manager.hpp:18
virtual boost::optional< shared_model::crypto::Keypair > loadKeys()=0
virtual ~KeysManager()=default
Definition: block_query.hpp:14
virtual bool createKeys()=0