Recibir pagos en Bitcoin para llamadas a la API RESTful

Estoy familiarizado con las diferentes opciones para recibir pagos en Bitcoin (Blockchain.info, BitPay, Coinbase, la Raya). Pero, ¿cómo se podría diseñar una solución para que los usuarios paguen cada vez que llaman algunas API RESTful extremos? La primera cosa que vino a mi mente es la siguiente:

  1. Han usuario enviar cierta cantidad inicial en Bitcoin en el momento de registro para el uso de la API en el sitio web a través de las soluciones mencionadas anteriormente integrado en el sitio web.
  2. A continuación, sólo deducir de su estado de Bitcoin por cada llamada a la API que hacer.

Pero es que tal vez hay una solución estándar, donde alguien no lo tiene que hacer una cuenta para la primera transferencia de Bitcoin y de alguna manera podría especificar en la llamada a la API de cuántos Bitcoins para transferir? Cuando me pongo a pensar lógicamente, esto no parece ser posible, ya que no puede pareja juntos una solicitud de transferencia con la llamada a la API, me refiero a cómo usted incluso autorizar el pago de su cartera personal a la dirección especificada y cuánto a la transferencia?

+90
maximilianepta 1 sept. 2014 8:03:25
21 respuestas

Con Bitcoin, el usuario no puede dar a cualquier tipo de tarjeta de crédito información. En lugar de dar la información para que el comerciante puede utilizar para retirar el dinero. El usuario envía su dinero sin dar ninguna información. Así, no hay ninguna información para un hacker para robar o para un empleado de abuso o vender.

Esto significa que la red puede tener tarifas mucho más bajas. Al comparar las cuotas de una tarjeta de crédito cargos de 100 000% por ciento más altos honorarios por transacción que el Bitcoin red.

Otra ventaja es que es gratis para obtener una dirección Bitcoin.

También hay un projekt en el trabajo, que podría hacer posible el uso de una tarjeta de crédito para pagar con Bitcoins. Llama Openpay.

Por lo que podría llegar a ser posible el uso de Bitcoin en cualquier tienda que tiene VISA/Mastercard.

Pero el beneficio real es que los Bitcoins en un Bitcoin red sólo pertenece al propietario el control de la dirección.

En lugar de tener el dinero en un banco, en el que el dinero que le pertenece al banco. Lo que usted ve en su cuenta bancaria es cuánto dinero tiene prestada para el banco y para esto les dará una tasa de interés.

Por lo tanto, Bitcoins es la única manera de ser dueño de su propio dinero en forma electrónica.

+988
Columbia 03 февр. '09 в 4:24

Todo se hace en el proceso de encontrar la mejor ruta entre un beneficiario y un vendedor. Este post los detalles de ese proceso bastante bien

Relevante de lo que ella dice:

En total, "más corto" sería una combinación de accesible, suficiente liquidez, menor costo, menor número de saltos, y más fiable. Como Hash Tiempo de Bloqueo de los Contratos son casi trustless (sólo potencialmente el bloqueo de su dinero durante algún tiempo), y el funcionamiento de un enrutamiento de cartera debe tener bajos requerimientos de recursos, parece probable que el pago de enrutamiento de mercado debe lograr una sana competencia, por lo tanto desalentador que los nodos de bloqueo de dinero mediante el establecimiento de canales sólo para ganar cuotas de enrutamiento. Canales de pago entre los nodos que tienen alguna forma de regular la relación de negocio parece más probable ya que hay un beneficio inmediato.

Contexto y explicación: El post describe el proceso por el que los nodos de la red rango de sus conexiones por conveniencia de que en referencia a una transacción. El nodo que está haciendo los cálculos se toma en muchos factores incluyen la accesibilidad, la suficiente liquidez, menor costo, menor número de saltos, y fiabilidad.

+974
dlisunkin 11 ene. 2012 7:24:24

Cuando llego a la derecha, cada uno de los bloques en Bitcoins bloque de la cadena contiene un prev hash y un nuevo hash del bloque que incluye este prev hash. Por lo que el génesis bloque sólo se tiene a sí mismo y a partir de ahí cada hash del bloque anterior se numeran de nuevo junto con algunas transacciones, etc. Así que el árbol Merkle es en este caso una Lista?

@Edit: Descubrió que el Árbol Merkle parece que no funciona a nivel mundial, parece hash todas las transacciones incluidas en un bloque por separado y el uso de ellos como las hojas y, a continuación, construir un árbol binario sobre ellos. Donde cada hash es creado a lo largo de los hash de sus hijos.

