Skip to content

Conversation

@cobratbq
Copy link

The eight argument 'true' is necessary to invoke the external signer upon creating the wallet. The parameter defaults to 'false' otherwise.

@DrahtBot
Copy link
Contributor

DrahtBot commented Jun 28, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/30354.

Reviews

See the guideline for information on the review process.
A summary of reviews will appear here.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@DrahtBot DrahtBot added the Docs label Jun 28, 2024
@cobratbq cobratbq force-pushed the fix-external-signer-doc branch from f383c85 to 487a7c0 Compare June 28, 2024 16:35
@Sjors
Copy link
Member

Sjors commented Jul 2, 2024

Do you happen to know which pull request added a new positional argument in the middle? Or was this instruction always broken? cc @achow101

@cobratbq
Copy link
Author

cobratbq commented Jul 7, 2024

Do you happen to know which pull request added a new positional argument in the middle? Or was this instruction always broken? cc @achow101

I don't know. I'm new to this. However, in working with this documentation, it seems that there are more discrepancies or inaccuracies. It seems now the account-ID in getdescriptors is provided using --account 0, for example.

I'm currently going through the bitcoin-core sources, to figure out where my other mistakes are, because the external-signer documentation is not sufficient. (Not so much meant as complaint, but rather a heads-up on the status.)

Another thing is the use of descriptors. I am not well informed, but it seems that a certain path is required. I think it follows the idea outlined in BIP-43, which for legacy is defined in BIP-44. However, the docs also say:

A future extension could add an optional return field with device capabilities. Perhaps a descriptor with wildcards. For example: ["pkh("44'/0'/$'/{0,1}/"), sh(wpkh("49'/0'/$'/{0,1}/")), wpkh("84'/0'/$'/{0,1}/*")]. This would [..]

The docs on descriptors (descriptors.md) also show examples, such as pk(xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8), and I have no idea whether this is supposed to be supported or not.

@cobratbq cobratbq force-pushed the fix-external-signer-doc branch from 487a7c0 to 12df924 Compare July 7, 2024 23:36
@achow101
Copy link
Member

achow101 commented Jul 9, 2024

Do you happen to know which pull request added a new positional argument in the middle? Or was this instruction always broken? cc @achow101

Highly likely it was always broken. I'd be surprised if a PR that added a positional argument in the middle would make it through code review.

A future extension could add an optional return field with device capabilities. Perhaps a descriptor with wildcards. For example: ["pkh("44'/0'/$'/{0,1}/"), sh(wpkh("49'/0'/$'/{0,1}/")), wpkh("84'/0'/$'/{0,1}/*")]. This would [..]

The docs on descriptors (descriptors.md) also show examples, such as pk(xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8), and I have no idea whether this is supposed to be supported or not.

That suggestion is neither implemented nor specified.

@cobratbq
Copy link
Author

Highly likely it was always broken. I'd be surprised if a PR that added a positional argument in the middle would make it through code review.

Okay, that's clear. Well we can fix it now, and add the named arguments.

The docs on descriptors (descriptors.md) also show examples, such as pk(xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8), and I have no idea whether this is supposed to be supported or not.

That suggestion is neither implemented nor specified.

Okay, so if I understand correctly: getdescriptors expects results in the forms specified by BIP-44, BIP-49 and BIP-84 only. (All of which seem to follow the idea of BIP-43.)

So I guess we should update the getdescriptors section to make this explicit. Does this mean that getdescriptors also is not optional, but instead required? I.e. the wallet requires descriptors to be useful, does it not? (That's what the RPC commands suggest.)

@DrahtBot
Copy link
Contributor

🚧 At least one of the CI tasks failed.
Debug: https://github.com/bitcoin/bitcoin/runs/27138140194

Hints

Make sure to run all tests locally, according to the documentation.

The failure may happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@fanquake fanquake requested a review from Sjors August 13, 2024 09:46
The eight argument 'true' is necessary to invoke the external signer upon
creating the wallet. The parameter defaults to 'false' otherwise.
@cobratbq cobratbq force-pushed the fix-external-signer-doc branch from 12df924 to cca20be Compare August 22, 2024 22:46
@cobratbq
Copy link
Author

cobratbq commented Sep 30, 2024

In addition: documentation is completely lacking for flags --stdin and which stdin-commands to expect, including their format. Additionally, if we passing in to stdin directly, why wouldn't we pass the PSBT in binary form? Just have signtx prefix then the binary data. (I guess this is too late now, but there is no reasoning or documentation about this anywhere in the spec.)
Furthermore, --account and --chain parameters.

So: --account, --chain, --stdin and in case of stdin whatever is supported.

@DrahtBot
Copy link
Contributor

🤔 There hasn't been much activity lately and the CI seems to be failing.

If no one reviewed the current pull request by commit hash, a rebase can be considered. While the CI failure may be a false positive, the CI hasn't been running for some time, so there may be a real issue hiding as well. A rebase triggers the latest CI and makes sure that no silent merge conflicts have snuck in.

@achow101
Copy link
Member

cc @Sjors

@Sjors
Copy link
Member

Sjors commented Oct 24, 2025

Instead of bitcoin-cli -named let's recommend bitcoin rpc (introduced in #31375 and shipped as of v30, it automatically sets -named).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants