Skip to content

Instantly share code, notes, and snippets.

const express = require('express')
const port = 5050
const Dash = require('dash');
const cors = require('cors');
const app = express();
const { NodeForage } = require('nodeforage');
const Dash = require("dash");
const CryptoJS = require("crypto-js");
// const secp256k1 = require("secp256k1-native");
const secp256k1 = require("secp256k1/elliptic");
const dashcore = require("@dashevo/dashcore-lib");
// sender, receiver must be friends (existing contactRequest documents on dpp)
// changing mnemonic requires adjusting or removing skipSynchronizationBeforeHeight
// const senderMnemonic = 'alert escape pear enhance mansion gossip seminar mansion enable salt bounce tumble'; // A-DashpayJS
// const receiverUsername = 'B-DashpayJS';
/* eslint-disable max-len */
/* eslint-disable no-underscore-dangle */
/* eslint-disable no-bitwise */
const CryptoJS = require("crypto-js");
const secp256k1 = require("secp256k1-native");
const dashcore = require("@dashevo/dashcore-lib");
const ecdhSharedKey = (senderPrivateKey, receiverPublicKey) => {
const ctx = secp256k1.secp256k1_context_create(
secp256k1.secp256k1_context_SIGN
const Dash = require("dash");
const CryptoJS = require("crypto-js");
const secp256k1 = require("secp256k1-native");
const dashcore = require("@dashevo/dashcore-lib");
// sender, receiver must be friends (existing contactRequest documents on dpp)
// changing mnemonic requires adjusting or removing skipSynchronizationBeforeHeight
// const senderMnemonic = 'alert escape pear enhance mansion gossip seminar mansion enable salt bounce tumble'; // A-DashpayJS
// const receiverUsername = 'B-DashpayJS';
const Dash = require("dash");
const { NodeForage } = require("nodeforage");
const nodeforage = new NodeForage({ name: "walletnodeforage2" });
const clientOpts = {
network: "testnet",
apps: {
},
wallet: {
{"transactions":{"a42791d1c2f46c8736bb82d875ff16f7b654adc6e1e474364708765d916fac60":{"hash":"a42791d1c2f46c8736bb82d875ff16f7b654adc6e1e474364708765d916fac60","version":3,"inputs":[{"prevTxId":"ed00ce4c73485f6d0a82e5f3a670a7591579c2e2c35bc793da3f71b6e2d25b90","outputIndex":1,"sequenceNumber":4294967295,"script":"483045022100ab94482544501f5a10c0b7a24c9fd2ae1133faa24b77b41f5674a2e54d317de5022008f37cc933b7bff4136be4015ce089ecf8da2a71baa7f57d1b48aca900438b75012103dd324e517bcc251052069d19d3d71fd6678ac38e786b6b3b6b7adf0112cd91d8","scriptString":"72 0x3045022100ab94482544501f5a10c0b7a24c9fd2ae1133faa24b77b41f5674a2e54d317de5022008f37cc933b7bff4136be4015ce089ecf8da2a71baa7f57d1b48aca900438b7501 33 0x03dd324e517bcc251052069d19d3d71fd6678ac38e786b6b3b6b7adf0112cd91d8"}],"outputs":[{"satoshis":10000,"script":"6a14b880bed0ec5e0912f5569883f4e40259a9eb410a"},{"satoshis":770289000,"script":"76a9146b69b0c4e117af7d588f2b01f55ac74a514410a488ac"}],"nLockTime":0},"ed00ce4c73485f6d0a82e5f3a670a7591579c2e2c35bc793da3f71b6e2d25b90"
npm run test:browsers
> @dashevo/platform-test-suite@0.21.0 test:browsers
> karma start ./karma.conf.js --single-run
webpack was not included as a framework in karma configuration, setting this automatically...
Webpack bundling...
asset commons.js 10.2 MiB [emitted] (name: commons) (id hint: commons)
asset runtime.js 8.2 KiB [emitted] (name: runtime)
asset index.4100595809.js 1.03 KiB [emitted] (name: index.4100595809)
Error: Merkle root from the diff doesn't match calculated merkle root after diff is applied
at SimplifiedMNList.applyDiff (/root/dash-dapp-autofaucet/node_modules/@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNList.js:85:11)
at SimplifiedMasternodeListProvider.updateMasternodeList (/root/dash-dapp-autofaucet/node_modules/@dashevo/dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js:59:29)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async SimplifiedMasternodeListProvider.getSimplifiedMNList (/root/dash-dapp-autofaucet/node_modules/@dashevo/dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js:34:7)
at async SimplifiedMasternodeListDAPIAddressProvider.getLiveAddress (/root/dash-dapp-autofaucet/node_modules/@dashevo/dapi-client/lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js:21:17)
at async GrpcTransport.request (/root/dash-dapp-aut
const Dash = require("dash");
const dashpaycrypto = require("dashpay-crypto");
// const Base58 = require('../lib/encoding/base58');
// changing mnemonic requires adjusting or removing skipSynchronizationBeforeHeight
// const senderMnemonic = 'catalog world quit margin supreme pony vacuum park inch soul daughter manage'; // B-DashpayJS
// const senderMnemonic = 'upper renew that grow pelican pave subway relief describe enforce suit hedgehog blossom dose swallow'; // iOS test vector
// const senderMnemonic =
// "differ need van hire walk globe busy drill name neutral below increase"; // C-DashpayJS THIS MNEMONIC HAS ISSUES REGISTERING A USERNAME IN ANDROID WALLET
const senderMnemonic =
/* eslint-disable max-len */
/* eslint-disable no-underscore-dangle */
/* eslint-disable no-bitwise */
const CryptoJS = require("crypto-js");
const secp256k1 = require("secp256k1-native");
const dashcore = require("@dashevo/dashcore-lib");
const ecdhSharedKey = (senderPrivateKey, receiverPublicKey) => {
const ctx = secp256k1.secp256k1_context_create(
secp256k1.secp256k1_context_SIGN