Get the repo and build:
go get -u github.com/Infnote/infnotechain
cd $GOPATH/src/github.com/Infnote/infnotechain
go build -o /usr/local/bin/ifc ./
ifc runDon't forget to set GOPATH correctly and add /usr/local/bin to your PATH variable
ifc run -frun the program at foregroundifc run -drun the program with debug level logifc stopstop the background processifc ejecteject config file to/usr/local/etc/infnote/config.yamlifc clirun an interactive command line tool
- Communication starts with "Sync" message which will be responded an "Info"
- Dangled block error trigger "Sync"
- Writing test
- Check if peer connection is still alive by send a info
-
Respond 'Error' when cannot respond correctly - Blocks request strategy
- Refresh connections strategy
- Peers updating strategy
- Validate peer address
- Ranking peers
- Filter invalid peers received from outside
- Check address equivalence then repleace the old one
- Clean boardcast id regularly
- Need some kind of authorization before boardcast
- Ranking strategy
- Bad chain detection
- Bad peer detection
- Peer responding speed
- Peer stability
- Adjust connections graph automatically