Bitcoin Forum

Local => Español (Spanish) => Topic started by: rescueme on July 09, 2014, 09:40:42 PM



Title: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: rescueme on July 09, 2014, 09:40:42 PM
Hola,
Estoy desarrollando un juego y estoy creando unas clases que interactúan con blockchain pero necesito saber algunas cosas.
Resulta que activando la confirmación callback http (https://blockchain.info/es/api/blockchain_wallet_api) Obtengo los siguientes datos cuando alguien me ingresa una transacción (no lo he probado aún):

value The value of the payment received in satoshi (not including fees). Divide by 100000000 to get the value in BTC.
transaction_hash The transaction hash.
input_address The bitcoin address that received the transaction.
confirmations The number of confirmations of this transaction.

Necesito saber si el dato 'transaction_hash' es el mismo parámetro que yo le voy a pasar al RPC para ejecutar 'gettransaction', por ejemplo, si hago:

gettransaction 4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad

Obtengo:

{
    "amount" : 0,
    "fee" : 0,
    "time" : 1404842263,
    "details" : [
        {
            "fee" : 0,
            "amount" : 0.00015000,
            "blockindex" : "",
            "time" : 1404842263,
            "category" : "receive",
            "confirmations" : 0,
            "address" : "1a8LDh3qtCdMFAgRXzMrdvB8w1EG4h1Xi",
            "txid" : "4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad",
            "blockhash" : "",
            "account" : null,
            "label" : null
        },
        {
            "fee" : 0,
            "amount" : -0.00015000,
            "blockindex" : "",
            "time" : 1404842263,
            "category" : "send",
            "confirmations" : 0,
            "address" : "18pGV83SwsjbXu5n8ozfxAFS1nLbgiuBvn",
            "txid" : "4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad",
            "blockhash" : "",
            "account" : null,
            "label" : null
        }
    ],
    "confirmations" : 0,
    "txid" : "4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad"
}


Entonces, más concretamente, el dato 4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad, ¿es el transaction hash que me devuelve el http callback? Es decir "txid" ¿es lo mismo que transaction hash o no?

Otra pregunta, una vez tengo este bloque de información ¿puedo acceder al campo  "category" : "send" en el vector details, para saber que "address" : "18pGV83SwsjbXu5n8ozfxAFS1nLbgiuBvn", es la dirección del remitente de forma segura? ¿Puede haber varios remitentes?

Es decir si alguien me envía btc yo ¿puedo saber la dirección pública de quien me lo ha enviado a partir del campo  "category" : "send", o puede haber alguna forma en que esa dirección pertenezca a otro sujeto no involucrado en la transferencia que me han realizado?

Muchas gracias, si me ayudáis no os olvideis de dejarme unas direcciones públicas y cuando lo tenga terminado os daré partidas gratis. Hasta luego.


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: dserrano5 on July 09, 2014, 10:24:43 PM
¿Puede haber varios remitentes?

https://blockchain.info/tx/72316782bf48d0cd232b888a7b9ea03f88ba79fac28273cd2aa1804683235412


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: rescueme on July 09, 2014, 10:43:58 PM
¿Puede haber varios remitentes?

https://blockchain.info/tx/72316782bf48d0cd232b888a7b9ea03f88ba79fac28273cd2aa1804683235412

Joer valla lio  ??? haber como salgo de esta. Te habrá hecho gracia la pregunta.


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: Shawshank on July 10, 2014, 05:10:20 AM
Entonces, más concretamente, el dato 4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad, ¿es el transaction hash que me devuelve el http callback? Es decir "txid" ¿es lo mismo que transaction hash o no?

Correcto. El transaction hash es lo mismo que el txid, es decir, el identificador único de la transacción.


Quote from: rescueme
Otra pregunta, una vez tengo este bloque de información ¿puedo acceder al campo  "category" : "send" en el vector details, para saber que "address" : "18pGV83SwsjbXu5n8ozfxAFS1nLbgiuBvn", es la dirección del remitente de forma segura? ¿Puede haber varios remitentes?
Por supuesto. Puede haber multitud de direcciones remitentes y multitud de direcciones destino en una única transacción.


Quote from: rescueme
Es decir si alguien me envía btc yo ¿puedo saber la dirección pública de quien me lo ha enviado a partir del campo  "category" : "send", o puede haber alguna forma en que esa dirección pertenezca a otro sujeto no involucrado en la transferencia que me han realizado?

La dirección que obtienes en "category" : "send" puede pertenecer a un exchange, por ejemplo. Es decir, la persona enviante de los bitcoins puede que no sea el propietario de la clave privada que controla esa dirección Bitcoin.

Si tienes alguna otra duda, pregunta.



Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: rescueme on July 10, 2014, 05:19:16 AM
Entonces, más concretamente, el dato 4d34d1ae8cd1a146c1f9f8735f93ed16f87d6d6651818987fea2058f7b2abaad, ¿es el transaction hash que me devuelve el http callback? Es decir "txid" ¿es lo mismo que transaction hash o no?

Correcto. El transaction hash es lo mismo que el txid, es decir, el identificador único de la transacción.


Quote from: rescueme
Otra pregunta, una vez tengo este bloque de información ¿puedo acceder al campo  "category" : "send" en el vector details, para saber que "address" : "18pGV83SwsjbXu5n8ozfxAFS1nLbgiuBvn", es la dirección del remitente de forma segura? ¿Puede haber varios remitentes?
Por supuesto. Puede haber multitud de direcciones remitentes y multitud de direcciones destino en una única transacción.


Quote from: rescueme
Es decir si alguien me envía btc yo ¿puedo saber la dirección pública de quien me lo ha enviado a partir del campo  "category" : "send", o puede haber alguna forma en que esa dirección pertenezca a otro sujeto no involucrado en la transferencia que me han realizado?

La dirección que obtienes en "category" : "send" puede pertenecer a un exchange, por ejemplo. Es decir, la persona enviante de los bitcoins puede que no sea el propietario de la clave privada que controla esa dirección Bitcoin.

Si tienes alguna otra duda, pregunta.



Bueno no importa que sea la dirección de un exchange eso es problema del usuario, ya le avisaré en las instrucciones. Pues, lo he dejado para luego he puesto una función que me devuelve una dirección de pega y he seguido con otras cosas.


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: dserrano5 on July 10, 2014, 07:01:15 AM
¿Puede haber varios remitentes?

https://blockchain.info/tx/72316782bf48d0cd232b888a7b9ea03f88ba79fac28273cd2aa1804683235412

Joer valla lio  ??? haber como salgo de esta. Te habrá hecho gracia la pregunta.

¿Por qué quieres saber la dirección del remitente?


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: LuisCar on July 10, 2014, 11:03:49 AM
¡Exacto! Proporcionando una dirección única y distinta para cada pago recibido ya estás determinando unívocamente al pagador.


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: rescueme on July 10, 2014, 09:21:59 PM
¡Exacto! Proporcionando una dirección única y distinta para cada pago recibido ya estás determinando unívocamente al pagador.

Puedo hacerlo así pero ofusca bastante la jugabilidad, veréis el mecanismo es semejante a satoshi dice


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: rescueme on July 11, 2014, 06:14:45 PM
No voy a poner dos veces que quien me ha respondido a lo largo del hilo me puede dejar su dirección pública para tener una entrada gratis a mi juego donde podréis ganar btc.

También si alguien me ayuda a obtener la dirección del remitente de forma segura mediante llamadas rpc a blockchain.info y con la información del callback http, podemos negociar un pago en btc o entradas a mi juego.


Title: Re: Obteniendo la dirección pública del remitente a partir del has de la transacción
Post by: dserrano5 on July 11, 2014, 07:23:22 PM
También si alguien me ayuda a obtener la dirección del remitente

¿Y cuando haya varios, tal como ya has visto? ¿Y cuando no lo haya? (nadie lo va a hacer pero técnicamente no es imposible).

Para enviar coins, solicita una dirección al usuario.