BItcoind/P2Pool ¿Qué estoy haciendo mal?

Estoy corriendo última bitcoind y p2pool versiones (por defecto la configuración de puerto) en Fedora 21 con los puertos abiertos para 3332-3333, 8332-8333, y 9332-9333. Todo parece estar bien cuando se conecta a la BC red, pero cuando uno de mis mineros (Antminer S5) se conecta a http://myhostname/IP puerto 3333 p2pool no responde. Cuando intento conectar con el puerto http://myhostname/IP puerto 9333, tengo un trenzado de error quejándose acerca de la autenticación, pero cuando intento conectar con el puerto myhostname/IP (stratum+tcp??) puerto 9333 se ve como el minero está tratando de conectarse y trabajar, pero después de varios segundos p2pool informes de un "apretón de manos tiempo de espera" para el minero de la dirección IP.

Este es el error:

2015-02-25 18:05:35.107254 Tengo conexión de igual a partir de: IPv4Address(TCP, '192.168.0.21', 45024)
2015-02-25 18:05:45.108525 Apretón de manos se ha agotado, la desconexión de 192.168.0.21:45024
2015-02-25 18:05:45.109817 de Pares se ha perdido la conexión: ('192.168.0.21', 45024) [Fallo de instancia: Traceback (fracaso sin marcos): <clase trenzado.internet.error.ConnectionAborted'>: Conexión fue abortado a nivel local, el uso de.
2015-02-25 18:05:45.110143

¿Qué estoy haciendo mal?

+578
Stefan Pintilie 25 feb. 2017 15:51:00
29 respuestas

No estoy de acuerdo con su premisa de "Esto podría ralentizar la velocidad de un bloque podría ser incluido en la cadena". Todos los demás minero o a la piscina tiene tanto un tiro en el descubrimiento de un bloque como el mal de uno. A menos que el maligno es tan potente que es singlehandedly efectuar la dificultad en un importante camino, sus bloques en blanco no va a impedir que otros mineros desde el descubrimiento de bloques normales.

Creo que su pregunta es simplemente una reafirmación de la "51%" problema.

+959
RICHARDSBIT 03 февр. '09 в 4:24

Vamos a decir que tengo un nxt nodo en mi lámpara servidor y quiero monitor un par de NXT / Ardor de las direcciones de la actividad y luego enviarme un correo electrónico. Cómo puede hacerse esto? Hay una configuración especial o un fragmento de código php puedo utilizar para hacer algo como esto? O tengo que constantemente consulta el NXT servidor para comprobar si una dirección de alguna actividad?

Yo sé acerca de https://arguseyes.net/ a monitor de transacciones, pero se estaba preguntando cómo hacerlo yo mismo.

+954
Julia Lisovskaja 2 ago. 2014 2:18:48

Puede publicar simplemente un montón de transacciones con un particular nlocktime. Digamos que quería darle a su hija una pensión de 0.1 BTC/semana durante todo un año. Usted puede crear una transacción con un locktime del próximo lunes, de 0.1 BTC, otra transacción con un locktime del lunes después de que un 0,1 BTC y así sucesivamente durante todo un año. La forma en que bitcoin funciona, ella va a recibir las cantidades de todos los lunes.

En cualquier momento, usted puede crear una transacción a ti mismo para anular algunas o todas las transacciones futuras. Muchas altcoins también tienen esta característica.

Ahora, si quieres una constante cantidad de dólares y no una cantidad de bitcoin, que en realidad va a requerir un servicio. Haciendo que en forma descentralizada va a ser realmente difícil ya que los tipos de cambio, por su naturaleza, tienden a ser centralizada.

He aquí cómo usted puede hacer una nlocktime transacción con el excelente btcd biblioteca en ir:

paquete principal

de importación (
"bytes"
"codificación/hex"
"fmt"

"github.com/btcsuite/btcd/btcec"
"github.com/btcsuite/btcd/chaincfg"
"github.com/btcsuite/btcd/txscript"
"github.com/btcsuite/btcd/wire"
"github.com/btcsuite/btcutil"
)

func main() {

 // Normalmente la clave privada podría venir de cualquier mecanismo de almacenamiento
 // se utiliza, pero para este ejemplo solo duro código.
 wif, err := btcutil.DecodeWIF(
 "<testnet la clave privada en el WIF formato aquí>")
)
 si err != nil {
fmt.Println(err)
volver
}

 comprimido := false

 privKey := wif.PrivKey
 clave pública := privKey.Clave pública()
 serializedPubKey := pubKey.SerializeCompressed()
 si!!!comprimido {
 serializedPubKey = pubKey.SerializeUncompressed()
}
 pubKeyHash := btcutil.Hash160(serializedPubKey)
 addr, err := btcutil.NewAddressPubKeyHash(pubKeyHash,
&chaincfg.TestNet3Params)
 si err != nil {
fmt.Println(err)
volver
}

 txStr, err := hex.DecodeString("<testnet, tx contiene las utxo en hexadecimal aquí>")

 si err != nil {
fmt.Println(err)
volver
}

 rbuf := bytes.NewReader(txStr)
 var originTx de alambre.MsgTx
 err = originTx.Deserialize(rbuf)
 si err != nil {
 fmt.Printf("Deserializar error %v\n", err)
volver
}
 originTxHash := originTx.TxSha()

 // Crear la transacción para canjear el falso transacción.
 redeemTx := alambre.NewMsgTx()

 // Añadir la entrada(s) de la acción redentora de la transacción va a pasar. No hay
 // firma de secuencia de comandos en este punto, ya que no ha sido creado o firmado
 // sin embargo, de ahí nil está prevista para ello.
 prevOut := alambre.NewOutPoint(&originTxHash, 0)
 txIn := alambre.NewTxIn(prevOut, nil)
 txIn.Secuencia = 0
redeemTx.AddTxIn(txIn)

 addr2, err := btcutil.DecodeAddress("<destino testnet addr aquí>",
&chaincfg.TestNet3Params)
 si err != nil {
fmt.Println(err)
volver
}
 pkScript, err := txscript.PayToAddrScript(addr2)
 si err != nil {
fmt.Println(err)
volver
}

 txOut := alambre.NewTxOut(93889960000, pkScript)
redeemTx.AddTxOut(txOut)

 // unix el tiempo de cuando el tx de salida será desbloqueado aquí
 redeemTx.LockTime = 1442802900

 // Signo de la acción redentora de la transacción.
 lookupKey := func(un btcutil.Dirección) (*btcec.PrivateKey, bool, error) {
 // Normalmente esta función implica la búsqueda de seguridad privada
 // clave de la dirección, pero como lo único que se
 // firmado en este ejemplo se utiliza la dirección asociada con la
 // clave privada desde arriba, sólo tiene que volver con el comprimido
 // indicador establecido desde la dirección es el uso de los asociados comprimido
 // clave pública.
//
 // NOTA: Si desea probar el código es en realidad la firma de la
 // transacción correctamente, el comentario de la siguiente línea que
 // intencionalmente devuelve una clave no válida para firmar con el, que en
 // vez, dará como resultado un error durante la ejecución del script
 // cuando la verificación de la firma.
//
 // privKey.D.SetInt64(12345)
 volver privKey, comprimido, nil
}
 // Observe que la secuencia de comandos de base de datos de parámetro es igual a cero aquí, ya que no está
 // se usa. Se debe especificar a la hora de pagar-a-script-hash transacciones son
 // de la firma.
 sigScript, err := txscript.SignTxOutput(&chaincfg.TestNet3Params,
 redeemTx, 0, originTx.TxOut[0].PkScript, txscript.SigHashAll,
 txscript.KeyClosure(lookupKey), nil, nil)
 si err != nil {
fmt.Println(err)
volver
}
 redeemTx.TxIn[0].SignatureScript = sigScript

 var buf bytes.Búfer
 err = redeemTx.Serialize(&buf)
 si err != nil {
 fmt.Printf("Serializar error %v", err)
volver
}

 // Probar que la transacción ha sido válidamente firmado por la ejecución de la
 // script de par.
 banderas := txscript.ScriptBip16 | txscript.ScriptVerifyDERSignatures |
 txscript.ScriptStrictMultiSig |
txscript.ScriptDiscourageUpgradableNops
 vm, err := txscript.NewEngine(originTx.TxOut[0].PkScript, redeemTx, 0,
banderas)
 si err != nil {
fmt.Println(err)
volver
}
 si err := vm.Execute(); err != nil {
fmt.Println(err)
volver
}

 fmt.Printf("Transacción con éxito firmado %v\n", hex.EncodeToString(buf.Bytes()))

}
+925
KP Sethi 4 abr. 2016 2:13:58