Por lo que parece no es un tipo especial de árbol y en lugar de un simple árbol binario.

Es todo esto o ¿me olvido de algo importante?

+968
bitboy 11 feb. 2010 14:31:30

Si quiero comprar a través de un intercambio que lo mejor será seguir a todo el que tiene mayor volumen. El mejor el volumen de la mayor liquidez que tiene. Lo que si puedo comprar bitcoins utilizando la India o China, moneda y posteriormente desea obtener de cambio a dólares estadounidenses. ¿Cómo puedo calcular las cuotas y ¿cuál es la ventaja de usar una moneda real vs otro.

Soy nuevo en esto. Primer día tratando de conseguir algo de información.

Saludos.

+965
rcabr 10 jul. 2017 1:41:23
El encabezado de bloque es una porción de cada bloque en el bloque de cadena que identifica los parámetros básicos de ese bloque en particular, tales como el bloque de la versión, el tiempo que se ha generado, el hash del bloque anterior, y el hash de las transacciones en ese bloque.
+906
Nicolas Dumazet 8 may. 2016 4:47:32

Cuando ejecuto:

bitcoin-cli getnewaddress

Mi bitcoin nodo devuelve mí una nueva dirección. Si puedo enviar los BTC a la dirección esta dirección, ¿el pago de ir a mi carpeta principal.dat en la cartera (dirección generada a partir de viejos/misma clave privada). O ¿bitcoind generar una nueva cartera de clave privada?

+904
Wallkan 29 ene. 2017 7:15:07

Sé que el Gobierno de estados unidos se opone a la competencia de monedas. Parece que sería más bien una solución simple para ellos para destruir Bitcoin antes de que crezca demasiado por el mero hecho de la compra de toda la moneda, que sería bastante factible hoy en día dada la capitalización de mercado de $80M (julio de 2012), y nunca a la venta.

+827
gokino 26 sept. 2014 19:06:54

Hay una wiki de la página acerca de la compra de Bitcoins con una tarjeta de crédito. Parece que las opciones ideales para usted sería Brawker o MeetPays. Pero sea cual sea el método que usted decida usar, no olvides que el Bitcoin no es anónimo (por defecto), eso es un mito común.

+660
DanDoes 8 jul. 2012 19:52:24

La antigua pregunta pero sigue siendo relevante hoy en día...

Con muchos blockchain Api, desgraciadamente no hay manera de consulta "que la transacción pasó esta salida?".

El más eficiente alternativa es descargar todo el historial de transacciones para las direcciones de salida, y analizar cada transacción, buscando uno que pasa la salida en cuestión.

+552
Dom Delimar 16 abr. 2019 7:09:41

Estoy tratando de ejecutar un BitCoin wallet en una Unidad USB. Tengo que trabajar, pero yo estoy tratando de hacer que el bloque de la cadena se descargan y se almacenan en el interior de la unidad USB también. Esta es la única cosa que yo he sido capaz de llegar y no he tenido ningún éxito.

H:\Bitcoin\bitcoin-qt.exe" -datadir=H:\Bitcoin\appdata

Obtengo el error "nombre de archivo es incorrecta". Sé que no es un portátil BitCoin programa, pero también tengo ganas de que esto funcione para otras monedas tales como LiteCoin, y sé que no hay versiones portátiles para aquellos.

+471
Sanky 11 ago. 2016 20:17:02

En este blog: http://www.nilsschneider.net/2013/01/28/recovering-bitcoin-private-keys.html el autor mostró un caso que usando el mismo k dos veces pérdida de la clave privada.

Muchas personas saben este método. Pero me parece que a veces, la fórmula no puede dar la respuesta correcta(o calculo mal).

Miren esto, usted puede verificar las firmas de clave pública:

clave_pública = 02a50eb66887d03fe186b608f477d99bc7631c56e64bb3af7dc97e71b917c5b364
msghash1 = 01b125d18422cdfa7b153f5bcf5b01927cf59791d1d9810009c70cd37b14f4e6
msghash2 = 339ff7b1ced3a45c988b3e4e239ea745db3b2b3fda6208134691bd2e4a37d6e1
sig1 = 304402200861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d02206cf26e2776f7c94cafcee05cc810471ddca16fa864d13d57bee1c06ce39a3188
sig2 = 304402200861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d02204ba75bdda43b3aab84b895cfd9ef13a477182657faaf286a7b0d25f0cb9a7de2

