Mako

Finance and crypto

bitcoin full node

SHOW HN2021

239points
124comments
#166of 2,533 in 2021
Top 7%of 2021 by points

How HN took it

MixedNo clear lean

18 positive, 17 neutral or asking, 1 mixed, 9 critical, out of 45 comments about the project. Thread score +0.17.

Design: 4 for, 5 againstIdea: 4 for, 1 againstExecution: 3 for, 1 againstDocs: 1 for, 1 againstPrivacy: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Impressive amount of work by a single developer

    From 2 comments
    • This looks like a herculean effort over just the past few months. Congratulations on hitting this milestone and hopefully you can take a breather and tie up loose ends at a more…
      zackham on HN
    • Call me old school, but I like looking at the number of lines of code to get a feel for how big of a project something is. Mako[1] is 265,618 lines of code. The most widely…
      cantrevealname on HN
  • Clean, well-commented crypto primitives useful for study

    From 1 comment
    • I’m loving the well commented and standalone inplementations of crypto-primatives, will definitely be studying these. One question, in src/crypto/rand.c:25 you have a standalone…
      jazzyjackson on HN
  • Builds cleanly without warnings

    From 1 comment
    • Cloned and built on my Mac without any issues. Everything compiled and linked without warnings. A huge plus in my opinion. Other than stating that it builds two executables,…
      sizzzzlerz on HN

Objections

  • Test coverage is lacking

    From 2 comments
    • This looks super interesting. One thing that kinda bothers me is that most of the tests are just #include <stdint.h> #include <stdlib.h> #include <string.h> #include…
      tmaly on HN
    • Yeah, I'm embarrassed about that. It's way behind on tests. The past 2 months of limited sleep were a massive scramble just trying to get everything implemented and trying to get…
      chjj on HN
  • Terse variable names hurt readability

    From 3 comments
    • Cool to study. Disappointed there are zero comments and the most terse variable names as possible. Almost like it was js-minified.
      SavantIdiot on HN
    • This is a bad convention. Instead of `x` and `z`, you should describe what those pointers are meant to represent. I get that everything is subjective, but some things are…
      sanderjd on HN
    • Your english language description of it gives some good clues to the alternative: ``` int btc_tx_import(btc_tx_t *transaction, const uint8_t *raw_transaction, size_t…
      sanderjd on HN
  • Documentation is lacking

    From 2 comments
    • Cloned and built on my Mac without any issues. Everything compiled and linked without warnings. A huge plus in my opinion. Other than stating that it builds two executables,…
      sizzzzlerz on HN
    • Still experimental and documentation is lacking, but right now the CLI behavior is almost identical to `bitcoind` and `bitcoin-cli`. So, for example, `$ makod -datadir=foobar…
      chjj on HN
  • C is risky to expose to the internet

    From 1 comment
    • This is very impressive, but I’ll be honest, I wouldn’t want to expose any new software written in C to the internet.
      nynx on HN

Requests

  • Add documentation and explain the project's differences from alternatives

    From 2 comments
    • Not to belittle the work, but it is always prudent to research what the other implementations are before possibly doing duplicate work and providing that comparison along with…
      potiuper on HN
    • Cloned and built on my Mac without any issues. Everything compiled and linked without warnings. A huge plus in my opinion. Other than stating that it builds two executables,…
      sizzzzlerz on HN
  • Use more descriptive variable names

    From 2 comments
    • This is a bad convention. Instead of `x` and `z`, you should describe what those pointers are meant to represent. I get that everything is subjective, but some things are…
      sanderjd on HN
    • Your english language description of it gives some good clues to the alternative: ``` int btc_tx_import(btc_tx_t *transaction, const uint8_t *raw_transaction, size_t…
      sanderjd on HN

Questions

  • Why C rather than Go or another language

    From 1 comment
    • I've been writing C for two decades. But in recent years I have used Go as a replacement for C whenever possible. I think of Go as an improved C, with slightly different…
      37ef_ced3 on HN
  • Can it participate in the real Bitcoin network

    From 1 comment
    • can something like this actually participate in the real bitcoin network or does everyone have to run the same client?
      atarian on HN
  • What is the project's data storage choice and why

    From 1 comment
    • This look cool! great job, congrats. What are you using as data storage? I understand btcd uses leveldb, are you using something similar?
      cfferry on HN

Alternatives named

  • Bitcoin Core

    From 1 comment
    • Call me old school, but I like looking at the number of lines of code to get a feel for how big of a project something is. Mako[1] is 265,618 lines of code. The most widely…
      cantrevealname on HN
  • btcd

    From 1 comment
    • This look cool! great job, congrats. What are you using as data storage? I understand btcd uses leveldb, are you using something similar?
      cfferry on HN
  • picocoin

    From 1 comment
    • Not to belittle the work, but it is always prudent to research what the other implementations are before possibly doing duplicate work and providing that comparison along with…
      potiuper on HN
  • libbtc

    From 1 comment
    • Right. Perhaps I should explain this in the readme. To be clear: Libbtc is a small bitcoin library meant for everyday things: signing transactions, maintaining an SPV wallet,…
      chjj on HN
  • bcoin

    From 1 comment
    • My first bitcoin reimplementation was written in node.js and called bcoin[1]. So this is my second time reimplementing the bitcoin protocol, albeit in a very different language.…
      chjj on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/29230068)