Live data from Hacker News

Show HN: Legion, an as-simple-as-possible blockchain server written in Haskell

github.com

71–73 of 73 posts

Re: Show HN: Legion, an as-simple-as-possible blockchain server written in Haskell

#71
post #64
post #60

Earlier quoted context omitted.

ELI5: A blockchain is an »I told you so« store. Future statements/promises are linked to past ones so you can’t mess one without having to mess with all the others. It’s like a black board you can’t wipe clean again, adding more text (and space to write to) is the only thing possible. For example, you could promise to paint your house red in a blockchain. You later regret that promise and tell your friends you never…

Thanks, very good explanation. So blockchain enables us to move from "our data warehouse is the single source of truth" to "our data warehouse is the single History of truth".

I'd say more like "this tiny [latest] block is a strong proof of history".

Re: Show HN: Legion, an as-simple-as-possible blockchain server written in Haskell

#72

Earlier quoted context omitted.

I want to chime in that this would be amazing also. However, an actual line-by-line video might be less helpful for those without any Haskell or blockchain experience. I (and thousands of others at HN) really enjoyed Jeremy Ruten's tutorial of building antirez's 1000-line text editor, Kilo, from scratch (antirez is the author of Redis which is renowned for its code quality and approachability) - http://viewsourcecode…

I actually think that if I did it line by line in the traditional haskell style that'd be more approachable for this project. Kilo is quite a bit bigger. With respect and praise offered to the author, Legion is a simple project. I think an approach of building it interactively and showing how a developer actually makes the types line up and uses the tooling probably answers more questions about what it's like to use…

Regarding the Kilo tutorial: a text editor is something that most people intuitively understand how to use, but the author took the time to explain the challenges that needed to be solved in order to create a terminal text editor, and built it incrementally while explaining each problem encountered and then how each iteration provided a solution.

I can definitely also see your argument that a smaller and more straightforward project may be easier to explain. As someone at least superficially acquainted with how blockchain technology works, my fear was that a lack of understanding of the thing being built might be a stumbling point for readers/listeners of a line-by-line code walkthrough.

However, you seem confident that a line-by-line will be sufficient to explain both the Haskell and bitcoin sides of things concisely, so I'll defer to your judgment, and look forward to it!

Re: Show HN: Legion, an as-simple-as-possible blockchain server written in Haskell

#73

Earlier quoted context omitted.

I actually think that if I did it line by line in the traditional haskell style that'd be more approachable for this project. Kilo is quite a bit bigger. With respect and praise offered to the author, Legion is a simple project. I think an approach of building it interactively and showing how a developer actually makes the types line up and uses the tooling probably answers more questions about what it's like to use…

Regarding the Kilo tutorial: a text editor is something that most people intuitively understand how to use, but the author took the time to explain the challenges that needed to be solved in order to create a terminal text editor, and built it incrementally while explaining each problem encountered and then how each iteration provided a solution. I can definitely also see your argument that a smaller and more straigh…

Hah, I think the challenge of explaining blockchains is why anyone thinks they solve distributed systems problems and then working through how they don't.

Anytime anyone asks me how they work I say, "They don't, actually. They're really a data integrity system that's being misused, and the current economically motivated implementations (currency) are motivated by the assumption that a majority of computing power in the system is guaranteed to work with the system and not try to take it over."

I will probably avoid that conversation.

Post reply on HN