Así de entrada de datos:

r=0861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d
s1=6cf26e2776f7c94cafcee05cc810471ddca16fa864d13d57bee1c06ce39a3188
s2=4ba75bdda43b3aab84b895cfd9ef13a477182657faaf286a7b0d25f0cb9a7de2
z1=01b125d18422cdfa7b153f5bcf5b01927cf59791d1d9810009c70cd37b14f4e6
z2=339ff7b1ced3a45c988b3e4e239ea745db3b2b3fda6208134691bd2e4a37d6e1

Yo trabajo:

clave privada = eaa57720a5b012351d42b2d9ed6409af2b7cff11d2b8631684c1c97f49685fbb
clave pública = 04e0e81185567ea58fc7e7258aa4d5c3e201a8d4ce2810c1007d87727a67eeb9a8c2ba06935280209f8bf42fc7603b65095f036044c4124ddf7c6a250cb450e4c8

Sin embargo, es erróneo.

Estoy usando este código en python para calcular:

# esta función es de 
# https://github.com/warner/python-ecdsa/blob/master/ecdsa/numbertheory.py
def inverse_mod( a, m ):
 """Inverso de un mod m."""
 si a < 0 o m <= a: a = a % m
 # A partir de Ferguson y Schneier, más o menos:
 c d = a, m
 la uc, vc, ud, vd = 1, 0, 0, 1
 mientras que c != 0:
 q, c, d = divmod( d, c ) + ( c, )
 la uc, vc, ud, vd = ud - q*de la uc, vd - q*vc, uc, vc

 # En este punto, d es el MCD, y ud*a+vd*m = d.
 # Si d == 1, esto significa que ud es una inversa.
 afirman d == 1
 si ud > 0: retorno ud
 otra cosa: volver ud + m


def derivate_privkey(p, r, s1, s2, hash1, hash2):
 z = hash1 - hash2
 s = s1 - s2
 r_inv = inverse_mod(r, p)
 s_inv = inverse_mod(s, p)
 k = (z * s_inv) % p
 d = (r_inv * (s1 * k - hash1)) % p
 retorno d, k


p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFfebaaedce6af48a03bbfd25e8cd0364141

# este caso es el derecho
public_key=0x04dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff
r =0xd47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1
s1=0x44e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e
s2=0x9a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab
z1=0xc0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e
z2=0x17b0f41c8c337ac1e18c98759e83a8cccbc368dd9d89e5f03cb633c265fd0ddc
print "privados:%x\n aleatoria:%x" % derivate_privkey(p,r,s1,s2,z1,z2)
imprimir

# este caso pueden estar equivocados
clave_pública=0x02a50eb66887d03fe186b608f477d99bc7631c56e64bb3af7dc97e71b917c5b364
r =0x0861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d
s1=0x6cf26e2776f7c94cafcee05cc810471ddca16fa864d13d57bee1c06ce39a3188
s2=0x4ba75bdda43b3aab84b895cfd9ef13a477182657faaf286a7b0d25f0cb9a7de2
z1=0x01b125d18422cdfa7b153f5bcf5b01927cf59791d1d9810009c70cd37b14f4e6
z2=0x339ff7b1ced3a45c988b3e4e239ea745db3b2b3fda6208134691bd2e4a37d6e1

print "privados:%x\n aleatoria:%x" % derivate_privkey(p,r,s1,s2,z1,z2)

De hecho, hay otro uno se enfrenta a este problema:

https://crypto.stackexchange.com/questions/16615/ecdsa-how-to-retrieve-a-non-random-k

Pero él no dio más información al respecto, tal vez él lo descubrió.

No he encontrado más personas se quejan de que, así, es probable que la culpa es mía de alguna manera.

Puede usted señalar mi error? o simplemente señalar el camino correcto? Gracias.

+465
tage 21 abr. 2019 12:39:05

sí, se parece la correcta, sólo asegúrese de estar en control de su clave privada.

+462
marsh 27 mar. 2014 2:14:39

Tengo una cartera en blockchain.info. Soy bastante nuevo en bitcoin y sería feliz si alguien me explique :

(1) ¿qué debo hacer para guardar mis bitcoins si pasa algo blockchain.info. ¿Puedo acceder a mis bitcoin con CUALQUIER cartera, si sé que mi dirección y la clave privada, o si sé que mi dirección y contraseña? si es así, ¿cómo puedo encontrar mi clave privada?

