Я пытаюсь разобраться в формате транзакции Electrum PSBT, и вроде все понятно, кроме одного поля. Позвольте мне опубликовать здесь типичный PSBT, созданный с помощью кошелька (десериализованный).
{
"inputs": [
{
"address": "17gs9PbWDPaZpbCj1E4vGfAFAgYscp97tS",
"num_sig": 1,
"prevout_hash": "4ab140fc17300f276f4bcc605162849fb20be3ed87d3a30fb2e0275b999a2232",
"prevout_n": 1,
"pubkeys": [
"02c0af99608ee822efd3a207c0d917621f2d1cfd9c466cf93b552f42e7c045b94c"
],
"scriptSig": "01ff4c53ff0488b21e038c9df2e8800000000332ec1848e45c108d92bbce40ef9c56f2ea35959207881c8b8ce0588e0e894503d0eda4bfe2a7e09743bcc663899ea35d42edce92e0f45193d4114bd1eb6eced100000100",
"sequence": 4294967293,
"signatures": [
null
],
"type": "p2pkh",
"x_pubkeys": [
"ff0488b21e038c9df2e8800000000332ec1848e45c108d92bbce40ef9c56f2ea35959207881c8b8ce0588e0e894503d0eda4bfe2a7e09743bcc663899ea35d42edce92e0f45193d4114bd1eb6eced100000100"
]
}
],
"lockTime": 631761,
"outputs": [
{
"address": "126QNy7UA11xkrQ1AWMp1PpyEUtKBg6ytz",
"prevout_n": 0,
"scriptPubKey": "76a9140bfdb89fe10ed2859449d543b26c5dfef39c2a0588ac",
"type": 0,
"value": 496160
}
],
"partial": true,
"segwit_ser": false,
"version": 2
}
В этой транзакции только один вход; как это формируется?
"x_pubkeys": [
"ff0488b21e038c9df2e8800000000332ec1848e45c108d92bbce40ef9c56f2ea35959207881c8b8ce0588e0e894503d0eda4bfe2a7e09743bcc663899ea35d42edce92e0f45193d4114bd1eb6eced100000100"
]
Я заметил, что его значение указано в кошельке c, поэтому все транзакции PSBT из этого кошелька имеют одинаковое значение в этом поле. Я полагаю, это как-то связано с кошельком xpub, поскольку значения одинаковы для обычного кошелька и кошелька только для чтения. Есть идеи, как заполняется это поле?