このページの内容
signPsbt
このメソッドは、現在のアドレスに一致するすべての入力を走査して署名します。
ウォレットとアドレスタイプの互換性
| ウォレットの種類 | モデル | 対応するアドレスタイプ |
|---|---|---|
| ソフトウェアウォレット | - | p2wpkh (ネイティブ Segwit)、p2tr (Taproot) |
| ハードウェアウォレット | Pro, Classic1S | p2tr (Taproot) |
メソッド
declare function signPsbt(
psbtHex: string,
options?: {
autoFinalized?: boolean;
toSignInputs?: Array<{
index: number;
address?: string;
publicKey?: string;
sighashTypes?: number[];
disableTweakSigner?: boolean;
useTweakedSigner?: boolean;
}>;
}
): Promise<string>パラメーター
psbtHex— 必須string署名する PSBT の 16 進数文字列options— 任意objectautoFinalized— 任意boolean: 署名後に PSBT をファイナライズするかどうか。デフォルトはtruetoSignInputs— 任意Array: 署名する入力を指定index— 必須number: 署名する入力address— 任意string: (address または publicKey のいずれかを指定) 署名に使用する対応する秘密鍵publicKey— 任意string: (address または publicKey のいずれかを指定) 署名に使用する対応する秘密鍵sighashTypes— 任意number[]: 入力に対する任意の sighash タイプdisableTweakSigner— 任意boolean: デフォルトは false。taproot 入力の署名時に元の秘密鍵を使用するには true に設定useTweakedSigner— 任意boolean: 調整済み署名者を使用するかどうかを強制指定。disableTweakSigner よりも優先
戻り値
Promise<string> — 署名済み PSBT の 16 進数文字列
例
const provider = (window.$onekey && window.$onekey.btc) || window.unisat;
try {
// Basic signing
const signedBasic = await provider.signPsbt("70736274ff01007d....");
// Advanced signing with options
const signedAdvanced = await provider.signPsbt(
"70736274ff01007d....",
{
autoFinalized: false,
toSignInputs: [
{
index: 0,
address: "bc1qxxx...xxx",
},
{
index: 1,
publicKey: "02xxx...xxx",
sighashTypes: [1]
},
{
index: 2,
publicKey: "02xxx...xxx",
disableTweakSigner: true
}
]
}
);
console.log('Signed PSBT:', signedAdvanced);
} catch (error) {
console.error('Failed to sign PSBT:', error);
// Handle signing errors appropriately
}デモ
ウォレットとアドレスの互換性は、ウォレットおよびファームウェアのバージョンによって異なります。対応表に依存する前に、対象アカウントでの対応状況を確認してください。
上記の省略された PSBT、アドレス、公開鍵はプレースホルダーです。完全な値に置き換えてください。公開されているプロバイダーインターフェースには次が含まれます: autoFinalized; 追加の toSignInputs オプションはウォレットの実装によって異なるため、対象のバージョンで検証してください。署名してもトランザクションはブロードキャストされません。
最終更新日