Estoy buscando para hacer un grifo de la página web, pero se preguntaba qué es el número máximo de direcciones de salida puede enviar con una transacción bitcoin?

+911
Fielding Mellish 27 abr. 2013 17:55:27

Todo se viene abajo con mucho cuidado acerca de la cartera de seguridad. La más segura es la menos conveniente será para usted. En este caso de su cartera va a ser sólo tan seguro como tu cuenta de dropbox (descifrado de la cartera es sólo una cuestión de tiempo).

Ahorro de la cartera cifrada en su PC tampoco es que seguro. Si realmente se preocupan por lo que usted puede almacenar en una memoria usb con linux sistema operativo instalado en él (en Lugar de mantenerlo en el PC). De esa manera El sistema operativo con el monedero tiene acceso a la internet sólo por un breve tiempo cuando usted realiza una transacción. Esta no es una forma conveniente para realizar una transacción, pero es la mejor que yo conozco.

+876
Dimethylmercury 24 ago. 2015 3:34:06

Asumir un minero recibe un nuevo bloque de conexión de un compañero. Por favor me corrija si estoy equivocado: El minero valida la recién recibido de bloque antes de usarlo sí mismo y enviar a sus otros pares conectados. He oído hablar de esto, pero a mí me parece que sería una mejor estrategia para usar el bloque de la mina en la parte superior de la misma debido a que el bloque de encabezado y de la prueba de trabajo asociado con él es muy rápido para comprobar y es altamente improbable que alguien hizo un bloque de encabezado con un pequeño hash para un inválido bloque. Entonces, ¿por qué mantener minería en la parte superior del bloque anterior?

