BlockchainCommons / BlockchainCommons/GordianServer-macOS

Gordian Server breaks with Bitcoin 23.0

Open
#171 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
70
Forks
8
PR merge metrics
No merged PRs in 30d

Description

It looks like the main problem is that MacOS binary URL changed from the expected:
```
https://bitcoincore.org/bin/bitcoin-core-23.0/bitcoin-23.0-osx64.tar.gz
```
To one of:
```
https://bitcoincore.org/bin/bitcoin-core-23.0/bitcoin-23.0-arm64-apple-darwin.tar.gz
https://bitcoincore.org/bin/bitcoin-core-23.0/bitcoin-23.0-x86_64-apple-darwin.tar.gz
```
(There are also DMGs, but I presume the tar.gz is still preferred.)

Download now needs to occur from:
```
bitcoin-${processedVersion}-`uname -m`-apple.darwin.tar.gz
```
The `uname -m` command from the command line can provide the architecture. The `uname()` command in Swift can do the same, per [this](https://developer.apple.com/forums/thread/652667) [see the currently 4th answer], but it'll tell you arm64 if it's running in Rosetta, which Gordian Server will be, so we presumably want to get the command-line answer to get them Bitcoin proper running efficiently on the appropriate architecture. (Hopefully that won't also be running in Rosetta since it's a script, but we won't know until we test.)

So, my suggestion is:

1. Move the final composition of the download URL from `GordianServer-macOS/Helpers/UrlRequest.swift` to `GordianServer-MacOS/Scripts/Standup.command` to take advantage of the `uname -m` command line option.
2. Adjust the URL for `apple-darwin` instead of `osx`.

Contributor guide

Open the contributing guide

Research direction

Compare GordianServer-macOS/Helpers/UrlRequest.swift with GordianServer-MacOS/Scripts/Standup.command to trace where the Bitcoin download URL is assembled. Start by checking the current Bitcoin 23.0 URL handling and the architecture reported by uname -m. Done means the standup process selects the appropriate apple-darwin tar.gz URL for the Mac architecture.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell, swift
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.