Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1(use-modules ((gnu packages bash) #:select (bash-minimal))2((gnu packages compression) #:select (gzip zip))3((gnu packages crypto) #:select (osslsigncode))4((gnu packages nss) #:select (nss-certs))5((gnu packages python-build) #:select (python-poetry-core))6((gnu packages python-crypto) #:select (python-asn1crypto python-oscrypto))7((gnu packages tls) #:select (openssl))8((gnu packages version-control) #:select (git-minimal))9(guix build-system python)10(guix build-system pyproject)11(guix git-download)12((guix licenses) #:prefix license:)13(guix packages))15(define-public python-elfesteem16(let ((commit "2eb1e5384ff7a220fd1afacd4a0170acff54fe56"))17(package18(name "python-elfesteem")19(version (git-version "0.1" "1" commit))20(source21(origin22(method git-fetch)23(uri (git-reference24(url "https://github.com/LRGH/elfesteem")25(commit commit)))26(file-name (git-file-name name commit))27(sha25628(base3229"07x6p8clh11z8s1n2kdxrqwqm2almgc5qpkcr9ckb6y5ivjdr5r6"))))30(build-system python-build-system)31;; There are no tests, but attempting to run python setup.py test leads to32;; PYTHONPATH problems, just disable the test33(arguments '(#:tests? #f))34(home-page "https://github.com/LRGH/elfesteem")35(synopsis "ELF/PE/Mach-O parsing library")36(description "elfesteem parses ELF, PE and Mach-O files.")37(license license:lgpl2.1))))39(define-public python-oscryptotests40(package (inherit python-oscrypto)41(name "python-oscryptotests")42(propagated-inputs43(list python-oscrypto))44(arguments45`(#:tests? #f46#:phases47(modify-phases %standard-phases48(add-after 'unpack 'hard-code-path-to-libscrypt49(lambda* (#:key inputs #:allow-other-keys)50(chdir "tests")51#t)))))))53(define-public python-certvalidator54(let ((commit "a145bf25eb75a9f014b3e7678826132efbba6213"))55(package56(name "python-certvalidator")57(version (git-version "0.1" "1" commit))58(source59(origin60(method git-fetch)61(uri (git-reference62(url "https://github.com/achow101/certvalidator")63(commit commit)))64(file-name (git-file-name name commit))65(sha25666(base3267"1qw2k7xis53179lpqdqyylbcmp76lj7sagp883wmxg5i7chhc96k"))))68(build-system python-build-system)69(propagated-inputs70(list openssl71python-asn1crypto72python-oscrypto73python-oscryptotests)) ;; certvalidator tests import oscryptotests74(arguments75`(#:phases76(modify-phases %standard-phases77(add-after 'unpack 'disable-broken-tests78(lambda _79(substitute* "tests/test_certificate_validator.py"80(("^(.*)class CertificateValidatorTests" line indent)81(string-append indent82"@unittest.skip(\"Disabled by Guix\")\n"83line)))84(substitute* "tests/test_crl_client.py"85(("^(.*)def test_fetch_crl" line indent)86(string-append indent87"@unittest.skip(\"Disabled by Guix\")\n"88line)))89(substitute* "tests/test_ocsp_client.py"90(("^(.*)def test_fetch_ocsp" line indent)91(string-append indent92"@unittest.skip(\"Disabled by Guix\")\n"93line)))94(substitute* "tests/test_registry.py"95(("^(.*)def test_build_paths" line indent)96(string-append indent97"@unittest.skip(\"Disabled by Guix\")\n"98line)))99(substitute* "tests/test_validate.py"100(("^(.*)def test_revocation_mode_hard" line indent)101(string-append indent102"@unittest.skip(\"Disabled by Guix\")\n"103line)))104(substitute* "tests/test_validate.py"105(("^(.*)def test_revocation_mode_soft" line indent)106(string-append indent107"@unittest.skip(\"Disabled by Guix\")\n"108line)))109#t))110(replace 'check111(lambda _112(invoke "python" "run.py" "tests")113#t)))))114(home-page "https://github.com/wbond/certvalidator")115(synopsis "Python library for validating X.509 certificates and paths")116(description "certvalidator is a Python library for validating X.509117certificates or paths. Supports various options, including: validation at a118specific moment in time, whitelisting and revocation checks.")119(license license:expat))))121(define-public python-signapple122(let ((commit "3fab3bb57f227f0dd31007b417683035f5204838"))123(package124(name "python-signapple")125(version (git-version "0.2.0" "1" commit))126(source127(origin128(method git-fetch)129(uri (git-reference130(url "https://github.com/achow101/signapple")131(commit commit)))132(file-name (git-file-name name commit))133(sha256134(base32135"0qpr78bs50rw79dbihr9ifjq19y6819ih5pn9jd2rbjyifimzf7p"))))136(build-system pyproject-build-system)137(propagated-inputs138(list python-asn1crypto139python-oscrypto140python-certvalidator141python-elfesteem))142(native-inputs (list python-poetry-core))143(arguments144;; There are no tests, but attempting to run python setup.py test leads to145;; problems, just disable the test146(list #:tests? #f147#:phases148#~(modify-phases %standard-phases149;; Add a phase to inject OpenSSL paths for oscrypto.150(add-after 'wrap 'wrap-openssl-paths151(lambda* (#:key inputs #:allow-other-keys)152(let ((openssl (assoc-ref inputs "openssl")))153(wrap-program (string-append #$output "/bin/signapple")154`("SIGNAPPLE_OSCRYPTO_SSL_PATHS" =155(,(string-append openssl "/lib/libcrypto.so" "," openssl "/lib/libssl.so"))))))))))156(home-page "https://github.com/achow101/signapple")157(synopsis "Mach-O binary signature tool")158(description "signapple is a Python tool for creating, verifying, and159inspecting signatures in Mach-O binaries.")160(license license:expat))))162(define-public osslsigncode-2.14163(package164(inherit osslsigncode)165(version "2.14")166(source167(origin168(method git-fetch)169(uri (git-reference170(url "https://github.com/mtrojnar/osslsigncode")171(commit version)))172(file-name (git-file-name (package-name osslsigncode) version))173(sha256174(base32 "06ybcp9r8w0algxvvv0mz4h1cjw764b33s9b26n1dhvpl1dqc24c"))))))176(packages->manifest177(append178(list ;; The Basics179bash-minimal180coreutils-minimal181;; File(system) inspection182findutils183;; Compression and archiving184tar185gzip186zip187;; Git188git-minimal)189(let ((target (getenv "HOST")))190(cond ((string-suffix? "-mingw32" target)191(list osslsigncode-2.14 nss-certs))192((string-contains target "darwin")193(list python-signapple))194(else '())))))
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.