For Simplicity, One Input and Two Outputs are taken, locktime is set to 0, sequence is set to max.
- SIGHASH_ALL option is chosen for signing raw Transaction.
-
Inputs
-
-
-
-
-
-
-
-
Outputs
-
-
-
-
-
-
-
-
-
-
-
Enter the Transaction Data
-
-
-
WIF Key
-
-
-
-
-
-
Signed Raw Transaction
-
-
-
Broadcast Transaction
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/supernode/index.html b/supernode/index.html
index b579379..c9813a9 100644
--- a/supernode/index.html
+++ b/supernode/index.html
@@ -8612,47 +8612,47 @@
- //ACTUAL CODE
- //Initializations -- common for both sender and receiver
- exportData = {};
+ // //ACTUAL CODE
+ // //Initializations -- common for both sender and receiver
+ // exportData = {};
- (function(){
+ // (function(){
- //Part 1: Sender side
+ // //Part 1: Sender side
- var senderECKeyData = {};
- var senderDerivedKey = {XValue:"",YValue:""};
- var senderPublicKeyString = {};
+ // var senderECKeyData = {};
+ // var senderDerivedKey = {XValue:"",YValue:""};
+ // var senderPublicKeyString = {};
- senderECKeyData.privateKey = ellipticCurveEncryption.senderRandom();
- senderPublicKeyString = ellipticCurveEncryption.senderPublicString(senderECKeyData.privateKey);
+ // senderECKeyData.privateKey = ellipticCurveEncryption.senderRandom();
+ // senderPublicKeyString = ellipticCurveEncryption.senderPublicString(senderECKeyData.privateKey);
- //First get the receivers public key string. Here we will assume some public key string
- //In real life this will be done by receiver
+ // //First get the receivers public key string. Here we will assume some public key string
+ // //In real life this will be done by receiver
- //Part 2: Receiver Side
+ // //Part 2: Receiver Side
- var receiverDerivedKey = {XValue:"",YValue:""};
- var receiverECKeyData = {};
- var receiverPublicKeyString = {};
+ // var receiverDerivedKey = {XValue:"",YValue:""};
+ // var receiverECKeyData = {};
+ // var receiverPublicKeyString = {};
- receiverECKeyData.privateKey = ellipticCurveEncryption.receiverRandom();
- receiverPublicKeyString = ellipticCurveEncryption.receiverPublicString(receiverECKeyData.privateKey);
+ // receiverECKeyData.privateKey = ellipticCurveEncryption.receiverRandom();
+ // receiverPublicKeyString = ellipticCurveEncryption.receiverPublicString(receiverECKeyData.privateKey);
- //Part 3: Back to sender side to derive shared key
- senderDerivedKey = ellipticCurveEncryption.senderSharedKeyDerivation(receiverPublicKeyString.XValuePublicString,receiverPublicKeyString.YValuePublicString,senderECKeyData.privateKey);
+ // //Part 3: Back to sender side to derive shared key
+ // senderDerivedKey = ellipticCurveEncryption.senderSharedKeyDerivation(receiverPublicKeyString.XValuePublicString,receiverPublicKeyString.YValuePublicString,senderECKeyData.privateKey);
- //Part 4: The receiver will use the same method to derive the shared key
- receiverDerivedKey = ellipticCurveEncryption.receiverSharedKeyDerivation(senderPublicKeyString.XValuePublicString,senderPublicKeyString.YValuePublicString,receiverECKeyData.privateKey);
+ // //Part 4: The receiver will use the same method to derive the shared key
+ // receiverDerivedKey = ellipticCurveEncryption.receiverSharedKeyDerivation(senderPublicKeyString.XValuePublicString,senderPublicKeyString.YValuePublicString,receiverECKeyData.privateKey);
- exportData.senderPublicKeyString = senderPublicKeyString;
- exportData.receiverPublicKeyString = receiverPublicKeyString;
- exportData.senderDerivedKey = senderDerivedKey;
- exportData.receiverDerivedKey = receiverDerivedKey;
+ // exportData.senderPublicKeyString = senderPublicKeyString;
+ // exportData.receiverPublicKeyString = receiverPublicKeyString;
+ // exportData.senderDerivedKey = senderDerivedKey;
+ // exportData.receiverDerivedKey = receiverDerivedKey;
- //Check on console. senderDerivedKey should be same as receiverDerivedKey
- })();
+ // //Check on console. senderDerivedKey should be same as receiverDerivedKey
+ // })();
@@ -9227,6 +9227,143 @@
}
+
+
+
@@ -9425,9 +9573,8 @@
case "trade_buy":
localbitcoinplusplus.rpc.prototype.filter_legit_requests(function (is_valid_request) {
- if (is_valid_request !== true) {
- return false;
- }
+ if (is_valid_request !== true) return false;
+
request.response = localbitcoinplusplus.trade.prototype.trade_buy.call(this,
...request.params,
function (supernode_signed_res) {
@@ -9507,7 +9654,7 @@
}
params.depositor_public_key = requester_public_key;
- if (params.product == "BTC") {
+ if (params.product == "BTC") {
/**************************************************************************
// YOU HAVE TO PROVIDE BTC KEYS HERE. CHANGE IT LATER
****************************************************************************/
@@ -9768,10 +9915,8 @@
case "withdraw_request_method":
localbitcoinplusplus.rpc.prototype.filter_legit_requests(function (is_valid_request) {
- if (is_valid_request !== true) {
- return false;
- }
-
+ if (is_valid_request !== true) return false;
+
if (typeof params.product !== "undefined" &&
localbitcoinplusplus.master_configurations.validAssets.includes(params.product) &&
typeof params.withdrawing_amount !== "undefined" &&
@@ -10108,8 +10253,6 @@
break;
}
}
-
- //request.response = request.method(); // if successful
return request.toString(); // return to client
},
@@ -10221,7 +10364,6 @@
for (var key in params) {
if (params.hasOwnProperty(key)) {
- //console.log(key + " -> " + params[key]);
if (typeof key == undefined || key.trim() == "" || key == null) {
throw new Error("Incomplete or invalid request!");
}
@@ -11493,6 +11635,24 @@
JSON.stringify(res_obj));
doSend(JSON.stringify(response_from_sever)); // send response to client
break;
+
+
+ case "testMessageBroadcasting":
+ console.log(res_obj);
+ try {
+ let data = res_obj.params[0];
+ let msg = localbitcoinplusplus.encrypt.decryptMessage(data.secret, data.senderPublicKeyString);
+ console.log(msg);
+
+ } catch (error) {
+ console.error(error);
+
+ }
+ break;
+
+ case "MessageForMiddleman":
+ console.log(res_obj);
+ break;
default:
break;
@@ -11810,47 +11970,6 @@
};
});
}
- // async function readAllDB(tablename) {
- // var objectStore = db.transaction(tablename).objectStore(tablename);
- // let response = [];
-
- // return new Promise((resolve, reject) => {
- // var open_cursor = objectStore.openCursor();
- // resolve(open_cursor);
- // }).then((result)=>{
- // result.onerror = function (event) {
- // throw new Error("Error fetching data");
- // };
- // result.onsuccess = function (event) {
- // let cursor = event.target.result;
- // if (cursor) {
- // response.push(cursor.value);
- // cursor.continue();
- // } else {
- // return response;
- // }
- // };
- // });
-
- // }
- // function readAllDB(tablename) {
- // return new Promise((resolve, reject)=>{
- // var objectStore = db.transaction(tablename).objectStore(tablename);
- // let response = [];
- // objectStore.openCursor().onerror = function (event) {
- // reject("Error fetching data");
- // };
- // objectStore.openCursor().onsuccess = function (event) {
- // let cursor = event.target.result;
- // if (cursor) {
- // response.push(cursor.value);
- // cursor.continue();
- // } else {
- // resolve(response);
- // }
- // };
- // });
- // }
async function addDB(tablename, dbObject) {
try {
diff --git a/supernode/index_promises.html b/supernode/index_promises.html
deleted file mode 100644
index 6f4de00..0000000
--- a/supernode/index_promises.html
+++ /dev/null
@@ -1,12333 +0,0 @@
-
-
-
-
-
-
-
- Document
-
-
-
-
-
-
-