12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* Import core modules. */
- const debug = require('debug')('cashshuffle:test')
- /* Import local modules. */
- const ShuffleClient = require('./src/libs/shuffle/ShuffleClient.js')
- // const testCoins = require('./testCoins')
- /* Initialize Shuffle Manager. */
- let shuffleManager = null
- /**
- * Delay (Execution)
- */
- const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms))
- /**
- * Start (CashShuffle)
- */
- const start = async function () {
- debug(`Starting CashShuffle test...`)
- /* Initialize new shuffle client. */
- shuffleManager = new ShuffleClient({
- coins: [ require('./testCoins').source ],
- hooks: {
- change: require('./testCoins').change, // NOTE: This is a function.
- shuffled: require('./testCoins').target, // NOTE: This is a function.
- },
- protocolVersion: 300,
- maxShuffleRounds: 1,
- // Disable automatically joining shuffle rounds
- // once a connection with the server is established
- disableAutoShuffle: false,
- // serverUri: 'https://shuffle.servo.cash:1337',
- // serverUri: 'wss://shuffle.servo.cash:1338',
- serverStatsUri: 'https://shuffle.servo.cash:8080/stats'
- // serverStatsUri: 'http://qvzl7zjviaw6532kn5onvlqluwxrlwhjpybsya4fw33ggvhzrak4z3qd.onion:8081/stats'
- })
- /**
- * Shuffle Success
- *
- * This event is emitted only when a successful shuffle round occurs.
- * Currently all change is re-added to the client's pool of unshuffled
- * coins (but in the new address returned by the HD wallet hook) so
- * they too can be shuffled.
- *
- * NOTE: Here you would do things like un-freeze shuffled coins,
- * update UI's, etc.
- */
- shuffleManager.on('shuffle', async (shuffleRound) => {
- debug(`Coin ${shuffleRound.coin.txid}:${shuffleRound.coin.vout} has been successfully shuffled!`)
- // Just a random delay to more equally distribute
- // the load on the bitcoin.com servers.
- await delay(Math.random() * 3000 + 570)
- /* Quit application. */
- process.exit()
- })
- }
- /* Start test. */
- start()
|