[Bitcoin Core]Onde está a função main?

#1

Olá, eu conheço um pouco sobre linguagem c então resolvi ler o projeto do bitcoin core no GitHub (https://github.com/bitcoin/bitcoin), mas então percebi que faltava algo fundamental para começar a ler o código, eu não consegui encontrar a função main … então continuei a tentar ler outras partes do programa para encontrar algum sentido em todas aquelas funções e cabeçalhos e assim me deparei a com o arquivo “Makefile.am” e cheguei a conclusão que programas que o contenham não necessitam de uma função main, o problema é que eu não faço a menor ideia de como ler este arquivo e não encontrei nenhum artigo claro em português. Tudo o que eu descobri foi que o “Makefile.am” é utilizado para produzir o “Makefile” o qual daria instruções sobre como deveria ocorrer a compilação. Enfim, alguém teria algum material didático sobre esses arquivos usados para dar instruções na hora da compilação.(eu sei que outra parte do projeto está escrito em python).

#2

Olá!

Bem, existe mais de um binário gerado no projeto.
Acredito que esteja falando do bitcoind (que é o daemon). Neste caso a função main() que você procura está aqui:

Se você está procurando o main() da wallet escrita em Qt, o arquivo é este:

main() do bitcoin-tx (ferramenta de linha de comando para mexer com transações):

E se você está procurando o main() do bitcoin-cli, que é o executável que “conversa” com o daemon, é este aqui:

Realmente o Makefile.am é um arquivo usado pelo automake para gerar o Makefile, que por fim irá coordenar o processo de build.

Espero ter ajudado.

1 Like