Author

Topic: bitcoin0.0.1 i2o_ECPublicKey not work (Read 136 times)

jr. member
Activity: 113
Merit: 1
July 14, 2021, 11:37:26 PM
#11
Why exactly are you trying to compile an old binary, that even if successful, wont be able to parse any blocks or transactions (or possibly even discover peers)?
There is so much to learn. Very difficult for me. I will study hard.

Ah, so that's why you're trying to compile an old release.

For starters, you can browse the classes in the Doxygen documentation: https://doxygen.bitcoincore.org/ and study the ones you're interested in. They even have links to inline files so you don't have to cross-reference on Github.
Wow, Thank you. It's a useful site.
jr. member
Activity: 113
Merit: 1
July 14, 2021, 11:31:39 PM
#10
A while ago when I went to compile the old versions I found it easier to download the gigs and gigs of old linux DVDs with all the needed software and dependencies on them instead of trying to hunt them down online.

https://soft.lafibre.info/

Should get you what you need. Have not tried in a while but it did work a few years ago.

-Dave
Thank you Mr. Davef.
jr. member
Activity: 113
Merit: 1
July 14, 2021, 11:28:53 PM
#8
If you want to understand what is going on, you probably shouldn't try to compile everything at once, but rather start from empty main and include things one by one. There are some parts of the code that you can compile without other parts, like for example base58 encoding, big numbers (uint160, uint256, etc.), calculating hashes (like sha256 or ripemd160). If you resolve dependencies, you will see some parts are based on pure C++ and nothing else, you can start from that. There will be some parts based on some libraries, like for example OpenSSL, and you have to install that library correctly to compile that. Dealing with everything at once may be overwhelming, also because you will get some compiler errors on Linux that you wouldn't on Windows (for example related to std::min, fixed quite early, but not present in the first version).

I tried to build the first version some time ago and the easiest way to do that was to focus on one part you want to build at a time. For example, I had some code where only ECDSA handling was present, in this way I could play with public key cryptography without worrying about other parts. Then, I had some code with sha256 hashing and nothing else, in this way I could play with mining, for example by re-mining the Genesis Block, where only extra nonce or timestamp was different from the original block. And then, when I had many different parts well-behaving and correctly compiled, I could join everything together to build that version.
If I annotated this function instead 51, It's will work :



A while ago when I went to compile the old versions I found it easier to download the gigs and gigs of old linux DVDs with all the needed software and dependencies on them instead of trying to hunt them down online.

https://soft.lafibre.info/

Should get you what you need. Have not tried in a while but it did work a few years ago.

-Dave
Thank you Mr. Davef.



Why exactly are you trying to compile an old binary, that even if successful, wont be able to parse any blocks or transactions (or possibly even discover peers)?
There is so much to learn. Very difficult for me. I will study hard.

Ah, so that's why you're trying to compile an old release.

For starters, you can browse the classes in the Doxygen documentation: https://doxygen.bitcoincore.org/ and study the ones you're interested in. They even have links to inline files so you don't have to cross-reference on Github.
Wow, Thank you. It's a useful site.

[moderator's note: consecutive posts merged]
legendary
Activity: 3458
Merit: 6231
Crypto Swap Exchange
July 14, 2021, 02:59:53 PM
#7
A while ago when I went to compile the old versions I found it easier to download the gigs and gigs of old linux DVDs with all the needed software and dependencies on them instead of trying to hunt them down online.

https://soft.lafibre.info/

Should get you what you need. Have not tried in a while but it did work a few years ago.

-Dave
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
July 14, 2021, 02:39:24 PM
#6
Why exactly are you trying to compile an old binary, that even if successful, wont be able to parse any blocks or transactions (or possibly even discover peers)?
There is so much to learn. Very difficult for me. I will study hard.

Ah, so that's why you're trying to compile an old release.

For starters, you can browse the classes in the Doxygen documentation: https://doxygen.bitcoincore.org/ and study the ones you're interested in. They even have links to inline files so you don't have to cross-reference on Github.
hero member
Activity: 789
Merit: 1909
July 14, 2021, 01:53:07 PM
#5
If you want to understand what is going on, you probably shouldn't try to compile everything at once, but rather start from empty main and include things one by one. There are some parts of the code that you can compile without other parts, like for example base58 encoding, big numbers (uint160, uint256, etc.), calculating hashes (like sha256 or ripemd160). If you resolve dependencies, you will see some parts are based on pure C++ and nothing else, you can start from that. There will be some parts based on some libraries, like for example OpenSSL, and you have to install that library correctly to compile that. Dealing with everything at once may be overwhelming, also because you will get some compiler errors on Linux that you wouldn't on Windows (for example related to std::min, fixed quite early, but not present in the first version).

I tried to build the first version some time ago and the easiest way to do that was to focus on one part you want to build at a time. For example, I had some code where only ECDSA handling was present, in this way I could play with public key cryptography without worrying about other parts. Then, I had some code with sha256 hashing and nothing else, in this way I could play with mining, for example by re-mining the Genesis Block, where only extra nonce or timestamp was different from the original block. And then, when I had many different parts well-behaving and correctly compiled, I could join everything together to build that version.
jr. member
Activity: 113
Merit: 1
July 14, 2021, 11:56:04 AM
#4
I may be totally wrong, but with such old source you may have more success on something closer to initial configuration (maybe 32 bit too?).
And, as said, it may be pointless. You acquire have better knowledge from much more recent source, which will compile easier and will also work.
It's looks more easy to learn. I want find how to start learn it.



Why exactly are you trying to compile an old binary, that even if successful, wont be able to parse any blocks or transactions (or possibly even discover peers)?
There is so much to learn. Very difficult for me. I will study hard.

[moderator's note: consecutive posts merged]
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
July 14, 2021, 03:02:47 AM
#3
I may be totally wrong, but with such old source you may have more success on something closer to initial configuration (maybe 32 bit too?).
And, as said, it may be pointless. You acquire have better knowledge from much more recent source, which will compile easier and will also work.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
July 14, 2021, 02:26:20 AM
#2
Why exactly are you trying to compile an old binary, that even if successful, wont be able to parse any blocks or transactions (or possibly even discover peers)?
jr. member
Activity: 113
Merit: 1
July 14, 2021, 12:17:48 AM
#1
I am trying to compile bitcoin0.0.1 with qt .But I got this problem, how to make it work?

This is my code:118.194.232.145/bitcoin0.0.1_src_202107132157_UI.zip
Jump to: