BlockchainCommons / BlockchainCommons/GordianServer-macOS
Gordian Server breaks with Bitcoin 23.0
- 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
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