diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-03-04 13:30:40 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-03-16 10:32:54 +0000 |
commit | 504428ab4a7aa7773832acdc3de0baad22d6b9b7 (patch) | |
tree | e0c46debfa497a3110e5fce39c0729f2c5f4aaf2 /src/wallet/ringdb.cpp | |
parent | wallet: add a set_ring command (diff) | |
download | monero-504428ab4a7aa7773832acdc3de0baad22d6b9b7.tar.xz |
ringdb: use the genesis block as a db name
This will avoid careless forkers polluting the shared database
even if they make their own chain. They'll then automatically
start using another subdb, and any key-reusing fork of those
forks will reuse their subdbs.
Diffstat (limited to '')
-rw-r--r-- | src/wallet/ringdb.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/wallet/ringdb.cpp b/src/wallet/ringdb.cpp index d2ed90e51..e4d3df30c 100644 --- a/src/wallet/ringdb.cpp +++ b/src/wallet/ringdb.cpp @@ -175,7 +175,7 @@ enum { BLACKBALL_BLACKBALL, BLACKBALL_UNBLACKBALL, BLACKBALL_QUERY, BLACKBALL_CL namespace tools { -ringdb::ringdb(std::string filename): +ringdb::ringdb(std::string filename, const std::string &genesis): filename(filename) { MDB_txn *txn; @@ -198,11 +198,11 @@ ringdb::ringdb(std::string filename): epee::misc_utils::auto_scope_leave_caller txn_dtor = epee::misc_utils::create_scope_leave_handler([&](){if (tx_active) mdb_txn_abort(txn);}); tx_active = true; - dbr = mdb_dbi_open(txn, "rings", MDB_CREATE, &dbi_rings); + dbr = mdb_dbi_open(txn, ("rings-" + genesis).c_str(), MDB_CREATE, &dbi_rings); THROW_WALLET_EXCEPTION_IF(dbr, tools::error::wallet_internal_error, "Failed to open LMDB dbi: " + std::string(mdb_strerror(dbr))); mdb_set_compare(txn, dbi_rings, compare_hash32); - dbr = mdb_dbi_open(txn, "blackballs", MDB_CREATE | MDB_INTEGERKEY | MDB_DUPSORT | MDB_DUPFIXED, &dbi_blackballs); + dbr = mdb_dbi_open(txn, ("blackballs-" + genesis).c_str(), MDB_CREATE | MDB_INTEGERKEY | MDB_DUPSORT | MDB_DUPFIXED, &dbi_blackballs); THROW_WALLET_EXCEPTION_IF(dbr, tools::error::wallet_internal_error, "Failed to open LMDB dbi: " + std::string(mdb_strerror(dbr))); mdb_set_dupsort(txn, dbi_blackballs, compare_hash32); |