Skip to content

Instantly share code, notes, and snippets.

@alwaysAn0n
alwaysAn0n / transactionIds.txt
Created May 15, 2019 23:58
Possibly stolen - segwit recovery
[
'28795101D3751FF726D7A76BE3C7D248F05640F5B21E699DDECBCC3584639B00',
'DEF403D3356FF0EF1491922FAA9AACE4037EC6690FFB473D2AFF679A3A1854A5',
'14505B963C357307B2DA1FD3CD9C55909091CAD976D3DBFCF4F71F00FE774B97',
'E2FD061B867708B2BEDEF2DDB2A3CB473E760A287447885533D0B94D272DE956',
'293431E74174541BA43EC2BFD0BE434F4B4426A13C4C090A280B10DD5A358B8D',
'A87D11444A6421E77BE937BAAA7708620DEE2E4A2CF44CC6360157CACE8A652A',
'786B8BE05506BE498668AB642C6CBF2B7607E0E22676746B1FBBC782C72F2A97',
'8762E16678F91937D3A064E3CF8E7FB09E4C60606E625D0A292B761E1C270451',
'786B8BE05506BE498668AB642C6CBF2B7607E0E22676746B1FBBC782C72F2A97',
@alwaysAn0n
alwaysAn0n / bchsplit.js
Created May 15, 2019 17:45
bch split 05/15/2019
This file has been truncated, but you can view the full file.
var good = {"errorMessage":null,"wasSuccess":1,"objectType":"BLOCK","object":{"difficulty":{"value":"18032B31","ratio":3.4698429935858E11,"mask":"0000000000000000032B31000000000000000000000000000000000000000000"},"reward":1250000000,"previousBlockHash":"000000000000000000B727132C210AA2EC9CCDCC9F17E8A4DDA4CDC7400ADD71","byteCount":265187,"merkleRoot":"822CAD80CEF338A8B551F9DA4657B6A43AE1C1F5511407E28E91FA0FBABD4F98","transactionCount":749,"transactions":[{"outputs":[{"amount":1261129423,"lockingScript":{"operations":["0x76 OP_DYNAMIC_VALUE-COPY_1ST","0xA9 OP_CRYPTOGRAPHIC-SHA_256_THEN_RIPEMD_160","0x14 OP_PUSH-PUSH_DATA Value: 6D5BDA2EE1B2AE0160C17D33F56218C7A1D37FCE","0x88 OP_COMPARISON-IS_EQUAL_THEN_VERIFY","0xAC OP_CRYPTOGRAPHIC-CHECK_SIGNATURE"],"bytes":"76A9146D5BDA2EE1B2AE0160C17D33F56218C7A1D37FCE88AC","scriptType":"PAY_TO_PUBLIC_KEY_HASH"},"address":"1AyEgvE2XNM65EkdisywrZZghHuMv1ngf8","index":0,"type":"PAY_TO_PUBLIC_KEY_HASH"}],"lockTime":{"date":null,"bytes":"00000000","type":"BLOCK_HEIGHT","value":0
@alwaysAn0n
alwaysAn0n / layeredEncryption.md
Last active May 10, 2019 20:59
CashShuffle protocol, ELI freshman in college

Here's how the layered encryption portion of the CashShuffle protocol rounds work like this.

Assuming 5 players: Alice, Bob, Carol, Dingus, Emily

TODO

@alwaysAn0n
alwaysAn0n / wif_it.js
Created April 10, 2019 23:11
Bitbox Child WIF generation
var NETWORK = `mainnet`
var _ = require('lodash');
var BITBOXSDK = require('bitbox-sdk/lib/bitbox-sdk').default;
var BITBOX
if (NETWORK === `mainnet`)
BITBOX = new BITBOXSDK({ restURL: `https://rest.bitcoin.com/v2/` })
else BITBOX = new BITBOXSDK({ restURL: `https://trest.bitcoin.com/v2/` })
@alwaysAn0n
alwaysAn0n / badMessage.json
Last active April 9, 2019 22:08
Bad output broadcast message
// Fails on EC with error:
// 'Decoding error: AttributeError("'int' object has no attribute 'DESCRIPTOR'",) from sender bad'
// Just the payload as base64
//"payload": "CtABCogBChZFbTFlcklpRUZ3RFJPRUtYVU9VdDVUEAMaRApCMDJmZDJiNzViYjgzNzkwY2Q1MGIzZmZkYzQ1OTRlNWZmZGZjODU3ZDgzOTZhOTg2MzFjOTQzMzFiMzdkYmNkZWMwKAIyJCoiMTltQnNGSFp4VzYxSGc3d0Q2ZXlXOWRHVTQ2S01rN0xuVRJDCkEf6OE1NuNmM/g3UGQpjHoF2tBByCGuF4ag9ICasRjsG4xVPVzluwtOJt0ne2g1UzxhCbeN0zxCCnqaxI09qXZ3nwrQAQqIAQoWRW0xZXJJaUVGd0RST0VLWFVPVXQ1VBADGkQKQjAyZmQyYjc1YmI4Mzc5MGNkNTBiM2ZmZGM0NTk0ZTVmZmRmYzg1N2Q4Mzk2YTk4NjMxYzk0MzMxYjM3ZGJjZGVjMCgCMiQqIjE1dmJ0c3prOTRYV2hrS0JidWJXdFF1djg1U2lpUnRiQnoSQwpBH3rIVQQBjW1JNE9732FbIP0UG/5OCwSJEpCPXF62TuuhIjPZL5hcmJFoce/qUJdYfYcmmtE65f8jQq7gF4bb9lcK0AEKiAEKFkVtMWVySWlFRndEUk9FS1hVT1V0NVQQAxpECkIwMmZkMmI3NWJiODM3OTBjZDUwYjNmZmRjNDU5NGU1ZmZkZmM4NTdkODM5NmE5ODYzMWM5NDMzMWIzN2RiY2RlYzAoAjIkKiIxNDNKckJzeW9DRHVoTkRmRjQ5dnI2YkF3YmQyNkQ1N25BEkMKQSBRUsXhuXzYlvX5piS7IY6Dok1ROT7faRKLfkuj3T6+MGihF0CXbf+w6Ld1LM6UUSlvGQ5u6Rx4k7HyFLn3wdgP",
// T
@alwaysAn0n
alwaysAn0n / test.js
Created April 5, 2019 20:51
Testing cashshufflejs-web
const ShuffleClient = require('../cashshufflejs-web');
const repl = require('repl');
const shuffleIt = repl.start('cashshuffle > ');
shuffleIt.context.client = new ShuffleClient({
coins: [{
cashAddress: 'bitcoincash:qr7u5383gw5ckyls29mlpralgj23w4pgvc7rp7kphs',
privateKey: 'L4QLJkku7 ... fG1LGaXWaA',
txid: '544c6ea203b16ccad7aa61ab89fd7f9c5927a73046df78b67f0f0c7e78d39afd',
vout: 1,
@alwaysAn0n
alwaysAn0n / registered
Created March 30, 2019 23:46
Protobuff Messages
"packet": [
{
"packet": {
"session": "RXJYRnlxR1ZBSEF5VmhSWExGQWc2Vg==",
"number": 2
}
}
]
@alwaysAn0n
alwaysAn0n / GoodMessage.data
Last active March 28, 2019 15:23
Unverifiable signature from EC CashShuffle client
"incomingChangeAddress": [
{
"messageType": "incomingChangeAddress",
"time": 1553730739405,
"session": "bVMwWlN5MWZDU0s5Q1d5NWs2U3NYMg==",
"number": 1,
"key": "02dba36559fb0abdab17df42e807bd78ef8beb0d368a9e71b5b1cedce72a07feb1",
"phase": "ANNOUNCEMENT",
"address": "1Q7iQstJFHzco6geR79ZzCnLs6FWjrEWKG",
"signature": "INWuh7vjmpWJ9wFpVZ5n1x5RfvRy1NcB2lTFAEXl3s0oPyrkaHiEKyIQ4In3K7by/noShl9jzI7JqxeH8wakaHc=",
@alwaysAn0n
alwaysAn0n / notWorking.tx
Created March 21, 2019 18:26
Submit raw transaction problem
This one doesnt (232 character opreturn)
raw transaction hex
```
0100000001f77e0fc7f33347f849ea35825e97e98afde50f7c8825ce7908fab9e3d7e5069a020000006a47304402202d589b2184c8d6d09ad24f5896a799136c495c5535312a7e87a4d6acafe9987d02205fe712f2b428d748e16e606574dba4bee65494c7391314c7f8b60009a57cc8184121037da288d695e09b8f5ecc7041a2d33e7886dd630209a50ce8d24d9200175aaa20ffffffff03a9850200000000001976a914bbe69f1a9130f6082cc92e2762e1442665181af888ac0000000000000000e86a4ce57464633a3a6430313235666135343635366563373436393333346535376364663863366261313530633264626263613136313663353061303932363064363935613762316633386261633365363561613432356433316235656161313166663863323961373938323966386533373231346639303137343132383763316266666261633063363861306664383934653438633930363465353162626132396465666138366335333136363837343332383538326461326235656563383131356163353262346461653466626461396261353134353464313930346238343963643537303065c2c83300000000001976a914c4cc51b02183838f8a22e02cf5041dff9be3b80588ac00000000
```
as json
```
{
@alwaysAn0n
alwaysAn0n / tipscash_sockets.html
Created January 26, 2019 01:36
tipcash websockets example
<!-- Fetch the library from the server -->
<script src="https://tipscash.herokuapp.com/libs/telescope/tips.cash.js"></script>
<script language="javascript">
// Setup all your event listeners
io.socket.on('account', function(account) {
console.log('account!', account);