cuando llamo getwork en mi servidor bitcoind, me sale el siguiente: no parece(bitcoin) Calcula el hash de la función getwork - ¿cómo hacerlo?
./bitcoind getwork
{
"midstate" : "695d56ae173bbd0fd5f51d8f7753438b940b7cdd61eb62039036acd1af5e51e3",
"data" : "000000013d9dcbbc2d120137c5b1cb1da96bd45b249fd1014ae2c2b400001511000000009726fba001940ebb5c04adc4450bdc0c20b50db44951d9ca22fc5e75d51d501f4deec2711a1d932f00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
"hash1" : "00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000",
"target" : "00000000000000000000000000000000000000000000002f931d000000000000"
}
Este protocolo de documentarse. ¿Cómo calculo el hash a partir de estos datos? Creo que esta información está en little endian. ¿Entonces el primer paso es convertir todo a big endian? Una vez hecho esto, calculo el sha256 de los datos. Los datos se pueden dividir en dos trozos de 64 bytes cada uno. El hash del primer plato lo da el estado medio y, por lo tanto, no tiene que calcularse.
Debo, por lo tanto, hash el chunck # 2 con sha256, utilizando el midstate como los valores hash iniciales. Una vez hecho esto, termino con un hash de fragmento 2, que es de 32 bytes. Calculo el hash de este pedazo una vez más para obtener un hash final.
¿Luego, convierto todo en little endian y envío el trabajo?
¿Para qué se utiliza hash1?