Bitcoin Archaeology [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2020-11-21T22:59:36+00:00


Summary:

A user is searching for a specific file, "bitcoin-0.1.2.rar," from 2009/2010 that they have been unable to locate. They have managed to gather all the source archives from versions 0.1.0 to 0.9.0, except for this missing file, and are interested in examining it out of curiosity. Unfortunately, the Web Archive does not have any crawlers that captured the file. However, the user provides links to its first and last sightings on the Web Archive.Dan Bryant is currently working on building old OpenSSL releases in MSYS/MinGW v1.0.11, specifically for the first three versions of Bitcoin (v0.1.0, v0.1.3, and v0.1.5). However, he is facing issues with OpenSSL due to problems in mk1mf.pl. He is seeking guidance to complete the build and has already attempted various options, such as finding a non-sketchy copy of Visual C++ 6.0 and using precompiled OpenSSL releases. The user also provides links to the tools Dan used for the project and mentions that he is refining his work before posting binary builds on his repository.The author of the post has successfully compiled Bitcoin versions 0.1.0 to 0.3.13, after which the compiler was changed. They plan to refine their work and post binary builds on the repository. In order to prevent spamming the `#bitcoin` IRC channel, they may disable the IRC bot. They mention a patch process that will make it easier and reveal their intention to stop at version 0.8.6 since official builds start from there.In an earlier post, the author describes their experience in attempting to build the first three versions of Bitcoin (v0.1.0, v0.1.3, and v0.1.5) using vintage Oct 2009 toolchains with MSYS/MinGW v1.0.11. Most things seemed to build successfully, except for OpenSSL, which failed due to issues in mk1mf.pl. The author explores different options, such as finding out how Satoshi (the creator of Bitcoin) did the MinGW OpenSSL build back in 2009, attempting the OpenSSL build through Cygwin, or using Msys2 with later versions of perl and libc. They also consider purchasing a copy of VC 6 on eBay. Additionally, they suggest patching Bitcoin 0.1.0 to use OpenSSL v1.0.0 where they fixed the perl bug. Alternatively, they could give up and use a precompiled OpenSSL release or use the Linux build methods introduced in Bitcoin v0.1.6. The author provides links to the binaries used to create the build environment for anyone interested in trying it themselves.The author's goal is to build the first three versions of Bitcoin (v0.1.0, v0.1.3, and v0.1.5) similar to the Github Arctic Code Vault and the Nakamoto Institute. They refer to the original Satoshi posts that suggest these builds could be done using Visual C++ version 6.0 or MinGW and MSYS (at v1.0.11). However, since most versions of VC 6 are no longer available online, the only option left is MinGW, which can still be found on sourceforge. Unfortunately, OpenSSL fails to build due to issues in mk1mf.pl, possibly because of a problematic version of perl in MSYS v1.0.11. The author seeks help in recalling the steps to build OpenSSL v0.9.8h in MSYS 1.0.11 and asks if anyone knows where to find a non-sketchy copy of Visual C++ 6.0. They provide several options to address the issue and mention that reproducing these old builds is important, even though it may seem like a challenging task. The author identifies the mk1mf.pl bug as being related to parsing the list of headers through var_add, clean_up_ws, or do_copy_rule subs. The directories are dropped when building the make rules, causing make to assume all headers are at the root and resulting in a failed build. The author suspects that there may be missing versions of sed, basename, or dirname in MSYS, but the exact dependency has yet to be discovered. The provided references include the Satoshi Nakamoto code repository and the OpenSSL mk1mf.pl file on GitHub.


Updated on: 2023-08-02T02:51:17.638203+00:00