- Identify unused inputs (no a channel yielding input)
- Store into DB
Procedure Routing node (https://github.com/guggero/chantools/blob/master/doc/chantools_rescuefunding.md)
- Export .lnd and seed phrase from node (database and filetree)
- Create lnd node setup + channel tools
- Create script for generating PSBT transaction for each unidentified input (TXN_A) COUNT_A
- Store output in DB
Procedure Leaf node (https://github.com/guggero/chantools/blob/master/doc/chantools_signrescuefunding.md)
- Export .lnd from all and seed phrase nodes (database and filetree) Constraint disk space (N nodes times disc size per .lnd)
- Create lnd node setup + channel tools
- Create script for swapping .lnd and unlocking the wallet
- Create script for interfacing with channeltools to counter sign each of (TXN_A) (TXN_B)
- Create a script for broadcasting (TXN_B)
Number of transacriont to broadcast: COUNT_A times NODE_COUNT
Time: .lnd backup ~1-5mins -> times NODE_COUNT .lnd swap + unlock ~1-min -> times NODE_COUNT TXN_B broadcast + mempool clearing 10min - 1hour -> times TNX_A times NODE_COUNT
Questions: Will running any channeltools command modify the .lnd in any way? Does the .lnd need to be imported back? Does the remote node have to be down while pulling .lnd? What happens when fake TXN_B is broadcasted?
Total transactions to broadcast > 90,000, is that a problem?
https://1ml.com/node/031472f13e38602e9c05d51e521ad15bf0ddc22ee6cd96aa53a992564a42133c13
node_routing:
node_leaf: zion-8d22b9a-m
NEO_2 : chantools rescuefunding --channeldb /pathto/db --channelpoint 5d1fbbdfdb857ac978fb478c5af8fd98afe680ae3994c63916a633f0b611e3a6:0 --confirmedchannelpoint 4eb5b39e74f08f0f7d2e25660fc2064dd209d6f27dc4d136c1dc9275429430a7:0 --sweepaddr RECOVERYAADDRS --fee-rate x
checked thunderhub funds not there
Find all the good ones
- Get list of all pub_keys for selected leaf nodes (Hub)
-
Input : pub_key : 035f0509170d53bdb8298931d0ffc565ad69c4ede7d13384832b1b292d77fcf539
-
Get list of channel point to the node [ORIGIN_POINT] https://1ml.com/node/035f0509170d53bdb8298931d0ffc565ad69c4ede7d13384832b1b292d77fcf539
-
Find the address based on txn_id:index https://blockstream.info/tx/76bf2c1563f9fd2f56d58fa9c3270ec2b723b2b23aac4d58f5b51b922fb8cb25
-
Check input to the address Is it one transaction or more? https://blockstream.info/address/bc1qvqcvdkernajw3sts3gn0adhdcrkpslg8h3j9y037vdvd4nh6ucmqmcvxly
-
Input : pub_key : 0320b41692157b4b3ef52aa3be83958f1fb61b7b437192e2da92a6d6d09ed8fc81
-
Get list of channel point to the node https://1ml.com/node/0320b41692157b4b3ef52aa3be83958f1fb61b7b437192e2da92a6d6d09ed8fc81
-
Find the address based on txn_id:index https://blockstream.info/tx/3d4b1d0c0372ea75acef9bc8126e8fc8cd189b963e652554a6b1bfd11c856ac7
-
Check input to the address Is it one transaction or more? https://blockstream.info/address/bc1qxrpnr3stfdxcxjppk8gaztscx43nrkrvtn72mktn9u4zkrk4872syhzzat
- Find txn_id:index for good and bad txns (S1) ** Good txn_id = original channel_point [ORIGIN_POINT] (S2) ** Bad (S1-S2) ** --confirmedchannelpoint == ??? also not sure where the transaction came from
- Need to know which routing node for channeltools input
- Both keys have to be valid