Under development, not for use with real money.
- Start by installing Go v1.6.
- Check this tutorial out: https://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04
- TIP: You may want to install Go in a more localized place to keep your system cleaner from stray files.
-
Make sure your Go paths are set correctly: the
.../go/bin
path is in$PATH
,$GOROOT
is set to.../go/
, and$GOPATH
is the location of where you want lit to be. -
Download the lit project:
go get github.com/mit-dci/lit
-
The
go get
will fail.
- Lit uses btcd libraries, and btcd does not yet have segwit support in master. This will hopefully be merged soon, before segwit activates on mainnet.
- I have a fork of btcd from roasbeef/segwit, and could make it go-gettable by changing all the imports, but hopefully it will be merged in soon.
- To make it work, switch to the adiabat/btcd libraries:
# github.com/mit-dci/lit/uspv
uspv/eight333.go:406: undefined: wire.InvTypeWitnessBlock
... other errors.
user@host:~/go/src/github.com/mit-dci/lit$ cd ../../btcsuite/btcd/
user@host:~/go/src/github.com/btcsuite/btcd$ git remote add adiabat https://github.com/adiabat/btcd
user@host:~/go/src/github.com/btcsuite/btcd$ git fetch adiabat
user@host:~/go/src/github.com/btcsuite/btcd$ git checkout adiabat/master
user@host:~/go/src/github.com/btcsuite/btcd$ cd ../btcutil
user@host:~/go/src/github.com/btcsuite/btcutil$ git remote add adiabat https://github.com/adiabat/btcutil
user@host:~/go/src/github.com/btcsuite/btcutil$ git fetch adiabat
user@host:~/go/src/github.com/btcsuite/btcutil$ git checkout adiabat/master
- Build, compile, and install:
go get install
has some rpc client code to interact with the lit node. Not much there yet
a hash-tree for storing log(n) items instead of n
lightning network data connection -- send encrypted / authenticated messages between nodes
some widely used utility functions
portable utxo format, exchangable between node and base wallet (or between wallets). Should make this into a BIP once it's more stable.
A quick, channel implementation with databases. Doesn't do multihop yet.
Library to make signatures 64 bytes instead of 71 or 72 or something
Unlinkable outsourcing of channel monitoring
An spv wallet library