Commit 2f255289 authored by Eriksson Monteiro's avatar Eriksson Monteiro

add sync switch. update wallet ui and millix node

parent d115025a
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<br> <br>
<a href="#"><img src="https://github.com/millix/millix-wallet/blob/master/app/icon.png?raw=true" alt="millix node" width="200"></a> <a href="#"><img src="https://github.com/millix/millix-wallet/blob/master/app/icon.png?raw=true" alt="millix node" width="200"></a>
<br> <br>
millix node <small>v1.16.3</small> millix node <small>v1.17.0</small>
<br> <br>
</h1> </h1>
......
...@@ -13,6 +13,13 @@ class _ConfigLoader { ...@@ -13,6 +13,13 @@ class _ConfigLoader {
'TRANSACTION_OUTPUT_MAX', 'TRANSACTION_OUTPUT_MAX',
'TRANSACTION_PARENT_MAX', 'TRANSACTION_PARENT_MAX',
'TRANSACTION_SIGNATURE_MAX', 'TRANSACTION_SIGNATURE_MAX',
'DEBUG_LOG_FILTER',
'FORCE_QUEUE_UPDATE',
'MODE_NODE_VALIDATION_FULL',
'NETWORK_LONG_TIME_WAIT_MAX',
'NETWORK_SHORT_TIME_WAIT_MAX',
'TRANSACTION_TIME_LIMIT_PROXY',
'TRANSACTION_CLOCK_SKEW_TOLERANCE',
'TRANSACTION_OUTPUT_REFRESH_OLDER_THAN', 'TRANSACTION_OUTPUT_REFRESH_OLDER_THAN',
'TRANSACTION_OUTPUT_EXPIRE_OLDER_THAN', 'TRANSACTION_OUTPUT_EXPIRE_OLDER_THAN',
'WALLET_TRANSACTION_DEFAULT_VERSION', 'WALLET_TRANSACTION_DEFAULT_VERSION',
......
...@@ -15,7 +15,8 @@ export const NODE_NAT_PMP_CHECK = true; ...@@ -15,7 +15,8 @@ export const NODE_NAT_PMP_CHECK = true;
export const WEBSOCKET_PROTOCOL = 'wss://'; export const WEBSOCKET_PROTOCOL = 'wss://';
export const RPC_INTERFACE = '0.0.0.0'; export const RPC_INTERFACE = '0.0.0.0';
export const NODE_PUBLIC = true; export const NODE_PUBLIC = true;
export const MODE_NODE_FULL = true; export const MODE_NODE_VALIDATION_FULL = true;
export const MODE_NODE_SYNC_FULL = false;
export const FORCE_QUEUE_UPDATE = false; export const FORCE_QUEUE_UPDATE = false;
export const EXTERNAL_WALLET_KEY_IDENTIFIER = []; export const EXTERNAL_WALLET_KEY_IDENTIFIER = [];
export const NODE_INITIAL_LIST_MAIN_NETWORK = [ export const NODE_INITIAL_LIST_MAIN_NETWORK = [
...@@ -778,8 +779,8 @@ export const NETWORK_SHORT_TIME_WAIT_MAX = 1500; ...@@ -778,8 +779,8 @@ export const NETWORK_SHORT_TIME_WAIT_MAX = 1500;
export const DATABASE_ENGINE = 'sqlite'; export const DATABASE_ENGINE = 'sqlite';
export const DATABASE_CONNECTION = {}; export const DATABASE_CONNECTION = {};
export const MILLIX_CIRCULATION = 9e15; export const MILLIX_CIRCULATION = 9e15;
export const NODE_MILLIX_BUILD_DATE = 1648494468; export const NODE_MILLIX_BUILD_DATE = 1649083382;
export const NODE_MILLIX_VERSION = '1.16.3-tangled'; export const NODE_MILLIX_VERSION = '1.17.0-tangled';
export const DATA_BASE_DIR_MAIN_NETWORK = './millix-tangled'; export const DATA_BASE_DIR_MAIN_NETWORK = './millix-tangled';
export const DATA_BASE_DIR_TEST_NETWORK = './millix-tangled'; export const DATA_BASE_DIR_TEST_NETWORK = './millix-tangled';
let DATA_BASE_DIR = MODE_TEST_NETWORK ? DATA_BASE_DIR_TEST_NETWORK : DATA_BASE_DIR_MAIN_NETWORK; let DATA_BASE_DIR = MODE_TEST_NETWORK ? DATA_BASE_DIR_TEST_NETWORK : DATA_BASE_DIR_MAIN_NETWORK;
...@@ -829,7 +830,8 @@ if (DATABASE_ENGINE === 'sqlite') { ...@@ -829,7 +830,8 @@ if (DATABASE_ENGINE === 'sqlite') {
export default { export default {
MODE_DEBUG, MODE_DEBUG,
MODE_NODE_FULL, MODE_NODE_SYNC_FULL,
MODE_NODE_VALIDATION_FULL,
FORCE_QUEUE_UPDATE, FORCE_QUEUE_UPDATE,
MODE_TEST_NETWORK, MODE_TEST_NETWORK,
NODE_PORT, NODE_PORT,
......
This diff is collapsed.
...@@ -168,32 +168,32 @@ export class Database { ...@@ -168,32 +168,32 @@ export class Database {
console.log(`[database] trace performance => ${sql} : ${time}ms`); console.log(`[database] trace performance => ${sql} : ${time}ms`);
}); });
/*const dbAll = database.all.bind(database); /*const dbAll = database.all.bind(database);
database.all = (function(sql, parameters, callback) { database.all = (function(sql, parameters, callback) {
console.log(`[database] query all start: ${sql}`); console.log(`[database] query all start: ${sql}`);
if (typeof (parameters) === 'function') { if (typeof (parameters) === 'function') {
callback = parameters; callback = parameters;
} }
const startTime = Date.now(); const startTime = Date.now();
dbAll(sql, parameters, (err, data) => { dbAll(sql, parameters, (err, data) => {
const timeElapsed = Date.now() - startTime; const timeElapsed = Date.now() - startTime;
console.log(`[database] query all (run time ${timeElapsed}ms) : ${sql} : ${err}`); console.log(`[database] query all (run time ${timeElapsed}ms) : ${sql} : ${err}`);
callback(err, data); callback(err, data);
}); });
}).bind(database); }).bind(database);
const dbGet = database.get.bind(database); const dbGet = database.get.bind(database);
database.get = (function(sql, parameters, callback) { database.get = (function(sql, parameters, callback) {
console.log(`[database] query get start: ${sql}`); console.log(`[database] query get start: ${sql}`);
if (typeof (parameters) === 'function') { if (typeof (parameters) === 'function') {
callback = parameters; callback = parameters;
} }
const startTime = Date.now(); const startTime = Date.now();
dbGet(sql, parameters, (err, data) => { dbGet(sql, parameters, (err, data) => {
const timeElapsed = Date.now() - startTime; const timeElapsed = Date.now() - startTime;
console.log(`[database] query get (run time ${timeElapsed}ms): ${sql} : ${err}`); console.log(`[database] query get (run time ${timeElapsed}ms): ${sql} : ${err}`);
callback(err, data); callback(err, data);
}); });
}).bind(database);*/ }).bind(database);*/
} }
_initializeMillixSqlite3() { _initializeMillixSqlite3() {
...@@ -627,12 +627,26 @@ export class Database { ...@@ -627,12 +627,26 @@ export class Database {
is_sticky: true, is_sticky: true,
timestamp: Date.now() timestamp: Date.now()
}); });
if (err.message && err.message.startsWith('SQLITE_CORRUPT')) {
const dbFile = path.join(this.databaseRootFolder, config.DATABASE_CONNECTION.FILENAME_MILLIX);
return Database.deleteCorruptedDatabase(dbFile)
.then(() => this._initializeMillixSqlite3())
.then(() => this._migrateTables());
}
throw Error('[database] migration ' + err.message); throw Error('[database] migration ' + err.message);
} }
}); });
}); });
} }
static deleteCorruptedDatabase(databaseFile) {
return new Promise(resolve => {
fs.unlink(databaseFile, err => {
resolve();
});
});
}
initialize() { initialize() {
if (config.DATABASE_ENGINE === 'sqlite') { if (config.DATABASE_ENGINE === 'sqlite') {
return this._initializeMillixSqlite3() return this._initializeMillixSqlite3()
......
...@@ -19,8 +19,8 @@ export default class Shard { ...@@ -19,8 +19,8 @@ export default class Shard {
initialize() { initialize() {
if (config.DATABASE_ENGINE === 'sqlite') { if (config.DATABASE_ENGINE === 'sqlite') {
return this._initializeMillixShardSqlite3() return this._initializeMillixShardSqlite3()
.then(() => this._attachShardZero())
.then(() => this._migrateTables()) .then(() => this._migrateTables())
.then(() => this._attachShardZero())
.then(() => this._initializeTables()); .then(() => this._initializeTables());
} }
return Promise.resolve(); return Promise.resolve();
...@@ -73,6 +73,13 @@ export default class Shard { ...@@ -73,6 +73,13 @@ export default class Shard {
is_sticky: true, is_sticky: true,
timestamp: Date.now() timestamp: Date.now()
}); });
if (err.message && err.message.startsWith('SQLITE_CORRUPT')) {
return Database.deleteCorruptedDatabase(this.databaseFile)
.then(() => this._initializeMillixShardSqlite3())
.then(() => this._migrateTables());
}
throw Error('[shard] migration ' + err.message); throw Error('[shard] migration ' + err.message);
}); });
}); });
......
...@@ -125,7 +125,7 @@ db.initialize() ...@@ -125,7 +125,7 @@ db.initialize()
}); });
} }
}); });
//millix v1.16.3-tangled //millix v1.17.0-tangled
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment