Save pending local transactions in the database (#4566)
* Create new column family for local node info
* remove DBTransaction::new reliance on DB
* KeyValueDB trait
* InMemory KeyValueDB implementation
* journaldb generic over KVDB
* make most of `ethcore` generic over KVDB
* fix json tests compilation
* get all tests compiling
* implement local store (just for transactions)
* finish local store API, test
* put everything into place
* better test for skipping bad transactions
* fix warning
* update local store every 15 minutes
* remove superfluous `{}`s
This commit is contained in:
committed by
Gav Wood
parent
00351374e4
commit
62b340f2b9
@@ -19,7 +19,6 @@ use client::{BlockChainClient, Client, ClientConfig};
|
||||
use block::Block;
|
||||
use ethereum;
|
||||
use tests::helpers::*;
|
||||
use devtools::*;
|
||||
use spec::Genesis;
|
||||
use ethjson;
|
||||
use miner::Miner;
|
||||
@@ -58,16 +57,14 @@ pub fn json_chain_test(json_data: &[u8], era: ChainEra) -> Vec<String> {
|
||||
spec
|
||||
};
|
||||
|
||||
let temp = RandomTempPath::new();
|
||||
{
|
||||
let db_config = DatabaseConfig::with_columns(::db::NUM_COLUMNS);
|
||||
let db = Arc::new(::util::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0)));
|
||||
let client = Client::new(
|
||||
ClientConfig::default(),
|
||||
&spec,
|
||||
temp.as_path(),
|
||||
db,
|
||||
Arc::new(Miner::with_spec(&spec)),
|
||||
IoChannel::disconnected(),
|
||||
&db_config,
|
||||
).unwrap();
|
||||
for b in &blockchain.blocks_rlp() {
|
||||
if Block::is_good(&b) {
|
||||
|
||||
Reference in New Issue
Block a user