(2) también he notado una opción de copia de seguridad en blockchain.info billetera. Si lo uso, puedo acceder a mis bitcoins con esta copia de seguridad, con todos cartera? debo guardar una nueva copia de seguridad después de cada transmisión de bitcoins de mi blockchain.info cartera?

(3) Wha hacer de la mejor manera de prevenir una situación en la que un malware ", se lee en" mi contraseña cuando entro yo?

Gracias!

+322
Tom Newton 7 sept. 2016 18:27:11

Quiero ejecutar un privado nodo, y lo utilizan para recibir en tiempo real sin confirmar las transacciones de datos en mi nodejs secuencia de comandos.

¿Cómo hago esto?

+267
Laligam Mohan 13 dic. 2011 11:54:19

Hay n a los desarrolladores con la confirmación de privilegio.

Después de que uno de ellos combina un pull request, cómo los ojos de muchos de revisión de código? Cuando? Es una completa (integral) de la revisión de código hecho antes de publicar una versión? Cada línea se revisará por lo menos una otra persona?

+263
Harry Poter 29 abr. 2012 11:38:48

Parece que sólo las claves privadas están cifrados. Las direcciones se almacenan sin cifrar, por lo que el software puede mostrar su equilibrio sin necesidad de una contraseña.

+181
Milanchik 7 dic. 2016 21:30:39

Lo que sería una forma segura de almacenar grandes cantidades de Bitcoin a largo plazo para garantizar la seguridad de la pérdida?

¿Es seguro utilizar Bitaddress.org para generar las claves privadas y los utilizan para generar multi-sig de la dirección, la escritura de claves privadas en un papel. Luego de la firma de transacciones desde mi multi-sig de la dirección en la computadora fuera de línea.

Es que la mejor manera?

+161
Manuel Casillas 19 ago. 2015 19:52:06

Obviamente, la entrada de la función de hash es el puntero a algunos datos en memoria.

No.

Cada bloque se compone de encabezado (80 bytes) y el cuerpo (transacciones).

La función de Hash hash de 80 bytes de entrada dando a 32 bytes de salida.

La entrada de la función hash del bloque N es el encabezado completo de bloque N-1 (80 bytes). Estos 80 bytes se fragmentan y el hash resultante (de tamaño de 32 bytes) se almacena en el bloque N de encabezado (de llenado de la parte de su 80bytes).

El hash de la N-1 en el bloque de encabezado N de encabezado de prueba (proporciona integridad) la posición del bloque N: el que viene detrás de bloque N-1 en el blockchain.


Nota no es otro hash proceso que ocurre en cada bloque, la mezcla de bloquear las transacciones de la producción de los llamados Merkle raíz que también se coloca en el encabezado y proporciona la integridad de los bloques de transacciones.

+100
Prateek Surana 6 dic. 2013 19:13:12

Todos los nodos (no sólo de la minería) y a mantener algo que se llama un mempool, una colección de todos los de la validación de las transacciones que se han visto en la red que no lo han hecho en los bloques hasta el momento. Un minero es libre de llevar a todos los que se ajustará, un subconjunto de satisfacer sus propias necesidades, o ninguna de estas transacciones y los monte en un candidato bloque. El bloque se reúnen no es válido hasta que encuentra a una prueba de trabajo que satisfaga a la dificultad actual, si ellos encontrar la correcta nonce para que el bloque se convierte en válido y se puede transmitir a la red. Si alguien encuentra un bloque antes de hacerlo, el candidato del bloque se descarta una nueva reunido para trabajar en contra.

+64
Walaa 17 mar. 2013 23:47:19

Hice un montón de investigación intensiva sobre cómo el Blockchain realmente funciona. Entiendo que la maquinaria pero es muy difícil explicar esto a un laico. Podría alguien proveer el más simple de explicación que puede ser comprendido por cualquier persona, sea o no que él/ella es un entusiasta de tecnología.

+62
FatRunner 20 may. 2011 14:02:52

No es útil en cualquier otra forma que el mantenimiento de la minería en el protocolo bitcoin. Este es un derroche, pero es la solución más sencilla para el problema que de la solución, usted puede comprobar rápidamente el correcto valor de hash sha256. Si un imaginario de la moneda hizo los cálculos para la caridad como la "minería de datos", ¿cómo podría la gente verificar un nodo que afirman haber hecho 100 cálculos correctamente sin hacer el mismo trabajo?

+55
danerieber 12 dic. 2011 7:54:21

Mostrar preguntas con etiqueta