¿Cuánto tiempo dura este proceso suele tardar? ¿Qué dependen? Se hace especializadas de la minería del hardware o en un propósito general de la CPU?

Es correcto que el bloque de tiempo de validación de la toma es lineal para el bloque de + testigo del tamaño de segwit activar?

También: ¿Cuánto tiempo tarda en promedio para un bloque que se propagan a través de la red? Sería genial si ese promedio es ponderado en la recepción de los mineros hash poderes.

+829
Glueon 11 feb. 2014 12:55:01

Este es un problema interesante, que ha sido estudiado y discutir dentro del bitcoin comunidad bastante.

La forma básica de hacer esto es seguir la pista de un normalizada TXID a lo largo de la real TXID utilizados en el protocolo. Entonces, para calcular la normalizado de IDENTIFICACIÓN de la transacción, usted serializar:

  • Con las entradas' txids reemplazados por sus normalizado de la transacción
  • La eliminación de la scriptSigs (como los que son de la más maleable partes de una transacción)

La única salvedad es que esto no tiene que ser hecho por coinbase las transacciones, como la scriptSig no es maleable (puesto que ya está en un bloque) y no hay ningún verdadero txids en las entradas. Usted también no desea eliminar el scriptSig de la coinbase transacción debido a que contiene a la altura de la cuadra (por BIP34), que garantiza el TXID (y normalizado TXID) será único. Por lo tanto, para coinbase las transacciones, la normalizado id de transacción es el mismo que el id de transacción (nTXID == TXID).


Nota: esto es un montón de trabajo para mantener la pista de la normalización de los Identificadores de cada una de las transacciones. No ha sido implementado en Bitcoin Core, sin embargo, y a implementar su propia versión de este puede ser desperdiciador de tiempo.

