davecgh/dcrlnd

Port Process Coordination

davecgh opened this issue · 0 comments

This issue is intended to track and coordinate the progress of porting lnd to dcrd. The bulk of the initial work needed to get the code to compile with the initial Decred updates has mostly been completed, however there are still several things that have to be done before the code is ready for beta testing.

Package and item readiness checklist:

Package or Item Ported Builds Tests Pass (if present) Reviewed For Correctness Manually Tested
aezeed Y Y Y N Y
autopilot Y Y Y N Y
brontide Y Y Y N Y
build Y Y N/A N Y
chainntfns/dcrdnotify Y Y Y N Y
chainntfns Y Y Y Y
channeldb Y Y Y N Y
cmd/dcrlncli Y Y N/A N Y
contractcourt Y Y Y N Y
discovery Y Y Y N Y
docs Y N/A N/A N Y
htlcswitch/hodl Y Y Y N Y
htlcswitch Y Y Y N Y
internal/snacl Y Y Y Y Y
internal/zero Y Y Y Y Y
invoices Y Y N/A N Y
keychain Y Y Y N Y
lncfg Y Y Y N Y
lnpeer Y Y N/A N Y
lnrpc/autopilotrpc Y Y N/A N Y
lnrpc/signrpc Y Y N/A N Y
lnrpc/walletrpc Y Y N/A N Y
lnrpc Y Y N/A N Y
lntest Y Y N/A N Y
lnwallet/dcrwallet Y Y N/A N Y
lnwallet Y Y Y N Y
lnwire Y Y Y N Y
macaroons Y Y Y N Y
make Y Y Y N Y
multimutex Y Y N/A N Y
nat Y Y N/A N Y
netann Y Y N/A N Y
queue Y Y Y N Y
routing/chainview Y Y Y N Y
routing/testdata Y N/A Y N Y
routing Y Y Y N Y
shachain Y Y Y Y Y
signal Y Y N/A N Y
sweep Y Y Y N Y
ticker Y Y Y N Y
tor Y Y Y N Y
walletunlocker Y Y Y N Y
watchtower/blob Y Y Y N N
watchtower/lookout Y Y N/A N N
watchtower/wtdb Y Y N/A N N
watchtower/wtserver Y Y N/A N N
watchtower/wtwire Y Y Y N N
zpay32 Y Y Y N Y
root components Y Y Y N Y

Other items:

  • Implement internal/snacl package
  • Implement internal/zero package
  • Port bech32
  • Define Decred-specific prefixes for bech32 addresses
  • Rename cmd/lncli to cmd/dcrlncli
  • Rename lncli.bash-completion to dcrlncli.bash-completion and update for Decred
  • Rename docker/lnd to docker/dcrlnd and update
  • Either rename docker/btcd to docker/dcrd or use existing dcrd docker repository
  • Update docker/docker-compose.yml for dcrd, dcrctl, dcrlnd, dcrlncli, etc
  • Update docker/README.md for Decred
  • Update docs/* for Decred
  • Update make/testing_flags.mk for Decred
  • Remove all litecoin code from chainparams.go
  • Rename all btc references to dcr in chainparams.go
  • Remove all litecoin and neutrino code from chainregistry.go
  • Remove all non Decred code from config.go
  • Remove all non Decred code from lnd_test.go
  • Update all CLI flags to remove the namespacing
  • Update README.md for Decred
  • Correct .travis.yml for dcrlnd
  • Update release.sh for Decred
  • Update .github/ISSUE_TEMPLATE.md
  • Update .github/pull_request_template.md