started all node data syncing feature

This commit is contained in:
Abhishek Sinha 2018-11-06 22:08:12 +05:30
parent 498025f079
commit c743438db6

View File

@ -7786,7 +7786,12 @@
case "trade_sell": case "trade_sell":
request.response = Trade.trade_sell(...request.params); request.response = Trade.trade_sell(...request.params);
break; break;
case "sync": case "broadcastBlockDataToAll":
// TODO: Make a separate class for syncing
if (typeof params.blockOwnerFLOAddress !== undefined) {
request.response = updateinDB("datablocks", params, params.id);
}
break;
default: default:
alert("Unknown method called for execution."); alert("Unknown method called for execution.");
@ -8159,6 +8164,11 @@
var response_from_sever = orderRPC.receive_rpc_response(JSON.stringify(res_obj)); var response_from_sever = orderRPC.receive_rpc_response(JSON.stringify(res_obj));
doSend(response_from_sever); // send response to client doSend(response_from_sever); // send response to client
break; break;
case "broadcastBlockDataToAll":
var response_from_sever = orderRPC.receive_rpc_response(JSON.stringify(res_obj));
console.log(response_from_sever);
//doSend(response_from_sever); // send response to client
break;
default: default:
break; break;
@ -8230,6 +8240,7 @@
}; };
let dataBlock = { let dataBlock = {
id: "00-01",
version: 1, version: 1,
data: {}, data: {},
blockOwnerFLOAddress: "", blockOwnerFLOAddress: "",
@ -8239,7 +8250,7 @@
var db; var db;
const DBName = "localbitcoinDB"; const DBName = "localbitcoinDB";
var request = window.indexedDB.open(DBName, 3); var request = window.indexedDB.open(DBName, 1);
request.onerror = function (event) { request.onerror = function (event) {
//https://stackoverflow.com/questions/13972385/invalidstateerror-while-opening-indexeddb-in-firefox //https://stackoverflow.com/questions/13972385/invalidstateerror-while-opening-indexeddb-in-firefox
@ -8264,7 +8275,7 @@
if (!db.objectStoreNames.contains('datablocks')) { if (!db.objectStoreNames.contains('datablocks')) {
var objectStore = db.createObjectStore("datablocks", { var objectStore = db.createObjectStore("datablocks", {
keyPath: "version" keyPath: "id"
}); });
objectStore.put(dataBlock); objectStore.put(dataBlock);
} }
@ -8455,6 +8466,7 @@
let blockSignature = RM_WALLET.sign(blockHash); let blockSignature = RM_WALLET.sign(blockHash);
let updatedDataBlock = { let updatedDataBlock = {
id: "00-01",
version: blockVersion, version: blockVersion,
data: data, data: data,
blockOwnerFLOAddress: blockOwnerFLOAddress, blockOwnerFLOAddress: blockOwnerFLOAddress,
@ -8464,9 +8476,12 @@
syncButton.onclick = function() { syncButton.onclick = function() {
try { try {
updateinDB("datablocks", updatedDataBlock, ""); // Update the data in current node
updateinDB("datablocks", updatedDataBlock, "00-01");
try { try {
// Broadcast to other nodes
let sendBlockDataToAll = RM_RPC.send_rpc("broadcastBlockDataToAll", updatedDataBlock);
doSend(sendBlockDataToAll);
} catch (error) { } catch (error) {
throw new Error("ERROR: Failed to broadcast to other nodes."); throw new Error("ERROR: Failed to broadcast to other nodes.");
} }