INNER CODE UNIT · Go
ReadBlocks
volodymyrprokopyuk/go-blockchain · chain/block.go:90
func ReadBlocks(dir string) (
func(yield func(err error, blk SigBlock) bool), func(), error,
) {
path := filepath.Join(dir, blocksFile)
file, err := os.Open(path)
if err != nil {
return nil, nil, err
}
close := func() {
file.Close()
}
blocks := func(yield func(err error, blk SigBlock) bool) {
sca := bufio.NewScanner(file)
more := true
for sca.Scan() && more {
err := sca.Err()
if err != nil {
yield(err, SigBlock{})