Si usted puede garantizar que el conjunto de salidas en todas las transacciones dentro de su sistema será único (es decir, usted está utilizando la nueva recepción de direcciones y nuevo cambio de direcciones para cada una de las transacciones), entonces usted podría ser capaz de utilizar un hash de un conjunto de salidas como un identificador único. Esto sería más específico para su caso, como una solución temporal mientras Bitcoin Core todavía no tiene soporte para normalizada de los identificadores de transacción.

Algunos recursos adicionales:

+823
Neal Hone 18 abr. 2012 1:04:33

sólo sentarse y esperar ;)

https://blockchain.info/en/tx/5bf37f4f40b4f47c9f5f66e4de2f788ccb366c038c8a1184f68f1984d4bc8e9f

Estimado De Tiempo De Confirmación Muy Pronto (Prioridad Alta)

+798
6jaw 29 jul. 2012 22:55:52

Es seguro para el siguiente?

Supongamos que yo no quiero que el HD de la billetera, pero yo quiero la comodidad de usar palabras mnemotécnicas para recordar la clave privada. Sé que puedo convertir la clave privada de la representación hexadecimal de byte de formato de la que puedo obtener en formato binario, a partir de ahí puedo seguir BIP-39 para generar 24 palabras que están representados por que la clave privada (porque en general se utilizan las direcciones al azar de la producción de una de 256 bits de la palabra, que es equivalente a 24 palabras). Puede que ahora uso estos "mnemotécnica" palabras para recordar mi clave privada, y por ignorar completamente (ya que siempre puedo usar estas palabras para volver a la clave privada). Supongo que lo que estoy preguntando es si hay casos donde las diferentes claves privadas pueden producir la misma colección, de 24 de palabras.

+783
pimajor 7 mar. 2018 16:14:02

Ejecutar bitcoin-qt desde la línea de comandos y redirigir el error y la salida estándar a un archivo :

bitcoin-qt 2>&1 /ruta/a/su/log/archivo

compruebe el archivo de registro para encontrar lo que está pasando ..

Usted puede ver el archivo de registro en tiempo real en la pantalla, escribiendo :

tail-f /ruta/a/su/log/archivo
+781
monozok 21 sept. 2013 14:08:06

Recién extraído bitcoins no "costo" nada (estoy simplificando - hay costos, tales como la electricidad y el costo de la minería de hardware).

Nuevos bitcoins son simplemente descubierto por el minero que tiene la suerte de descubrir. El concepto es similar a la búsqueda de oro en el suelo. Una vez que encuentre el oro, que los lleve a un mercado y venderlo a alguien que quiere oro, y está dispuesto a ofrecer dinero a cambio de oro. En el caso de bitcoin, un minero se ejecuta un gran número de ecuaciones matemáticas la búsqueda de una respuesta que coincida con la dificultad de los requerimientos, y otros criterios técnicos. Una vez que la respuesta se encuentra, un bloque es producido contiene la respuesta junto con un número de nuevos bitcoins. El minero luego mantiene el nuevo bitcoins, o negocia para otras divisas.

+736
Malissa 7 sept. 2012 7:25:21

para determinar si están siendo detectados correctamente, utilice el 'lsusb' comando.

