{"_id":"bitcointest","_rev":"27-35abc7e14ebea47fbb33b2d6af8e652d","name":"bitcointest","description":"Bitcoin testing framework for node.js","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.4":{"name":"bitcointest","version":"0.1.4","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"cd2664036f05cb2ae43e4960be186bdb99c15adf","_id":"bitcointest@0.1.4","_shasum":"93661181796817542351b3e579838caa2f8aa968","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"93661181796817542351b3e579838caa2f8aa968","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.4.tgz","integrity":"sha512-N4eU0NZeFtXX2P5moS4izlIexvB4HqWd1r9gNEecFSBhGp5kR23CdvB9pdt7pYDKsM2PQE+TDqgOl2KTjVJTdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIQeH0fIKlcFMTFWKyUEy1nPYXR1LamlXQspSOTUiQSAiEAr5dX9gjXTM7pM8WZ+q3l1qDFBnHdPOGKbkhylhwHF6w="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.4.tgz_1483589198276_0.27307849540375173"},"directories":{}},"0.1.5":{"name":"bitcointest","version":"0.1.5","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"8f14410024ae0449835b80a48d2b92043b066031","_id":"bitcointest@0.1.5","_shasum":"ac05871caaf7db669230c5c5641d63042b4eb005","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"ac05871caaf7db669230c5c5641d63042b4eb005","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.5.tgz","integrity":"sha512-3on7octBBrS5rjhouWggm/00m9LtNjAZ0LvZR0BwQft5x8iJeqp5voxEMUGJ9w44cbhpXLyTohJ1z8HiTvJ3IA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpgn76AwaVF9JiO74SnrTOumSb4mFvihoGWZ6ruYC7ZQIgIR55jTxZzgrJTvh8Wv1MaPCj9yreR7i1U6YHxLmeGJg="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.5.tgz_1483589241067_0.7015571836382151"},"directories":{}},"0.1.6":{"name":"bitcointest","version":"0.1.6","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"cfd2ed6355c251a392f5f501cbe83dc434fbfe65","_id":"bitcointest@0.1.6","_shasum":"d595e179a76202470b914cb940870db53a725a51","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"d595e179a76202470b914cb940870db53a725a51","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.6.tgz","integrity":"sha512-pBLkekt28bjaZQQtBB8xBWkPVkpR6/iMu/Ktwan5D6GJlYE9MPqNenZ7V8iU5vLNjKkMa8+vxqzOvVdgMzwN/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRfH27InBPuEaK470+8tMhE/7So2zFOTbK1cejkDz4RAIgQvX1wp4nTDl8t9RMGbch19qUeF8ctj3gslL0daoqtwA="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.6.tgz_1483599275280_0.17932832799851894"},"directories":{}},"0.1.7":{"name":"bitcointest","version":"0.1.7","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"4b3847732ff02e252b08f7fa0aee008ec5b531f0","_id":"bitcointest@0.1.7","_shasum":"3c9a701046f975b6cd9616f2cf9bcd92aa9c9822","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"3c9a701046f975b6cd9616f2cf9bcd92aa9c9822","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.7.tgz","integrity":"sha512-SKF2dZxnie273vUKCzvfzdBZQ6Fw3P40i6LgamuRE+ovKHoNC0QmG5qZJX+4HZNWQptNc+wbTy0Ok+opHN8oZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBr0SgLpa9G03MdonGFx5w1n6OOc/ax439nvgX9iQkFHAiAf/gXo9t4y+NUD6zoil9TrV7QvT8wWpFs/uDf0+cQSag=="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.7.tgz_1483602859128_0.2099465192295611"},"directories":{}},"0.1.8":{"name":"bitcointest","version":"0.1.8","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"345e2f7dee50bc19f1c257ed65863af4da7fa0b6","_id":"bitcointest@0.1.8","_shasum":"0302a388118c0ac669093d6da3763a1672d67c37","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"0302a388118c0ac669093d6da3763a1672d67c37","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.8.tgz","integrity":"sha512-Z+xJvyPei9oXQCLP3DQ20SKLWRL7Nu74DJmw7Fpe650OWgqiXOnCgoUiUqwUVkIWMMIrsqc5SGAmFnY/Sk2sBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNKaZ7Y4/G813kxUKpHK1AJ+M1bqWTjD2hVFWWtvBSDAiAUcO4Z6iamhVVVbAEFN2naCaLUOWprTXM2Qsxf1xYP9A=="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.8.tgz_1483602945176_0.33220901945605874"},"directories":{}},"0.1.9":{"name":"bitcointest","version":"0.1.9","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"eb1ce4fc780096fe1bc4ade1599d85103dce156c","_id":"bitcointest@0.1.9","_shasum":"657e7fd99bc0321e66658c8468796e2e87bbcb5c","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"657e7fd99bc0321e66658c8468796e2e87bbcb5c","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.9.tgz","integrity":"sha512-WcUiJFYxtVlDOVQX3aeFIu5mALbZKVfZGAKssQreUBRrRnH9cqXXtgaTIRbdpyYDABuPm5k26gC2SGdns3ycqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4eoUtYBUl6cMFutj+/ZT1BF4Fnr2GameiAhYcYuj5owIgfciKi6yungMaLzRECeCJAqQ5QFDaH33XiXGBolVgUjE="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.9.tgz_1483605407455_0.9410992881748825"},"directories":{}},"0.1.10":{"name":"bitcointest","version":"0.1.10","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"5bae11d36197905c3bacbcb70045b399fbd53cf6","_id":"bitcointest@0.1.10","_shasum":"429b89d11d832fd594e8e0857a1a84d29ac5ec73","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"429b89d11d832fd594e8e0857a1a84d29ac5ec73","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.1.10.tgz","integrity":"sha512-pJVcI6Ms5eKfSl+6OId4a/AnX/Y/7OoLzBAPtOCbP9eG/yaa6d2gzT7kpWPSoW0oirRvfqvlfFXzcoFcuAPd/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsDaRtRgLk1y0ZdHstDLNFg4r/wMdDK/qRXEMqiKlGXAIhAIvaDcZTQuVcgREf5ab6RoQzvAsiav8wcQt0o6mkVPyx"}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.1.10.tgz_1483675321673_0.15843472792766988"},"directories":{}},"0.2.0":{"name":"bitcointest","version":"0.2.0","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"ae1fb7c25659b25b25f91faac8ea29300649cac1","_id":"bitcointest@0.2.0","_shasum":"5dfee58e0638a3243ab89d5280b22f22a6602143","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"5dfee58e0638a3243ab89d5280b22f22a6602143","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.2.0.tgz","integrity":"sha512-KuvHjdv9DMdY6ATRUnVFEiuuMhkBqS4NBrHnxcqJNAYMegwpIoJqW9W1Q1JgHKu2aJvd3qT5RFiLua6D2ysLTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHzdNuPMjiVG0o0eueAqBsQi0HZ2dYZupho3ecCyWORtAiAwYj1WCjzjEyDP4RJw0EpJOQiZ8qEOIA7oC3xsa8pz/w=="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.2.0.tgz_1483704261165_0.214271497214213"},"directories":{}},"0.3.0":{"name":"bitcointest","version":"0.3.0","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"58c5f4d97a7654f22463032715f22ecd6daa10b3","_id":"bitcointest@0.3.0","_shasum":"a703684c23d097cec9e16100ad3debc7f5d5c917","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"a703684c23d097cec9e16100ad3debc7f5d5c917","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.3.0.tgz","integrity":"sha512-uJE1H2WOcXIyRO1l7zXbzi8gJgbbdjq12KLoPJR2Zb9v3n2pmQ+lY7C0lXNKr5SdClunQWbiTiDltKNmqkl/SQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCE3JKTQm/5AHOZJ/yOI2teAWzdj6E/vhCRkS6c70+qJgIgHRxlxoQPmsETUyCCKU4t8+yUsvMnTXhHSO0Oz5GFp+c="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.3.0.tgz_1483708819240_0.7297828984446824"},"directories":{}},"0.3.1":{"name":"bitcointest","version":"0.3.1","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"51a0c635ce5faf0332e9f91dd276bf11f251ff62","_id":"bitcointest@0.3.1","_shasum":"5eec6ff41486de7350438ac1b210b87cc4849c7f","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"5eec6ff41486de7350438ac1b210b87cc4849c7f","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.3.1.tgz","integrity":"sha512-AvL+agEAeHXRdTG0P7JMHjne+zO7s//Oa+Y8Wyefm3jC/ppxT1m8hR7XYQjBUpc5G/0N8T+9r4lwAKeYFRshqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICnm1g5myumQgrQTX9nM2UzAkjYm/5cHmawI1iH0DatAAiEA5kr2CWbGKsV8ezjOOZYMKs0GwPsmYHWq3htYsf3TU68="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.3.1.tgz_1483708935545_0.38315938762389123"},"directories":{}},"0.3.2":{"name":"bitcointest","version":"0.3.2","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"6ae8d301f7c76f4bab2572a416c1c2fa316af8d4","_id":"bitcointest@0.3.2","_shasum":"e4c0fc7eb09ef3ca483b0dccc099733455558570","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"e4c0fc7eb09ef3ca483b0dccc099733455558570","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.3.2.tgz","integrity":"sha512-CFMfnRP4knCgx6NcQPODMMvZeosHrCNiXRxxSQt2vX6MtNMOz60gmGzDNA0yKENC5hBLxCmJcJZzI5Cn5veyFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWoXm1CIUao7ilABHdGaTF6U1Qp4ZjcGi9V/U041jjuQIhAOpgdPVUkqKr18PpPFQ2gqGoIgZoQ/Dobb1AcvIpVkwM"}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.3.2.tgz_1483709016723_0.8961831775959581"},"directories":{}},"0.3.3":{"name":"bitcointest","version":"0.3.3","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"e6fbf447c3c7dcc0263ab31a556c2599cdd72f1c","_id":"bitcointest@0.3.3","_shasum":"f3f652a5ba657d704ae5d87aa74b946e882cc7f7","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"f3f652a5ba657d704ae5d87aa74b946e882cc7f7","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.3.3.tgz","integrity":"sha512-iMnbnxpu1eePHd1eO3Vx9UKTOyItFThwZqTKH4EpefuEJ8oWZjW5Jj56pFUo+W6dL8qkzMcnaT4ajlFKsYRs5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFJqfalEyqHlrJaFnmhvgq9TVjMQuwFtNBk1khXxwPb0AiEA2o/FspFH5X4iteU1SvD7pm7Z/BH/AQhgGlMGo5oEMX8="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.3.3.tgz_1483709272148_0.035894232569262385"},"directories":{}},"0.3.5":{"name":"bitcointest","version":"0.3.5","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"b121e0eb73fe2c934aa6e05c602a1200f3d60e60","_id":"bitcointest@0.3.5","_shasum":"c156924d5eb57b0ed6ac24e4257e180a6081231f","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"c156924d5eb57b0ed6ac24e4257e180a6081231f","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.3.5.tgz","integrity":"sha512-mVOYeeFoJwrCcDIF00ehJ0yB8fAwUK1ZEH3tHtOJStG/MNtLqOveRB/FZXAmwtfU8MJ7XlCwJ9dPdRnEeZWShg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE5eO7vTeVngASWLk4CKwebgh3ODv4efy+dUs5TSxBalAiEA+NBGin1ROPiwemWTkm+OfyN8wDwK/xEcejxZtcXZeb0="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.3.5.tgz_1483770045759_0.13371701585128903"},"directories":{}},"0.3.6":{"name":"bitcointest","version":"0.3.6","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"4f194b0db31a500267accb619b80f9f7d8f98ab4","_id":"bitcointest@0.3.6","_shasum":"5e86e1baf8379cd577a06de7c6df60a428b82d9f","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"5e86e1baf8379cd577a06de7c6df60a428b82d9f","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.3.6.tgz","integrity":"sha512-G39RLFRNOOD4tfDPoHUOuZnwT/w7K5eEePoUhYBmyTHxfGmDZRyt/1/rZyQn0wtTctLtNKvXWvNEGpqE4oSk8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1rmcnk4FhrzUeX+Lemcl2lpuLP1mHVwU8e02ixyFnEAIhALwQJusNLrywly8pRjjiHPNkBFubNOcpbOBjrXlE9aI4"}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.3.6.tgz_1483776906428_0.4038100407924503"},"directories":{}},"0.4.0":{"name":"bitcointest","version":"0.4.0","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"fa8b58495d7a4f1bbacac7daff0bb53d4b09b2c8","_id":"bitcointest@0.4.0","_shasum":"444110604e211372dfb21ccdb7eeacccc564fa5d","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"444110604e211372dfb21ccdb7eeacccc564fa5d","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.0.tgz","integrity":"sha512-A0HQMryAfIlPPizLEkUmFV4eEtvkKsamlQrAwN191MtWQRVhKVS4zvd4Pk/Sl+I8rUA/0ni0y+NfbEjf7vU0Ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdw3/QsmR+cd5+roj2EATcJesWyPRPls4kp+cbmdzHlAIhAPK2oXH+tAQxtRLfbV1u3JaL2hKui9dsKjowITY/WSyW"}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.4.0.tgz_1483856373524_0.7281271431129426"},"directories":{}},"0.4.1":{"name":"bitcointest","version":"0.4.1","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"5e3515698abcdf9f1cf5604755c2d71a26bcf43a","_id":"bitcointest@0.4.1","_shasum":"1f1dde7b132db4ab19956485151ed58e1f71170e","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"1f1dde7b132db4ab19956485151ed58e1f71170e","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.1.tgz","integrity":"sha512-1TFnLv7gVmyjQlO3rPbzfeHIvKM7wFRDbBkKHMisf+tMpDhYM+DS9N0vTa7NgHWBI0PB341ROPldEUTELzROCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHA41+20NblcdiFKV+b9qW4on6JbH5qZmazTeFnMOfVAIgOGmftAJFx7hQoBdTv/12TJgcFVtlI0I+LrixOiELnC4="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.4.1.tgz_1484001780445_0.07637833361513913"},"directories":{}},"0.4.2":{"name":"bitcointest","version":"0.4.2","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"6f295afe9b159879e673aa8d2a3f6a5c50fa82fb","_id":"bitcointest@0.4.2","_shasum":"f780ca34eb09445886a0ba77e35f3b8d74c9066d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"f780ca34eb09445886a0ba77e35f3b8d74c9066d","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.2.tgz","integrity":"sha512-7bMUaB18+Az9KuAh8rTgNhjafg1KE9BVvaL1OKGaRC8L6CX/i2k8gKMgbNoHpRHXHRKe4J/nAlrB2hlqLC1/Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHndnPUE53Rm9oSfDxYRSkQ2wTzWuii2ZaC5IZuf/0SnAiAykyggdg2U6GU3mLKIRR+k/3GtnysC4UOZjNbxVGrLXg=="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.4.2.tgz_1484001927562_0.1924902331084013"},"directories":{}},"0.4.3":{"name":"bitcointest","version":"0.4.3","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"56d18a01ceedbd8fcfe232ca39dcbb7918f55077","_id":"bitcointest@0.4.3","_shasum":"38270a9349de2a4175883b4ad1bdfcdbcc0c42d5","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"38270a9349de2a4175883b4ad1bdfcdbcc0c42d5","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.3.tgz","integrity":"sha512-yEuHW5UhWlxoANGz/Ty3lBp5I4NXNfQp9PIynUzXLYx3GQewI+oWmUls1DnCnhxa6xA+H0+YJZrmHJcH9yuRDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCGJqjx8A8Uy329uzKZtufhj/pDfiOEok8IeAb1QKVeAIhALNgjp0CKGrILWScRHZWNDyRnN+X6OllF10DNmaYIRtc"}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bitcointest-0.4.3.tgz_1484123772794_0.014760963153094053"},"directories":{}},"0.4.4":{"name":"bitcointest","version":"0.4.4","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.1.4","bcrpc":"^0.0.5","deasync":"^0.1.9","death":"^1.0.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.2.12"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"51e8fee4817a940c56f9666e076466042aa525eb","_id":"bitcointest@0.4.4","_shasum":"ff64b0a34b466a6255abfa3d98c93831501c1b50","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"shasum":"ff64b0a34b466a6255abfa3d98c93831501c1b50","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.4.tgz","integrity":"sha512-Gu1K3VbxJIxzQH4yXR3bdwjwrveEfL4inziqH4hXek4soUcgvpokYRDj28rclXCbQS8OJWa1wKuECPsroUCrDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGPhFh0+Tq8GpsTTeduoGu49cs4Eizzt0xDuLiNNsbekAiEAk7Bxqrs48lvJUcfU43SyyeHpFYsD4Jq1yXJ+jGA7x3w="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bitcointest-0.4.4.tgz_1484641416965_0.05132015538401902"},"directories":{}},"0.4.5":{"name":"bitcointest","version":"0.4.5","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.5.0","bcrpc":"^0.0.5","deasync":"^0.1.10","death":"^1.1.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"ea38ee5f5e25fc8de27dd1ff618e1cf122b246f7","_id":"bitcointest@0.4.5","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"integrity":"sha512-EdeF7/lOwboxunjcxb2e5ib+JQRUQseQecOhhbBOyBPADhW1qGFdB+jB76AOjk1PUVsatQoObtQpvtU0jiazCA==","shasum":"48dbdecb27f35165310b906892333e7fc9b847a5","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4jgMHh/VkHKsTPn+TcvDgrSMzj5VVXyq+yEo5mCPEcAiEAi9nNARnQ35TUCLCeVTK+5SEohtWGU402zF/bqYtM8Co="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bitcointest-0.4.5.tgz_1509566610863_0.9277152910362929"},"directories":{}},"0.4.6":{"name":"bitcointest","version":"0.4.6","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.5.0","bcrpc":"^0.0.6","deasync":"^0.1.10","death":"^1.1.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.3.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"bf83443954ecf5c4a62641832ef7b974c16716bb","_id":"bitcointest@0.4.6","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"integrity":"sha512-jo4LvOU0rYXpyKlwjDchljtW/4o+t2m2bd/RHBbMpANTqHfykBeZehaPJWjjhkGMposk4m946Fm0YDOraNz6lg==","shasum":"6040f79ff98748943e024d3f32d89bf0c995ab11","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYU9sQsV+dPgHS9nlwiFZGjGXvkhkebPn71xcraPW7sAIgPGnHgzxRPA7+lWrocBjp3L3n99G0/oQm4udzMTXENBE="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bitcointest-0.4.6.tgz_1513570985791_0.20581769198179245"},"directories":{}},"0.4.7":{"name":"bitcointest","version":"0.4.7","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.6.1","bcrpc":"^0.1.1","deasync":"^0.1.14","death":"^1.1.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.3.1"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"1a7619f240043dd21fa0ac7cd6e5fd9ea77987f4","_id":"bitcointest@0.4.7","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"integrity":"sha512-AY5B8QihaeCgWbV9/Ng4j08xzw0j+9+sd6lGBjWjhTcaUyVHSFOZryTlw943VuTPk47VginD5vn5/3CWOTbTIg==","shasum":"17cfbc2bb25386a992c806a77364d338859a83c0","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.7.tgz","fileCount":133,"unpackedSize":143974502,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRZAwCRA9TVsSAnZWagAAhrgP/AnH1KBw4pYnGK5pHL1N\nE5gpPUWKgY2rrr2g7gRh0AJio0yyg+484tk9aDc9PWlvFAOkN4odV2r6Z35o\nuKT7+npARJ8CQJwc/5ME/TdG06CbMSM3j+O/5wDup0+GlpA/xDkSH4KhzONx\nqaOo0WzGBuK3zRISwK8nwq2I0jN0prqm54xQlX162xnMsARjCZc421Je79yv\nZptsI1kCB+krzmSqECe45qJbSC2dS08VEU1TC3qYzmNPosC489eJduv5oDu4\ncqbsQW30dTqKRfbc1sWVv79n+mX+Kd1c2/oeFNHp1SFYizemFsq5z94UHYfb\n0BDIDQbz/gKNFK5KAEdBK3Fx9+4JPJ54gxWCld5FjZw0UbCpST6dAczZdJXV\nbEGLBEz9olFj5BdF1UY4rozUd+TrRQvfraMGX+ReDuVGgpNTZbNaktjmrB6u\n4VLr3HBZnshf9W9/6ROkfFyAoGeItV88iKwpS8JbIzRJ9UEbeBtnt2meklYP\nWnvmVi1SY4p1g4GI36atgsrncYnl96+Y18suFTfl3r24WUVdn9YKEwPfapoI\nggBpMDloYt7iTGpbzGrhcK8Nr4epPE5SqMaq7aiKiUjaiSEYMS+o4/YwfKbK\njQr+MrXlO4ecxfo3Bdu+HgjrBpkGFBWaTu/DeYHFuH5/E1iyJum46yIYIGIh\nM7XR\r\n=WeB1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdLANxveIQP90vMZ1J5I7kwnrqgfrVRCWj9XXtuArjCQIgLVuMU6/Lgba7kmpIkc1nE7GwbsCZ+tNmd6bqq75V4do="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bitcointest_0.4.7_1548062767426_0.39261981022404946"},"_hasShrinkwrap":false},"0.4.8":{"name":"bitcointest","version":"0.4.8","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.6.1","bcrpc":"^0.1.1","deasync":"^0.1.14","death":"^1.1.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.3.1"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"50ecf821054c7c5a7b4f937aecc0687ff3eb82ae","_id":"bitcointest@0.4.8","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"dist":{"integrity":"sha512-peu/yH9Go9nsIzdANlFTEA2G91ZTQaM3t8Te2s65JiubJP7yGwiLbwc/vLU3XL8dMOq9iWUEe4qpou3vJr5ifA==","shasum":"dc437546a68bcab3e5ac76e373c6b33cc44177f1","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.4.8.tgz","fileCount":13,"unpackedSize":108878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRZBHCRA9TVsSAnZWagAA39QP/1+POl4WNUHqhnhSS9wb\nkL0207+R0kD8BdfV5A7MFcPEOO2lTr66ckRXmAn1R6AwmRND9weJhAb3hBtZ\nKAn6raGjgKNMegacmAemnba4HsQG7zAG5uOv+OK9/TBVnk1YqwprXS5U2CME\nclGxQgQCyZTzqQJjde6099bHClEoMMkia4TNEmYNSi1AroHU3W8f3yaV1+CI\n175jNTvQ4oSSvZ5OMF8tm9RU8D53DrVe3ujCymSzzCkM2DDnKmJ1LPvc0iDU\nACw6SGO3sHeHyQwrokvMV0T2rXRsbEd0Qzr2PifAnTHXuYibtG6GSm4zGYD0\nXFI6jlbH5C5Gt75AR6fTq88tLBiAqPH6J/liL0F/JZ5w91GVDmtM+MfqOq5u\na0vwJYSd9YpbRTLd7aWOC8PAoMzGEjcXJn5QPR+NGYHq9YWx/ieM3WK5JxgA\n19v5+3/WOQBhqpD9/vwu4hPAWf1pNLNAZvsZgSoMcmiIgzT9VLorgmKkDRYm\nMFtkpSr5qYaLgwLMBW4WiK+DxjWOAHcX4IynifB8Z9A5t3WAiTaGALbtlyzw\nnfR7uH86HmZTiR9UN2hKx0CsPoRmW01u4XGSRvtYc0Z71LTo920xZM7+QcB6\nPmEE2Kr6hjnYvOG/8nFGih97w5w6w9ap8nDFfiZN9pcyZOOiDyLDi1lv35T1\nj2Pf\r\n=czbm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDVnNe296URyymhwPhSSOvUcAfrB0HRTiFt4D9yEiAUAAiAqEaPd76Tjf6y31NasftFO7bx3nmwOaXDk6HU8SJvP1g=="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bitcointest_0.4.8_1548062790227_0.0448710829526644"},"_hasShrinkwrap":false},"0.5.0":{"name":"bitcointest","version":"0.5.0","description":"Bitcoin testing framework for node.js","main":"index.js","scripts":{"test":"mocha tests.js"},"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"keywords":["bitcoin","rpc","testing","module","utility"],"author":{"name":"Karl-Johan Alm"},"license":"ISC","bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"bin":{"bitcointest":"./index.js"},"homepage":"https://github.com/dgarage/bitcointest#readme","dependencies":{"async":"^2.6.1","bcrpc":"^0.1.1","deasync":"^0.1.14","death":"^1.1.0","mkdirp":"^0.5.1","remove":"^0.1.5","which":"^1.3.1"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^6.0.0"},"gitHead":"20c903469f95b12f2a57bf0e6a8b127651c21cec","_id":"bitcointest@0.5.0","_nodeVersion":"12.3.1","_npmVersion":"6.10.3","dist":{"integrity":"sha512-TUh4Qh3G/JlfqPYy1OHD+CQbI6VegUR3e2XvDxvk47ac5WEkF12FyLIMGC1t4SQT9bh9iCuo14cI98kcmhcnIw==","shasum":"fd4f811a15289f319b72c513ef60d8f694a40710","tarball":"https://registry.npmjs.org/bitcointest/-/bitcointest-0.5.0.tgz","fileCount":12,"unpackedSize":96684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYzxvCRA9TVsSAnZWagAA9KwP/068hCMNnlpfeYkbQPCy\nvUJwh++SWlhcJ5Z9Q2ZADFioRcvo4uPCSvjJ9LSpkljBpeb3RSFjwoeY0s3T\nNspjfZYCMNp1JdR6yYjFLts7Sr+vwBpLZ/W97cPLjwkC/ZacEoCpONz+tzi9\nzCQBZUSPMwseR0R70uQo0OpkUyUMbY35r008qnQD6VemZPj0mIbGnC/ODGhQ\nqRlUKPY9faIE9kj5x/n7OyQG3B0BVaCFJAf7opodc/nIYAkgfu0tVgDYMg+Z\nGrLbdsahUTE4ltfDX8dgBAVgQ9BUR/YgxrH7AnZIsiziT20mpolDDulbDTfa\ne5GLRO3j8yKq7JCJZ0D7Re6H46748AnBrfs8dh2D+LIMQza+gvo9+oposFzy\npeu5hS6BGigGqCUUohl0TdXpiX2OoJxMDAzT7Blseiq7FoHF27wwU2luLq+K\nGRX0FLbSWDJWfIavmLQJV3Dx+KagBTEPbn3fgvq4gOsYtk7ZhfWQOBfjF5lB\nIIjhGeiiNeULqhyvlPUNtRdyuJNQ6yywj8+fzyb4wTTZVnEc3BH9qc/kGEe5\n/Vc++4gq5DnzsmWqaN4mETonDPzbWNXq4WJ+c3Wwjj3UiFtrOWKu/AKSlsHJ\n9X3NNZYwHRV+NjQFwrjVpwORfoxAZYmcibusEWkNcjlqqpe/gezn2Mjo/cwr\n1MXq\r\n=Mx9p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhmYgdGqLD/K76kkV8gcG6hMKxPxlYZkJ5F9fqflvBuAiASzYU4sZkkwAnFN3fEGC6hmMLmhp5BiJDqd7uPs9Q6Cg=="}]},"maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"_npmUser":{"name":"kjalm","email":"karljohan-alm@garage.co.jp"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bitcointest_0.5.0_1566784622938_0.5563065389730129"},"_hasShrinkwrap":false}},"readme":"# bitcointest\n\nBitcoin test suite primarily used to test complex scenarios such as double spends and similar in the Bitcoin network.\n\nThe tests.js file contains several examples detailing what can be done.\n\n[![demo](doc/demo.gif)](#)\n\n## Quick Guide\n\nInstall the npm module `bitcointest`, and in a node project, do:\n\n```javascript\nconst { BitcoinNet, BitcoinGraph } = require('bitcointest');\nnet = new BitcoinNet('/path/to/bitcoin', '/tmp/bitcointest/', 22001, 22002);\ngraph = new BitcoinGraph(net);\n\ntry {\n    \n    // TODO: write code here!\n    \n} catch (e) {\n    net.shutdownS();\n    throw e;\n}\n```\n\nYou can now set up clusters of regtest nodes as you desire. We wrap everything in a try/catch because we want to make sure the nodes are taken down in the event of an exception.\n\nNote that starting a node up can take a long time, and you should `waitForNodes` before using them (it takes over 10 seconds in certain cases).\n\nNote also that in the examples below, the `S`-suffix versions are being used. These are synchronous variants, which have equivalent non-`S` versions which take an additional callback in the form `(err, result)`.\n\n```javascript\nconsole.log('launching nodes');\nconst nodes = net.launchBatchS(4);\nconst [ n1, n2, n3, n4 ] = nodes;\nnet.waitForNodesS(nodes, 20000);\n```\n\nYou can now do things with the nodes. Each node is an independent Bitcoin regtest node. Our nodes are currently disconnected. Let's connect all of them.\n\n```javascript\nnet.mergeS(nodes);\n```\n\nNow that we've merged nodes, let's look at the connection matrix.\n\n```javascript\nconsole.log('current connection matrix:');\ngraph.printConnectionMatrix(nodes);\n/*\n    1   2   3   4\n1  --  xo  xo  xo\n2  ox  --  xo  xo\n3  ox  ox  --  xo\n4  ox  ox  ox  -- \n*/\n```\n\nThe two letters are *outgoing* and *incoming* respectively. `o` = open, `x` = closed. In reality, there is a two-way connection between all nodes, but internally (to `bitcointest`), this is retained as a single connection. In other words, all nodes are connected to each other. \n\nLet's generate some blocks so we have something to spend.\n\n```javascript\nn1.generateBlocksS(1);\nn2.generateBlocksS(110);\n```\n\nNow `n1` has 50 BTC and `n2` has `500` available. Let's send some to `n3`.\n\n```javascript\nconsole.log(`n3.balance (before) = ${n3.getBalanceS()}`);\n// n3.balance (before) = 0\nconst sometxid = n2.sendToNodeS(n3, 100);\nn2.generateBlocksS(6);\nn3.waitForBalanceChangeS(0);\nconst sometx = n3.getTransactionS(sometxid);\nconsole.log(`n3.balance (after) = ${n3.getBalanceS()}`);\n// n3.balance (after) = 100\nconsole.log(`tx ${sometxid}: ${JSON.stringify(sometx, false, '  ')}`);\n/*\ntx 04ba4cd30be191e790b5aaf856ad2c919bb917962929580e0d9a71f13c84a526: {\n  \"amount\": 100,\n  \"confirmations\": 6,\n  \"blockhash\": \"340d5df29f5dc89249adcbc5434d1e19bf2156456ff7c6e87b3396e8c6d5c854\",\n  \"blockindex\": 1,\n  \"blocktime\": 1483765239,\n  \"txid\": \"04ba4cd30be191e790b5aaf856ad2c919bb917962929580e0d9a71f13c84a526\",\n  \"walletconflicts\": [],\n  \"time\": 1483765236,\n  \"timereceived\": 1483765236,\n  \"bip125-replaceable\": \"no\",\n  \"details\": [\n    {\n      \"account\": \"\",\n      \"address\": \"mzmZ16R1NQRnU1bvEgy6iGvbPrGzkoN4CS\",\n      \"category\": \"receive\",\n      \"amount\": 100,\n      \"label\": \"\",\n      \"vout\": 0\n    }\n  ],\n  \"hex\": \"0200000003b7ddc67ce1f7cf9cb5c85c91a1ac1d417577691c1b6f09e1ba986e2302151da70000000048473044022046bfb842d6f4f30a3fe200ebe8282413361cdc6a69b4a8f05849214c960cf40d02205f93c5028fd740c6643a811029e99fecb6337b54280c933a63025acc8aac0c2101feffffff5a0c52522a39ea6737b3cca7469ebd04549c2a2d59ec5007c9d81d3c769c66580000000049483045022100a3051c672cb3d5a485dfe09eb510ed314ea828ce6d5559a402a61dcf6388b4f702200537a79e07b49d25d0e2f70c75058322510f71de7124e49e8c31f263b29471a501feffffff05c8b83871400f69cae3501d095287ae0d9e659145cbb531dab73c80dd5064c0000000004847304402203ec40b8edb61ca7d40dbf5e7c5084b4b5e51effd7aee1171c81134cb22e580ea0220757abb775cb36e052125909043c8e53d33947b666aa61768445ac47b1ba0b18901feffffff0200e40b54020000001976a914d32d2f901d079ae83411172ed83f46e4c60e71dd88ac58d1052a010000001976a914a4526dc0a72f2ce436ee7a0a8364d68c40e0065988ac6e000000\"\n}\n*/\n```\n\nTwo things of note above:\n\n1. If we had generated blocks on any other node than `n2`, it would have not seen the transaction yet, and `n3`'s balance would have remained 0.\n2. If we did not `n3.waitForBalanceChange`, we would have also probably gotten a zero balance, because the nodes would not have finished synchronizing these new blocks (our transaction to `n3` is inside the very first block of the 6 blocks).\n\n## Double Spend Theft Demo\n\nLet's emulate a double spend. There are several kinds of Double Spends, and we will cover two of them here. In the first case we will send money to one person and then send it to someone else. The first person will think they got the money, but then the money will instead go to the second person (ourselves, for example). We do this in a few steps:\n\n1. We split the network into two partitions (`n12` and `n34`).\n2. We share a UTXO between `n2` and `n3`, so that they can both spend it independently.\n3. We spend it on `n2`, sending it to `n1`, then generate 6 blocks on `n2`. `n1` should now think it owns the money sent by `n2`.\n4. We spend it on `n3`, sending it to `n4`, then generate 6 blocks on `n3`. `n4` should now think it owns the money as well.\n5. We reconnect the two partitions and generate on `n3`. This should trigger a reorg, and the UTXO spent by `n3` to `n4` should become the accepted one. `n1` should no longer believe it has the money it was sent earlier by `n2`.\n\nSteps 1 - 2:\n```javascript\nconst [ n12, n34 ] = net.partitionS(nodes, 2);\n\nconsole.log('partitioned network:');\ngraph.printConnectionMatrix(nodes);\n/*\n    1   2   3   4\n1  --  xo  xx  xx\n2  ox  --  xx  xx\n3  xx  xx  --  xo\n4  xx  xx  ox  --\n*/\nconst n1addr = n1.getNewAddressS();\nconst n4addr = n4.getNewAddressS();\nconst utxo = n2.findSpendableOutputS(1);\nn2.shareAddressWithNodeS(n3, utxo.address, true);\nconsole.log(`n1 addr: ${n1addr}`);\nconsole.log(`n4 addr: ${n4addr}`);\nconsole.log(`utxo:    addr=${utxo.address}, amount=${utxo.amount}`);\n/*\nn1 addr: mkkGp38vSZrtaNzPJb9xa4Xf8Cj93xQ24s\nn4 addr: mksXZTCXPZDQi4W8HJgVFXsaP287P7pevs\nutxo:    addr=mkiVX8qmeWL57ccxvhpnz4QA1gsbTFK1qj, amount=50\n*/\n```\n\nWe now have all we need to double-spend. First we do it from `n2` to `n1`.\n\nStep 3:\n```javascript\nconst n1PreBalance = n1.getBalanceS();\nconst txid = n2.spendUTXOS(utxo, n1addr, 1);\nconsole.log(`n2->n1 txid = ${txid}`);\n// n2->n1 txid = 0a2c1098c74ed7767051412806ea427f21d255d7aa812001db9e71781753140e\nn1.waitForTransactionS(txid);\n// 'mempool'\nn2.generateBlocksS(6);\nn1.waitForBalanceChangeS(n1PreBalance);\nconst n1PostBalance = n1.getBalanceS();\nconst confirmedTX = n1.getTransactionS(txid);\nconsole.log(`n1 balance +${n1PostBalance - n1PreBalance}: pre=${n1PreBalance}, post=${n1PostBalance}`);\n// n1 balance +1: pre=0, post=1\nconsole.log(`tx ${txid} according to n1 at this point in time: ${JSON.stringify(confirmedTX, false, '  ')}`);\n/*\ntx 0a2c1098c74ed7767051412806ea427f21d255d7aa812001db9e71781753140e according to n1 at this point in time: {\n  \"amount\": 1,\n  \"confirmations\": 6,\n  \"blockhash\": \"464d3a7c604baa0de5630392ce67490f4122097a4e48226fca302e8d5fa02689\",\n  \"blockindex\": 1,\n  \"blocktime\": 1483765350,\n  \"txid\": \"0a2c1098c74ed7767051412806ea427f21d255d7aa812001db9e71781753140e\",\n  \"walletconflicts\": [],\n  \"time\": 1483765343,\n  \"timereceived\": 1483765343,\n  \"bip125-replaceable\": \"no\",\n  \"details\": [\n    {\n      \"account\": \"\",\n      \"address\": \"mkkGp38vSZrtaNzPJb9xa4Xf8Cj93xQ24s\",\n      \"category\": \"receive\",\n      \"amount\": 1,\n      \"label\": \"\",\n      \"vout\": 0\n    }\n  ],\n  \"hex\": \"02000000010a93cae30517e73597d1bbb5704e3f7dd2f1301568306d47bc4a9cbb897c8b190000000049483045022100f9e767e78da68a896f799ad1b289bcd00f21e717fec696ed3fa8db5a1ed42024022029b492d995d328eaafa40a494535eca003648b40b9ed7e57fd76e2cd8100864f01ffffffff0200e1f505000000001976a914395d7e5ca706a4357f75e8c6d8a78de90520c8ac88acd09b0f24010000001976a914b6f714df2f6175affa3fb4f8cd00fa9ecb7662ab88ac00000000\"\n}\n*/\n```\n\nWe can now spend the same UTXO from `n3` in the same fashion. Before we do, let's see what the block chains look like in the current partitioned state:\n\n```javascript\nnet.syncS(n12);\nconsole.log('block chain state:');\nconsole.log('  n1+n2           n3+n4');\ngraph.printBlockChainsS(n12, n34);\n/*\nblock chain state:\n  n1+n2           n3+n4\n        0f9188f1\n        348ddc14\n        2de5d326\n        ...\n        7220caf3\n        3ee5623d\n        60921d7a\n464d3a7c\n22312068\n775048f6\n029eefbc\n56a4359d\n7fa3d2f9\n*/\n```\n\nAs you can see, nodes `n3+n4` have not see the last 6 blocks, which is because they are disconnected from `n1+n2`. \n\nNow spend the same UTXO from `n3`.\n\nStep 4:\n```javascript\nconst n4PreBalance = n4.getBalanceS();\nconst txid2 = n3.spendUTXOS(utxo, n4addr, 1);\nconsole.log(`n3->n4 txid = ${txid2}`);\n// n3->n4 txid = 4262451530cfc93305db7e4eb4744a4f12f0080a6a39ee1211bb52850dc6ccb7\nn4.waitForTransactionS(txid2);\n// 'mempool'\nn3.generateBlocksS(6);\nn4.waitForBalanceChangeS(n4PreBalance);\nconst n4PostBalance = n4.getBalanceS();\nconsole.log(`n4 balance +${n4PostBalance - n4PreBalance}: pre=${n4PreBalance}, post=${n4PostBalance}`);\n// n4 balance +1: pre=0, post=1\n```\n\nLooking at the block chain state...\n\n```javascript\nnet.syncS(n34);\nconsole.log('block chain state:');\nconsole.log('  n1+n2           n3+n4');\ngraph.printBlockChainsS(n12, n34);\n/*\nblock chain state:\n  n1+n2           n3+n4\n        0f9188f1\n        348ddc14\n        2de5d326\n        ...\n        7220caf3\n        3ee5623d\n        60921d7a\n464d3a7c        4ccf1684\n22312068        3cd8b1e9\n775048f6        43b4f097\n029eefbc        72a56e84\n56a4359d        1594a550\n7fa3d2f9        670f5a40\n*/\n```\n\n... we see that a fork has occurred. This fork will survive for as long as the two partitions are separated. Once the network is merged, the net will perform a reorg, and the longest chain will become the new active one (not 100% but mostly true), as seen by the nodes. Before we do that, let's take a closer look at the two conflicting transactions.\n\n```javascript\nconst tx1Details = n1.getTransactionS(txid, true); // true = detailed (getrawtx instead of gettx)\nconst tx2Details = n4.getTransactionS(txid2, true);\nconsole.log(`first transaction: ${JSON.stringify(tx1Details, false, '  ')}`);\n/*\nfirst transaction: {\n  \"hex\": \"02000000010a93cae30517e73597d1bbb5704e3f7dd2f1301568306d47bc4a9cbb897c8b190000000049483045022100f9e767e78da68a896f799ad1b289bcd00f21e717fec696ed3fa8db5a1ed42024022029b492d995d328eaafa40a494535eca003648b40b9ed7e57fd76e2cd8100864f01ffffffff0200e1f505000000001976a914395d7e5ca706a4357f75e8c6d8a78de90520c8ac88acd09b0f24010000001976a914b6f714df2f6175affa3fb4f8cd00fa9ecb7662ab88ac00000000\",\n  \"txid\": \"0a2c1098c74ed7767051412806ea427f21d255d7aa812001db9e71781753140e\",\n  \"hash\": \"0a2c1098c74ed7767051412806ea427f21d255d7aa812001db9e71781753140e\",\n  \"size\": 192,\n  \"vsize\": 192,\n  \"version\": 2,\n  \"locktime\": 0,\n  \"vin\": [\n    {\n      \"txid\": \"198b7c89bb9c4abc476d30681530f1d27d3f4e70b5bbd19735e71705e3ca930a\",\n      \"vout\": 0,\n      \"scriptSig\": {\n        \"asm\": \"3045022100f9e767e78da68a896f799ad1b289bcd00f21e717fec696ed3fa8db5a1ed42024022029b492d995d328eaafa40a494535eca003648b40b9ed7e57fd76e2cd8100864f[ALL]\",\n        \"hex\": \"483045022100f9e767e78da68a896f799ad1b289bcd00f21e717fec696ed3fa8db5a1ed42024022029b492d995d328eaafa40a494535eca003648b40b9ed7e57fd76e2cd8100864f01\"\n      },\n      \"sequence\": 4294967295\n    }\n  ],\n  \"vout\": [\n    {\n      \"value\": 1,\n      \"n\": 0,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 395d7e5ca706a4357f75e8c6d8a78de90520c8ac OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a914395d7e5ca706a4357f75e8c6d8a78de90520c8ac88ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"mkkGp38vSZrtaNzPJb9xa4Xf8Cj93xQ24s\"\n        ]\n      }\n    },\n    {\n      \"value\": 48.9997,\n      \"n\": 1,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 b6f714df2f6175affa3fb4f8cd00fa9ecb7662ab OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a914b6f714df2f6175affa3fb4f8cd00fa9ecb7662ab88ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"mxCPGVYFhiayMuBvG5FPqgYoZBMRfT5yuE\"\n        ]\n      }\n    }\n  ],\n  \"blockhash\": \"464d3a7c604baa0de5630392ce67490f4122097a4e48226fca302e8d5fa02689\",\n  \"confirmations\": 6,\n  \"time\": 1483765350,\n  \"blocktime\": 1483765350\n}\n*/\nconsole.log(`second transaction: ${JSON.stringify(tx2Details, false, '  ')}`);\n/*\nsecond transaction: {\n  \"hex\": \"02000000010a93cae30517e73597d1bbb5704e3f7dd2f1301568306d47bc4a9cbb897c8b190000000049483045022100f034f52cb7eaeb32a258728dba549337706fabf017e7a5f10abc878f7e88ade7022063a2ae94f144da852959cdde76403202825e799af6926b8061df48a03da543ae01ffffffff0200e1f505000000001976a9143abcb77f721b3f916fe6b1fecdc9cdd8bba6c80988acd09b0f24010000001976a914f71ca0aca82b684cde4e23874120184a93ae765d88ac00000000\",\n  \"txid\": \"4262451530cfc93305db7e4eb4744a4f12f0080a6a39ee1211bb52850dc6ccb7\",\n  \"hash\": \"4262451530cfc93305db7e4eb4744a4f12f0080a6a39ee1211bb52850dc6ccb7\",\n  \"size\": 192,\n  \"vsize\": 192,\n  \"version\": 2,\n  \"locktime\": 0,\n  \"vin\": [\n    {\n      \"txid\": \"198b7c89bb9c4abc476d30681530f1d27d3f4e70b5bbd19735e71705e3ca930a\",\n      \"vout\": 0,\n      \"scriptSig\": {\n        \"asm\": \"3045022100f034f52cb7eaeb32a258728dba549337706fabf017e7a5f10abc878f7e88ade7022063a2ae94f144da852959cdde76403202825e799af6926b8061df48a03da543ae[ALL]\",\n        \"hex\": \"483045022100f034f52cb7eaeb32a258728dba549337706fabf017e7a5f10abc878f7e88ade7022063a2ae94f144da852959cdde76403202825e799af6926b8061df48a03da543ae01\"\n      },\n      \"sequence\": 4294967295\n    }\n  ],\n  \"vout\": [\n    {\n      \"value\": 1,\n      \"n\": 0,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 3abcb77f721b3f916fe6b1fecdc9cdd8bba6c809 OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a9143abcb77f721b3f916fe6b1fecdc9cdd8bba6c80988ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"mksXZTCXPZDQi4W8HJgVFXsaP287P7pevs\"\n        ]\n      }\n    },\n    {\n      \"value\": 48.9997,\n      \"n\": 1,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 f71ca0aca82b684cde4e23874120184a93ae765d OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a914f71ca0aca82b684cde4e23874120184a93ae765d88ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"n43ZVX4MALEAXUBW4MyXBVDe612f363wGD\"\n        ]\n      }\n    }\n  ],\n  \"blockhash\": \"4ccf168436e9ad00d1f643fadb3b03c8fae37eb9c235ec132d70eaa49f13067a\",\n  \"confirmations\": 6,\n  \"time\": 1483765425,\n  \"blocktime\": 1483765425\n}\n*/\n```\n\nNote that the `txid` of the `vin` for both transactions is equal to `198b7c89bb9c4abc476d30681530f1d27d3f4e70b5bbd19735e71705e3ca930a`.\n\nWe now force the longest chain to be the `n34` one, by generating on `n3`. Final step.\n\nStep 5:\n```javascript\nnet.mergeS(nodes);\nn3.generateBlocksS(1);\nnet.syncS(nodes);\n// show block chain state\nconsole.log('block chain state after merge/sync:');\ngraph.printBlockChainsS(n12, n34);\n/*\nblock chain state after merge/sync:\n        0f9188f1\n        348ddc14\n        2de5d326\n        ...\n        1594a550\n        670f5a40\n        4ed844b4\n*/\n// n1 balance should have gone back to unchanged\nconst n1FinalBalance = n1.getBalanceS();\nconst n4FinalBalance = n4.getBalanceS();\nconsole.log(`n1 final balance = ${n1FinalBalance} (starting balance ${n1PreBalance})`);\nconsole.log(`n4 final balance = ${n4FinalBalance} (starting balance ${n4PreBalance})`);\n/*\nn1 final balance = 0 (starting balance 0)\nn4 final balance = 1 (starting balance 0)\n */\n```\n\nWhile looking at the balance is a fast way to check how things changed, it isn't recommended. A better option is to keep track of the individual transactions and react accordingly when they change. In this case, let's see how `n1` considers the transaction that has now been discarded by the network:\n\n```javascript\nconsole.log(JSON.stringify(n1.getTransactionS(txid), false, '  '));\n/*\n{\n  \"amount\": 1,\n  \"confirmations\": -7,\n  \"trusted\": false,\n  \"txid\": \"0a2c1098c74ed7767051412806ea427f21d255d7aa812001db9e71781753140e\",\n  \"walletconflicts\": [],\n  \"time\": 1483765343,\n  \"timereceived\": 1483765343,\n  \"bip125-replaceable\": \"unknown\",\n  \"details\": [],\n  \"hex\": \"02000000010a93cae30517e73597d1bbb5704e3f7dd2f1301568306d47bc4a9cbb897c8b190000000049483045022100f9e767e78da68a896f799ad1b289bcd00f21e717fec696ed3fa8db5a1ed42024022029b492d995d328eaafa40a494535eca003648b40b9ed7e57fd76e2cd8100864f01ffffffff0200e1f505000000001976a914395d7e5ca706a4357f75e8c6d8a78de90520c8ac88acd09b0f24010000001976a914b6f714df2f6175affa3fb4f8cd00fa9ecb7662ab88ac00000000\"\n}\n*/\n```\n\nAs you can see, `confirmations` has now gone negative, which basically means this transaction is `7` blocks away from the current block state. The blockhash value has vanished as well, indicating that the transaction is, indeed, no longer in a block.\n\nA sidenote here is that, for transactions that are no longer a part of the main chain, you cannot get detailed information (`getTransaction(id, true)`). The reason for this is that, under the hood, `details=false` calls the RPC command `gettransaction`, which works for orphaned transactions, and `details=true` calls `getrawtransaction`, which does not work in these circumstances.\n\n## Double Spend Same Destination\n\nThe \"Double Spend Same Destination\" case works just like \"Double Spend Theft\", except both transactions send to the same address. A common example of this is an RBF (Replace By Fee) transaction, an opt-in feature in the bitcoin network where a transaction can be replaced with another transaction with a higher fee, as long as the transaction is not in a block already.\n\nWe will do this in the same fashion as before. \n\n1. Get a shared UTXO between two separate nodes. \n2. Get an address (the `invoice` number). `n1` is the merchant we are paying.\n3. Send to the address from `n2`. Generate blocks. `n1` should now think it has half the amount.\n4. Send to the address from `n3`. Generate blocks.\n5. Merge network. Generate blocks on `n3`. `n1` may (but should not) think it received the second half.\n\n```javascript\nnet.partitionS(nodes, 2);\n// Step 1\nconst utxo2 = n2.findSpendableOutputS(1);\nn2.shareAddressWithNodeS(n3, utxo2.address, true);\n// Step 2\nconst invoice = n1.getNewAddressS();\nconsole.log(`our invoice = ${invoice}`);\nconsole.log(`utxo        = addr:${utxo2.address}, amount:${utxo2.amount}`);\n// our invoice = mzss6gmiPzciFb1QrVATkr4jWfaqbYg8Hx\n// utxo        = addr:mvVormA71jfVkNVaGbRG5GNXUth5hDmoo7, amount:49.9999164\n// Step 3\nconst payment1txid = n2.spendUTXOS(utxo2, invoice, 1);\nconsole.log(`payment 1 (first half) txid=${payment1txid}`);\n// payment 1 (first half) txid=4fa0d47ca775b2b300a02a16a6f7ce51b880f8e0c896b490c81fa69196207170\nn1.waitForTransactionS(payment1txid);\nn2.generateBlocksS(6);\n// Step 4\nconst payment2txid = n3.spendUTXOS(utxo2, invoice, 1);\nconsole.log(`payment 2 (second half) txid=${payment2txid}`);\n// payment 2 (second half) txid=560f0ea66e5c16838e675394908e20befa22a2dcfa9be49f919e48e53ea3dcc6\nn3.generateBlocksS(6);\n```\n\nBefore we merge, let's look at the transactions in detail.\n\n```javascript\nconsole.log(JSON.stringify(n1.getTransactionS(payment1txid, true), false, '  '));\n/*\n{\n  \"hex\": \"020000000126a5843cf1719a0d0e5829299617b99b912cad56f8aab590e791e10bd34cba040100000069463043021f15fc82b830c60564f7e652f60a2b88253640312c5eae92425c18e85ec4507e022063831644be2c194d10752dcd847f3b9212e7d58e66483622bfe9578d2546129001210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086fffffffff0200e1f505000000001976a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac30150e24010000001976a91425f1227565322012eba2500152cd60fd7531044188ac00000000\",\n  \"txid\": \"4fa0d47ca775b2b300a02a16a6f7ce51b880f8e0c896b490c81fa69196207170\",\n  \"hash\": \"4fa0d47ca775b2b300a02a16a6f7ce51b880f8e0c896b490c81fa69196207170\",\n  \"size\": 224,\n  \"vsize\": 224,\n  \"version\": 2,\n  \"locktime\": 0,\n  \"vin\": [\n    {\n      \"txid\": \"04ba4cd30be191e790b5aaf856ad2c919bb917962929580e0d9a71f13c84a526\",\n      \"vout\": 1,\n      \"scriptSig\": {\n        \"asm\": \"3043021f15fc82b830c60564f7e652f60a2b88253640312c5eae92425c18e85ec4507e022063831644be2c194d10752dcd847f3b9212e7d58e66483622bfe9578d25461290[ALL] 0360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086f\",\n        \"hex\": \"463043021f15fc82b830c60564f7e652f60a2b88253640312c5eae92425c18e85ec4507e022063831644be2c194d10752dcd847f3b9212e7d58e66483622bfe9578d2546129001210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086f\"\n      },\n      \"sequence\": 4294967295\n    }\n  ],\n  \"vout\": [\n    {\n      \"value\": 1,\n      \"n\": 0,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 d45ec9a653a1852acd4c2173155a3cd5d25fe50e OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"mzss6gmiPzciFb1QrVATkr4jWfaqbYg8Hx\"\n        ]\n      }\n    },\n    {\n      \"value\": 48.9987,\n      \"n\": 1,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 25f1227565322012eba2500152cd60fd75310441 OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a91425f1227565322012eba2500152cd60fd7531044188ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"miyaAUfNvb6ShdXxzfPuvD4TXxXPi2eM9U\"\n        ]\n      }\n    }\n  ],\n  \"blockhash\": \"65de47df79ee1b9573633c642166a59ca88d98b5ac41e1d2591a558660055cea\",\n  \"confirmations\": 6,\n  \"time\": 1483768690,\n  \"blocktime\": 1483768690\n}\n*/\nconsole.log(JSON.stringify(n3.getTransactionS(payment2txid, true), false, '  '));\n/*\n{\n  \"hex\": \"020000000126a5843cf1719a0d0e5829299617b99b912cad56f8aab590e791e10bd34cba04010000006a47304402206b9ae7aeefe1ed57068dd5d7d18425299368c1bdda3806e751b87d1233431fc402201b7255b6dca19c98a9169b406bd3897a06e9604e9d273b9f4c66c1585cde4d2501210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086fffffffff0200e1f505000000001976a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac30150e24010000001976a914084f392dcc9a33a3260e9918eda71db0b639183688ac00000000\",\n  \"txid\": \"560f0ea66e5c16838e675394908e20befa22a2dcfa9be49f919e48e53ea3dcc6\",\n  \"hash\": \"560f0ea66e5c16838e675394908e20befa22a2dcfa9be49f919e48e53ea3dcc6\",\n  \"size\": 225,\n  \"vsize\": 225,\n  \"version\": 2,\n  \"locktime\": 0,\n  \"vin\": [\n    {\n      \"txid\": \"04ba4cd30be191e790b5aaf856ad2c919bb917962929580e0d9a71f13c84a526\",\n      \"vout\": 1,\n      \"scriptSig\": {\n        \"asm\": \"304402206b9ae7aeefe1ed57068dd5d7d18425299368c1bdda3806e751b87d1233431fc402201b7255b6dca19c98a9169b406bd3897a06e9604e9d273b9f4c66c1585cde4d25[ALL] 0360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086f\",\n        \"hex\": \"47304402206b9ae7aeefe1ed57068dd5d7d18425299368c1bdda3806e751b87d1233431fc402201b7255b6dca19c98a9169b406bd3897a06e9604e9d273b9f4c66c1585cde4d2501210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086f\"\n      },\n      \"sequence\": 4294967295\n    }\n  ],\n  \"vout\": [\n    {\n      \"value\": 1,\n      \"n\": 0,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 d45ec9a653a1852acd4c2173155a3cd5d25fe50e OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"mzss6gmiPzciFb1QrVATkr4jWfaqbYg8Hx\"\n        ]\n      }\n    },\n    {\n      \"value\": 48.9987,\n      \"n\": 1,\n      \"scriptPubKey\": {\n        \"asm\": \"OP_DUP OP_HASH160 084f392dcc9a33a3260e9918eda71db0b6391836 OP_EQUALVERIFY OP_CHECKSIG\",\n        \"hex\": \"76a914084f392dcc9a33a3260e9918eda71db0b639183688ac\",\n        \"reqSigs\": 1,\n        \"type\": \"pubkeyhash\",\n        \"addresses\": [\n          \"mgGtc88yZi4ERfMuaeNYZsvYBeQy2uA5v8\"\n        ]\n      }\n    }\n  ],\n  \"blockhash\": \"14eef3f0c6617077d97b3ef6eb0616bbafee224a71d3fc9442355328696d2e58\",\n  \"confirmations\": 6,\n  \"time\": 1483768716,\n  \"blocktime\": 1483768716\n}\n*/\n```\n\nThe change address (`vout[1]` in both cases) differs, since the UTXO was spent from separate nodes. This could be fixed to go to the same change address both times, if one so desired. Beyond this, the two transactions do the exact same thing. Only their signatures differ. To the block chain, they are principally identical. One will be discarded in favor of the other, depending on which transaction goes into a valid block first (sans reorgs). Let's look at them in the `details=false` mode as well:\n\n```javascript\n// console.log(JSON.stringify(n1.getTransactionS(payment1txid), false, '  '));\n{\n  \"amount\": 1,\n  \"confirmations\": 6,\n  \"blockhash\": \"65de47df79ee1b9573633c642166a59ca88d98b5ac41e1d2591a558660055cea\",\n  \"blockindex\": 1,\n  \"blocktime\": 1483768690,\n  \"txid\": \"4fa0d47ca775b2b300a02a16a6f7ce51b880f8e0c896b490c81fa69196207170\",\n  \"walletconflicts\": [],\n  \"time\": 1483768646,\n  \"timereceived\": 1483768646,\n  \"bip125-replaceable\": \"no\",\n  \"details\": [\n    {\n      \"account\": \"\",\n      \"address\": \"mzss6gmiPzciFb1QrVATkr4jWfaqbYg8Hx\",\n      \"category\": \"receive\",\n      \"amount\": 1,\n      \"label\": \"\",\n      \"vout\": 0\n    }\n  ],\n  \"hex\": \"020000000126a5843cf1719a0d0e5829299617b99b912cad56f8aab590e791e10bd34cba040100000069463043021f15fc82b830c60564f7e652f60a2b88253640312c5eae92425c18e85ec4507e022063831644be2c194d10752dcd847f3b9212e7d58e66483622bfe9578d2546129001210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086fffffffff0200e1f505000000001976a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac30150e24010000001976a91425f1227565322012eba2500152cd60fd7531044188ac00000000\"\n}\n// console.log(JSON.stringify(n3.getTransactionS(payment2txid), false, '  '));\n{\n  \"amount\": -1,\n  \"fee\": -0.0012164,\n  \"confirmations\": 6,\n  \"blockhash\": \"14eef3f0c6617077d97b3ef6eb0616bbafee224a71d3fc9442355328696d2e58\",\n  \"blockindex\": 1,\n  \"blocktime\": 1483768716,\n  \"txid\": \"560f0ea66e5c16838e675394908e20befa22a2dcfa9be49f919e48e53ea3dcc6\",\n  \"walletconflicts\": [],\n  \"time\": 1483768702,\n  \"timereceived\": 1483768702,\n  \"bip125-replaceable\": \"no\",\n  \"details\": [\n    {\n      \"account\": \"\",\n      \"address\": \"mzss6gmiPzciFb1QrVATkr4jWfaqbYg8Hx\",\n      \"category\": \"send\",\n      \"amount\": -1,\n      \"vout\": 0,\n      \"fee\": -0.0012164,\n      \"abandoned\": false\n    },\n    {\n      \"account\": \"\",\n      \"address\": \"mgGtc88yZi4ERfMuaeNYZsvYBeQy2uA5v8\",\n      \"category\": \"send\",\n      \"amount\": -48.9987,\n      \"label\": \"\",\n      \"vout\": 1,\n      \"fee\": -0.0012164,\n      \"abandoned\": false\n    },\n    {\n      \"account\": \"\",\n      \"address\": \"mgGtc88yZi4ERfMuaeNYZsvYBeQy2uA5v8\",\n      \"category\": \"receive\",\n      \"amount\": 48.9987,\n      \"label\": \"\",\n      \"vout\": 1\n    }\n  ],\n  \"hex\": \"020000000126a5843cf1719a0d0e5829299617b99b912cad56f8aab590e791e10bd34cba04010000006a47304402206b9ae7aeefe1ed57068dd5d7d18425299368c1bdda3806e751b87d1233431fc402201b7255b6dca19c98a9169b406bd3897a06e9604e9d273b9f4c66c1585cde4d2501210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086fffffffff0200e1f505000000001976a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac30150e24010000001976a914084f392dcc9a33a3260e9918eda71db0b639183688ac00000000\"\n}\n```\n\nNote that the second output is as seen from the sender `n3`, because `n1` has not seen this transaction yet (we still haven't merged the networks).\n\nIn either case, `n1` now thinks it has received 1 BTC. A naïve invoice system would note the transaction id and amount and add it to its system and then forget about the transaction.\n\n```javascript\n// Step 5\nnet.mergeS(nodes);\nn3.generateBlocksS(1);\nn1.waitForTransactionS(payment2txid);\nconsole.log(`first payment according to n1: ${JSON.stringify(n1.getTransactionS(payment1txid), false, '  ')}`);\n/*\nfirst payment according to n1: {\n  \"amount\": 1,\n  \"confirmations\": -7,\n  \"trusted\": false,\n  \"txid\": \"4fa0d47ca775b2b300a02a16a6f7ce51b880f8e0c896b490c81fa69196207170\",\n  \"walletconflicts\": [\n    \"560f0ea66e5c16838e675394908e20befa22a2dcfa9be49f919e48e53ea3dcc6\"\n  ],\n  \"time\": 1483768646,\n  \"timereceived\": 1483768646,\n  \"bip125-replaceable\": \"unknown\",\n  \"details\": [],\n  \"hex\": \"020000000126a5843cf1719a0d0e5829299617b99b912cad56f8aab590e791e10bd34cba040100000069463043021f15fc82b830c60564f7e652f60a2b88253640312c5eae92425c18e85ec4507e022063831644be2c194d10752dcd847f3b9212e7d58e66483622bfe9578d2546129001210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086fffffffff0200e1f505000000001976a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac30150e24010000001976a91425f1227565322012eba2500152cd60fd7531044188ac00000000\"\n}\n*/\nconsole.log(`second payment according to n1: ${JSON.stringify(n1.getTransactionS(payment2txid), false, '  ')}`);\n/*\nsecond payment according to n1: {\n  \"amount\": 1,\n  \"confirmations\": 7,\n  \"blockhash\": \"14eef3f0c6617077d97b3ef6eb0616bbafee224a71d3fc9442355328696d2e58\",\n  \"blockindex\": 1,\n  \"blocktime\": 1483768716,\n  \"txid\": \"560f0ea66e5c16838e675394908e20befa22a2dcfa9be49f919e48e53ea3dcc6\",\n  \"walletconflicts\": [\n    \"4fa0d47ca775b2b300a02a16a6f7ce51b880f8e0c896b490c81fa69196207170\"\n  ],\n  \"time\": 1483768716,\n  \"timereceived\": 1483768821,\n  \"bip125-replaceable\": \"no\",\n  \"details\": [\n    {\n      \"account\": \"\",\n      \"address\": \"mzss6gmiPzciFb1QrVATkr4jWfaqbYg8Hx\",\n      \"category\": \"receive\",\n      \"amount\": 1,\n      \"label\": \"\",\n      \"vout\": 0\n    }\n  ],\n  \"hex\": \"020000000126a5843cf1719a0d0e5829299617b99b912cad56f8aab590e791e10bd34cba04010000006a47304402206b9ae7aeefe1ed57068dd5d7d18425299368c1bdda3806e751b87d1233431fc402201b7255b6dca19c98a9169b406bd3897a06e9604e9d273b9f4c66c1585cde4d2501210360e6082fb760e1dee6de86c9eafbbf5680be58df46eee610d7c5927b69a1086fffffffff0200e1f505000000001976a914d45ec9a653a1852acd4c2173155a3cd5d25fe50e88ac30150e24010000001976a914084f392dcc9a33a3260e9918eda71db0b639183688ac00000000\"\n}\n*/\n```\n\nIn the last example, there were wallet conflicts -- each of the two transactions were referring to each other, saying they were in conflict. This can be a helpful hint for software, but cannot be relied on, as it will not show up in the case of double spends to different destinations.\n","maintainers":[{"name":"kjalm","email":"karljohan-alm@garage.co.jp"}],"time":{"modified":"2022-06-13T04:42:13.434Z","created":"2017-01-05T04:06:40.456Z","0.1.4":"2017-01-05T04:06:40.456Z","0.1.5":"2017-01-05T04:07:21.305Z","0.1.6":"2017-01-05T06:54:37.302Z","0.1.7":"2017-01-05T07:54:21.363Z","0.1.8":"2017-01-05T07:55:47.246Z","0.1.9":"2017-01-05T08:36:49.656Z","0.1.10":"2017-01-06T04:02:01.921Z","0.2.0":"2017-01-06T12:04:21.405Z","0.3.0":"2017-01-06T13:20:21.413Z","0.3.1":"2017-01-06T13:22:18.010Z","0.3.2":"2017-01-06T13:23:39.196Z","0.3.3":"2017-01-06T13:27:52.444Z","0.3.5":"2017-01-07T06:20:46.001Z","0.3.6":"2017-01-07T08:15:08.303Z","0.4.0":"2017-01-08T06:19:35.921Z","0.4.1":"2017-01-09T22:43:03.123Z","0.4.2":"2017-01-09T22:45:29.893Z","0.4.3":"2017-01-11T08:36:15.025Z","0.4.4":"2017-01-17T08:23:37.253Z","0.4.5":"2017-11-01T20:03:31.027Z","0.4.6":"2017-12-18T04:23:05.987Z","0.4.7":"2019-01-21T09:26:07.598Z","0.4.8":"2019-01-21T09:26:30.450Z","0.5.0":"2019-08-26T01:57:03.122Z"},"homepage":"https://github.com/dgarage/bitcointest#readme","keywords":["bitcoin","rpc","testing","module","utility"],"repository":{"type":"git","url":"git+https://github.com/dgarage/bitcointest.git"},"author":{"name":"Karl-Johan Alm"},"bugs":{"url":"https://github.com/dgarage/bitcointest/issues"},"license":"ISC","readmeFilename":"README.md"}