bosagora / agora

POC Node implementation for CoinNet
https://bosagora.io
MIT License
37 stars 22 forks source link

Consensus data structures should be split off into libconsensus #277

Open AndrejMitrovic opened 5 years ago

AndrejMitrovic commented 5 years ago

This will also make sure we can write independent tools (like the CLI transaction-sending tool) without having to copy/paste the definitions of Transaction / Input / Output / Hash, etc.

For now, to write such a tool either the types will have to be copied around, or the tool would have to live in the agora repository.

AndrejMitrovic commented 3 years ago

The build times of Agora have become unbearably slow. I'm getting 41 second build times on WSL after just touching a single leaf file (meaning it's not imported by anything else), and ~30 second build times on my Macbook.

Maybe there are ways to optimize this through our build system. I'll ask about it in the forums.

AndrejMitrovic commented 3 years ago

I just discovered --build-mode=singleFile.

Unfortunately agora fails to build with this mode. I'm looking into it..

AndrejMitrovic commented 3 years ago

Unfortunately agora fails to build with this mode. I'm looking into it..

~Ah it was just an older commit that failed. Master works fine.~

It's dub test --buildMode=singleFile that fails.

By the way, suddenly that D bounty looks interesting https://www.flipcause.com/secure/cause_pdetails/OTE5MjY=. I hope someone gets on it soon.

AndrejMitrovic commented 3 years ago

It's dub test --buildMode=singleFile that fails.

Even after fixing this dub refuses to cache the files. Touching a leaf module causes it to recompile everything. So it's not actually incrementally compiling at all.

Geod24 commented 3 years ago

I think at the moment, splitting things in libconsensus might slow down development, hence why I'm not eager to do it.

AndrejMitrovic commented 3 years ago

Yeah that's fair. I can live with my 30 second build times. :P