Aquí es lo que se debe buscar como si su sistema está detectando correctamente (corro de la mina en una máquina virtual con Ubuntu:

$ sudo lsusb
[sudo] password para majorminer:
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Ratón Virtual
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 de la Fundación Linux 2.0 concentrador de raíz
Bus 002 Device 001: ID 1d6b:0001 la Fundación Linux 1.1 concentrador de raíz
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB luz
Bus 002 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB luz
Bus 002 Device 007: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB luz
Bus 002 Device 008: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB luz
Bus 002 Device 009: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB luz

Asegúrese de que sean detectados por el minero mediante el uso de sudo bfgminer -S todos los d? -- He encontrado esto para ser mucho mejor en linux que cgminer.

A continuación, iniciar el minero con sudo bfgminer -o $de la piscina.va.aquí -u $USUARIO -p $PASSWORD-S todos

+732
user37308 5 dic. 2018 12:11:02

Según la Wiki, el gettransaction <txid> de llamadas devolución de un objeto JSON con la siguiente información

"cantidad" : monto total de la transacción
"confirmaciones" : número de confirmaciones de transacción
"txid" : el ID de la transacción
"el tiempo" : el tiempo asociados con la transacción[1].
"detalles" - Un array de objetos que contengan:
"cuenta"
"dirección"
"categoría"
"cantidad"
"tarifa"

Ahora sólo uso getblockcount y restar "confirmaciones" de el objeto JSON.

+679
Ruhm 8 jun. 2015 1:11:53

Retirada de este uno https://github.com/GMX9/Crypto-Exchange-PHP Se basa, desde un cambio de forma instantánea de exchange que se puede utilizar libremente

+666
bantya 17 ene. 2011 8:08:53

Esta pregunta es casi lo contrario de Cómo encontrar el cambio / dirección del remitente dado un txid?

Si estoy haciendo una transacción con createrawtransaction cómo puedo definir el cambio (remitente) dirección?

+646
Amin Abdulle 14 dic. 2014 6:15:17

Bloque de exploradores conocer cierta información sobre sus carteras porque pertenecen a entidades públicas con las direcciones conocidas.

Otras carteras son conocidos porque Bitcoin carteras suelen seguir un patrón de gasto, donde es muy fácil de relación entre las salidas y las entradas pertenecientes a la misma cartera.

Por ejemplo:

  • en la mayoría de las transacciones de todas las entradas que pertenecen a la misma cartera
  • si una transacción tiene una salida de 0.5 (o cualquier otro número redondo) BTC y una salida de 0.158293 (o cualquier otro número redondo) es probable que la segunda salida de la máquina generado y pertenece a la cartera del remitente
+598
outluch 2 jun. 2013 0:54:48

¿Cómo se puede escuchar de una transacción en una dirección específica? Estoy trabajando en la construcción de una red de rayos de atalaya y la primera cosa que necesita hacer es detectar cuando alguien cierra un canal.

+598
user310629 22 ago. 2019 0:35:01

En el proceso de minería de cada minero va a crear un bloque con las operaciones que se encuentran en la piscina y se iniciará el cálculo de nonce, el minero con mayor hash poder terminar el trabajo primero y anunciar el bloque.

Cuando el proceso se inicia a los mineros comenzará el cálculo de nuevo(el más lento y más rápido), imaginemos que tenemos 2 piscinas de minería y la más lenta de las necesidades de 2 horas para calcular un nonce y la rapidez de 2 minutos, la ventana de 10 minutos tendrá un ganador y el más lento es necesario iniciar el caculation de nuevo.

¿Cómo funciona la lotería de trabajo para resolver este problema?

+565
JAyenGreen 8 mar. 2013 0:46:52

Por último, he realizado con éxito un raw de transacciones con Python y esta es la última cosa que es totalmente mistic para mí.

En mi caso, he aquí la entrada de la transacción y el bloqueo de secuencia de comandos es:

OP_DUP OP_HASH160 dab3cccc50d7ff2d1d2926ec85ca186e61aef105 OP_EQUALVERIFY OP_CHECKSIG

Por qué es necesario para configurar el desbloqueo de secuencia de comandos a la entrada del bloqueo de secuencia de comandos antes de firmar? A mi entender, todas las cosas deberían funcionar bien incluso con en blanco bloqueo de secuencia de comandos, porque en realidad estamos firma sólo otros parámetros. Desbloqueo de secuencia de comandos y el desbloqueo de secuencia de comandos de longitud será cambiado de todos modos, así que ¿cuál es la razón?

+563
Math1000 10 may. 2012 1:54:31

Pensé que alguien dijo en este foro que el Bitcoin red de pantallas de cero de tarifa de transacción de las transacciones-porque son "polvo" de las transacciones y si alguien pudiera presentar cero-transacción-tasa de transacciones, la gente podría empezar un ataque DOS y obstruir el sistema. Entonces me topé con este sitio web que muestra las tasas para las transacciones enviadas

https://bitcoinfees.earn.com/

Y en realidad, hay un puñado de cero costos de transacción (así como un par de 1-10 Satoshi honorarios de transacción). ¿Cómo es esto posible? ¿A alguien jugar con el sistema y obtener sus transacciones en la cuenta?

+488
Black Campbell 7 abr. 2018 17:12:43

Si el costo del hardware o de la eficiencia se eleva, la minería, el poder va a entrar en la red, y la dificultad va aumentando, manteniendo la tasa de bitcoin producción estable - este es uno de los elementos clave de diseño de bitcoin. Así, podría decirse que nada debe suceder para que el precio de los bitcoins debido al abaratamiento de la mejor manera de minería de hardware.

+478
Himanshu Upadhyaya 27 abr. 2017 3:26:11

Estoy tratando de crear un BitcoinJ aplicación basada en que los relojes existentes en la cartera (creado en Electrum) y hace las cosas cuando las transacciones venir a través en contra de esa cartera.

Como yo lo entiendo, necesito crear un BitcoinJ cartera por la alimentación de mi Electrum monedero "Viendo la Clave", y parece que, para ello, necesito de alguna manera la carga de mi Electrum cartera en BitcoinJ para que yo pueda llamar getWatchingKey() en ella.

El problema es que no puedo comprender cómo importar mi Electrum cartera en BitcoinJ - he BIP32-formato públicas y privadas keystrings (de testnet, así que empezar con tpub y tpriv respectivamente), pero simplemente no puedo comprender cómo convertir estas cadenas en una Cartera objeto en BitcoinJ. Cualquier ayuda sería muy apreciada.

EDITAR

Como alternativa, podría importar la Clave mediante el uso de la Semilla...pero estoy supone que el suministro de la Semilla del momento de la creación (en Unix forma)...¿qué es eso de la información y para que sirve? Yo no lo tengo, así que he estado trabajando bajo el supuesto de que no puedo utilizar la Semilla.

+439
Peter Breede 29 oct. 2011 12:22:39

Por desgracia no hay apps están permitidos. Mejor que puedes hacer es utilizar un navegador web.

+410
Borja 2 sept. 2012 3:04:44

Es una reserva de valor.

Eso significa que se está reservado para futuras ampliaciones, pero por ahora no hay reglas al respecto. Se aconseja no utilizar para nada, ya que puede entrar en conflicto con su uso posterior.

+315
Leonard M 17 may. 2015 16:52:07

Estoy mirando para ver el total de descargas para Multibit como lo fue en el Coindesk artículo a principios de este año. Idealmente me gustaría verlos por mes. Las fuentes a las que existe?

+155
Jonauz 19 nov. 2017 9:04:56

Hay un montón de referencia de "bitcoin nodo" en el FAQ oficial o en otro lugar.

Pero, ¿qué es exactamente un nodo bitcoin ?

Es un cliente como Bitcoin-qt o es sólo un minero ? O ambos ?

+132
Iron bro 11 oct. 2015 2:44:47

¿Cómo puede un bloque de retención de ataque se realiza, cuál sería su propósito y que es un peligro?

Edit: cuando me envió esto, yo estaba pensando acerca de la retención de un bloque que se extrae en una piscina. Pero la retención de bloques puede formar la base para muchos de los diferentes ataques. Creo que esto sigue siendo útil como una pregunta abierta. Es un concepto central en bitcoin de seguridad.

+120
womp 3 oct. 2014 15:37:12

Supongamos que tengo una dirección con un solo UTXO. Quiero crear 100 transacciones y firmar/broadcast a todos ellos a la vez. Podría yo hacer lo siguiente:

  1. Crear una transacción con la mano (donde el cambio de los fondos se envían a la dirección del remitente)
  2. Calcular el ID de transacción
  3. Utilice el ID de la transacción y el cambio UTXO índice de salida para crear la segunda transacción
  4. Vaya al paso 2

Hasta puedo crear 100 transacciones? Supongo que mi pregunta se reduce a: ¿Es posible calcular el TXID de una materia de la transacción antes de que sea firmado o transmitido?

Gracias!

+106
SINCd 001 6 feb. 2013 21:34:51

También puede utilizar el #bitcoin-otc canal en el IRC:

+73
Nick vP 23 ago. 2014 12:53:13

Mostrar preguntas con etiqueta