Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

elements-cli unblindrawtransaction cannot unblind own sent payments

Abierto
#1,375 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
blockchain, cli

Línea de trabajo

Empieza reproduciendo el problema con elements-cli usando getrawtransaction, unblindrawtransaction y decoderawtransaction, comparando los ID de transacción y cada salida antes y después del unblinding. Se considera completado cuando unblindrawtransaction conserva el txid original y desblinda todas las salidas aplicables, incluidos los pagos enviados y no solo las salidas propias de la wallet.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

There are two bugs:

  1. unblindrawtransaction method changes TxId of the transaction
  2. it does not unblind all outputs, but only those coming back to the wallet (change or deposits)

Have a look:

~ $ elements-cli listtransactions
...
 {
    "address": "tex1q5w27zcjlvrry5fkgez2mvk5jsp8t8c887w7kj9",
    "category": "send",
    "amount": -0.00001234,
    "txid": "97bd4529dcbc5b04b600976031d0ace907ab458121b1d61049029ee1a36c94ae",
...                                                                                                            ...
~ $ elements-cli getrawtransaction 97bd4529dcbc5b04b600976031d0ace907ab458121b1d61049029ee1a36c94ae true
{
  "txid": "97bd4529dcbc5b04b600976031d0ace907ab458121b1d61049029ee1a36c94ae",
...
  "vout": [
    {
      "value-minimum": 0.00000001,
      "value-maximum": 45035996.27370496,
...
    },
    {
      "value-minimum": 0.00000001,
      "value-maximum": 45035996.27370496,
...    },
    {
      "value": 0.00000026,
...        "type": "fee"
      }
..  "hex": "0200000001011a2b2ac527...715192888e9d55f52c0000",
...
}
~ $ elements-cli unblindrawtransaction 0200000001011a2b2ac527...88e9d55f52c0000
{
  "hex": "0200000001011a2b2ac...192888e9d55f52c0000"
}
~ $ elements-cli decoderawtransaction 0200000001011a2b2ac...192888e9d55f52c0000
{
  "txid": "7e7a2d8f297509bab56b9493c95e299b00fef58e80f77f523b96b78e56edcc30",
...
  "vout": [
    {
      "value": 0.00002112,
      "asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
...
    },
    {
      "value-minimum": 0.00000001,
      "value-maximum": 45035996.27370496,
...
}

Lenguaje dominante
C++
Estrellas
1.2k
Forks
418
Merge medio
23 h 21 min
PR fusionados (30 d)
6

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ElementsProject/elements

Todos los issues de ElementsProject/elements

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.