Building Blockchain in Go. Part 4: Transactions