La altcoin personalizada no se sincronizará con el nodo y tampoco aceptará una conexión de minero

Bifurqué la fuente de BlackCoin, cambié los puertos, generé el bloque de génesis, merkle, bla, bla, bla. Configuré un nodo en un servidor de DigitalOcean y compilé mi demonio de monedas allí, así como en mi máquina local. Los dos demonios de monedas se reconocen entre sí, puse addnode en el archivo conf, también puse rpcuser, rpcpassword y rpcport en cada archivo conf.

Mi programa coin-qt en mi máquina local reconoce que tiene 1 conexión a la red, pero por alguna razón no deja de sincronizarse, aunque solo se haya creado el bloque génesis. Todavía dice fuera de sincronización. El demonio de mi servidor todavía se está sincronizando también.

Cuando llamo a getwork, ambos devuelven valores. Esto es lo que se devuelve:

{
"midstate" : "79f67436791f93f3eadc9926a8578baddfe15eebe894a6a59ba11fdfb889cef3",
"data" : "00000006edc7bd4e9e7c221bfcc052f25c28c6483d77e1c04ddce735d5a04ba000000ff977168febeac231c7109f85dc43cd9461b7763f9057bb3983622ff0986885b7d9539a6a001e0fffff00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
"hash1" : "00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000",
"target" : "000000000000000000000000000000000000000000000000000000ffff0f0000"
}

Si trato de llamar a minerd y señalarlos a la billetera local o al nodo, así:

./minerd --url=http://127.0.0.1:14632 -u user -p password

o

./minerd --url={My Node IP}:14632 -u username -p mypassword

¡me da un error!

Específicamente:

para el cliente local:

Unrecognized block version: 6
json_rpc_call failed, retry after 30 seconds

y el nodo:

HTTP request failed; connect() timed out!
json_rpc_call failed, retry after 30 seconds

¿Algunas ideas? Estoy muy cerca y me gustaría resolver esto!

EDITAR : entré en main.h y cambié el valor de static const int CURRENT_VERSION6 a 1. Esto parece haber solucionado el problema de json. En cuanto al servidor, simplemente me había olvidado de abrir el puerto rpc y no solo el puerto.

Sin embargo, mi programa cliente *coin-qt continuamente dice 'fuera de sincronización' y simplemente dice 'poniéndose al día'. descargó 0 bloques del historial de transacciones. el último bloque fue hace 2 días.' Ese es el bloque de génesis.

Dado que BlackCoin usa un algoritmo de cifrado estándar, creo que minerd debería poder extraer esta moneda. Parece funcionar bien, pero recibo todos los 'abucheos' cuando hago minería.

Esta es la salida en mi computadora portátil:

@crypto:~$ minerd -a scrypt --url=http://{{node ip}}:14632 -u user -p {{somepass}} --coinbase-addr={{address}} [2014-06-13 12:43:11] 
[2014-06-13 12:43:11] Binding thread 0 to cpu 0
[2014-06-13 12:43:11] 2 miner threads started, using 'scrypt' algorithm.
[2014-06-13 12:43:11] Binding thread 1 to cpu 1
[2014-06-13 12:43:12] thread 0: 4104 hashes, 4.76 khash/s
[2014-06-13 12:43:12] thread 1: 4104 hashes, 4.52 khash/s
...
[2014-06-13 12:45:58] thread 1: 756 hashes, 4.60 khash/s
[2014-06-13 12:45:58] accepted: 0/1 (0.00%), 9.33 khash/s (booooo)
[2014-06-13 12:46:02] thread 1: 18408 hashes, 4.71 khash/s

No entiendo por qué no acepta nada. Esta moneda usa scrypt, al igual que BlackCoin. ¿Algunas ideas?

github.com/anengineerinchina/TestCoin Ingresé a main.h y cambié la versión del bloque en la clase CBlock de 6 a 1. Minerd parece estar funcionando ahora, pero la billetera no dejará de sincronizarse por alguna razón.
agregó una actualización
Ok, algo es muy extraño. En mi coin-qt local, minerd ahora está funcionando. Usé esta consulta: ./minerd --url=127.0.0.1:{{rpcport}} --userpass=user::{{pass}} -P -D --coinbase-addr={{mylocaladdress}} Todo está trabajando y está encontrando bloques. Mi nodo también está detectando estos cambios y se está sincronizando. Sin embargo, estaba recibiendo todos los 'abucheos' en minerd, recompilado y funcionó por alguna razón. Tan extraña. Voy a volver a compilar el código de mi nodo ahora para ver si funcionará, ya que todavía recibo rechazos.

Respuestas (1)

Aunque esto es bastante antiguo, pensé que al menos debería proporcionar mi conocimiento sobre esto, aunque muestra "0" bloques de historial de transacciones y continuamente indica que se está poniendo al día, sin embargo, está actualizado, dependiendo de las circunstancias. Primero, debe abrir "checkpoints.cpp" y eliminar todos los puntos de control del archivo (estarán en algún lugar de las primeras 20 líneas, se explica por sí mismo) y crear un punto de control en 0 con el hash del bloque génesis: el punto de control del bloque de génesis. Después de hacer eso, reconstruya ambos clientes, conéctelos y, en lugar de usar minerd (o equivalente), use "setgenerate" a través de la consola durante al menos 1 bloque. Después de ese bloque 1, debería poder usar minerd (o equivalente). Espero que esto te ayude