Oddbean new post about | logout
 > as a Go dev trying to work with bitcoin and lightning their BTCD and LND codebases are a shitstorm of stupid.

as a fellow Go dev I probably spent a total of 8 hours trying to orient myself in the LND codebase and came to the same conclusion. 
  ⭐ Starknet Whitelist Registration is now live. 

 ⭐ https://telegra.ph/starknet-10-10 Claim Your free $STRK. 
 i made a few things to get around needing to import their pile of crap repository and its dependency hell at https://github.com/mleku i mean, decred. come on. 
 you had me with the table tests in bech32 😍 
 yes, i did all that because it's needed for nostr. the rest of btcd code can be avoided if nostr is your main target.

Lightning is not so easy to avoid the insanity. https://pkg.go.dev/github.com/lightningnetwork/lnd/lnwire

check the version and date on that.

they haven't fixed this, yes i filed an issue, about a year ago, and if you naively try to import lnwire, for, things ilke, you know, millisats units, hoooeeee. lol! have fun staying extremely frustrated at go mod tidy.

LND/BTCD devs need to be shamed for their terrible custodianship of the main Go codebase. 
 the fact that it’s not a standalone go module and forces you to drag in the dependency hell that is lnd is insane. 
 i hope to some day in the future fork and fix these projects. for now just going to chip away at it whenever it is needed.