P2Pool bloquea el cliente de Bitcoin

Quería probar la minería P2Pool, así que instalé el Bitcoin más nuevo (0.5.2, también lo probé con 0.5.1).

Desafortunadamente, cuando inicio run_p2pool.exe, ¡mi Bitcoin colapsa inmediatamente!

Mi sistema operativo: Win7 x64

¿Algunas ideas?

Pase por el canal #p2pool en freenode IRC y la gente amable intentará ayudarlo.
¿Podría publicar los errores específicos que obtiene? Es muy difícil solucionar problemas a través de la telepatía;)
Antes de mi edición, leí el título como "Algo que hizo P2Pool hizo que el mercado de Bitcoin colapsara" :)
Parece que tuve que esperar a que mi Bitcoin se sincronizara completamente con la red. Después de eso no volvió a fallar. En mi humilde opinión, bitcoin-qt.exe no debería bloquearse en un caso como este.
¿Informaste esto como un error en el rastreador de errores de Bitcoin? ( github.com/bitcoin/bitcoin/issues/new ). p2pool no debería poder hacer que bitcoind se bloquee, intente hacer lo que intente hacer. En lugar de solucionar esto usando una configuración extraña, deberíamos intentar solucionar el problema subyacente.
Si trato de ejecutar p2pool mientras bitcoin-qt 0.5.2 está descargando bloques en Linux, veo una excepción en la salida de p2pool, que termina con "p2pool.util.jsonrpc.Error: -10 Bitcoin está descargando bloques...". Si ejecuto "bitcoind getwork" en la línea de comando, veo: 'error: {"code":-10,"message":"Bitcoin is downloading blocks..."}'. Supongo que lo primero que intentaría si alguna de mis computadoras tuviera Windows sería ejecutar "bitcoind.exe getwork" mientras bitcoin-qt.exe está descargando bloques y ver si eso también hace que se bloquee.

Respuestas (1)

Escribí una solución a este problema hace dos días:

Cómo usar p2pool con un bitcoind independiente que lo acompaña

(dado que la versión gui de Windows de bitcoin 0.5.1 falla con frecuencia cuando se usa con p2pool)

Suposiciones:

Sistema operativo : Windows 7

Bitcoin : última versión estable instalada y en funcionamiento: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.1/bitcoin-0.5.1-win32-setup.exe/download

p2pool : estará un poco fuera de lo común con esta configuración, ya que está especificando la dirección de bitcoin para enviar bitcoins generados y no está utilizando la segunda billetera de procesos de bitcoin

  1. Descargue el último código actual de p2pool y extráigalo a "%programfiles%\p2pool" - https://github.com/forrestv/p2pool/zipball/master

  2. Descargue e instale la última versión de Python 2.7 (si obtiene 64 bits, necesitará versiones de 64 bits de los paquetes a continuación): http://www.python.org/download/

  3. Descargue e instale el paquete de extensión de python twisted - http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

  4. Descargue e instale el paquete de extensión de Python zope.interface - http://www.lfd.uci.edu/~gohlke/pythonlibs/#zope.interface

  5. Descargue e instale el paquete de extensión python pil - http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil

  6. Descargue e instale el paquete de extensión de python pygame - http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil

  7. Abra su cliente de GUI de Bitcoin si no se está ejecutando y genere una nueva dirección, tome nota de la dirección generada y cierre su cliente de GUI de Bitcoin

  8. Edite su "%appdata%\bitcoin\bitcoin.conf" existente y, a menos que sepa lo que está haciendo, cambie lo que haya a esto y, si el archivo no existe, créelo:

    logtimestamps=1
    
  9. Cree la carpeta "%programfiles%\p2pool\bitcoind-data"

  10. Cree "%programfiles%\p2pool\bitcoind-data\bitcoin.conf" con su editor de texto favorito y rellénelo con esto:

    server=1
    logtimestamps=1
    port=18333
    rpcport=18332
    rpcuser=bitcoinusername
    rpcpassword=bitcoinpassword
    rpcallowip=*
    
  11. Tome nota del nombre de la carpeta del último código p2pool actual: está en "%programfiles%\p2pool"

  12. Cree "%programfiles%\p2pool\p2pool.cmd" con su editor de texto favorito y complételo con esto:

    @echo off
    title p2pool
    echo.
    echo running p2pool ...
    echo.
    C:\Python27\python.exe "%programfiles%\p2pool\folder-name-of-the-latest-current-p2pool-code\run_p2pool.py" --net bitcoin --address yourbitcoinaddresshere --bitcoind-address 127.0.0.1 --bitcoind-rpc-port 18332 --bitcoind-p2p-port 18333 bitcoinusername bitcoinpassword
    echo.
    echo p2pool stopped.
    echo.
    pause
    
  13. p.ej.

    @echo off
    title p2pool
    echo.
    echo running p2pool ...
    echo.
    C:\Python27\python.exe "%programfiles%\p2pool\forrestv-p2pool-4f6c2e2\run_p2pool.py" --net bitcoin --address 12uN6G1uAtn7G29qfTdLD9des4y63Whr61 --bitcoind-address 127.0.0.1 --bitcoind-rpc-port 18332 --bitcoind-p2p-port 18333 bitcoinusername bitcoinpassword
    echo.
    echo p2pool stopped.
    echo.
    pause
    
  14. Cree "%programfiles%\p2pool\bitcoind.cmd" con su editor de texto favorito y complételo con esto:

    @echo off
    title bitcoind
    echo.
    if exist "%programfiles%\bitcoin\daemon\bitcoind.exe" (set programfilesx86=0)
    if exist "%programfiles(x86)%\bitcoin\daemon\bitcoind.exe" (set programfilesx86=1)
    if %programfilesx86%==0 (goto :programfiles)
    if %programfilesx86%==1 (goto :programfilesx86)
    echo ERROR! bitcoind.exe not found in either "%programfiles%\bitcoin\daemon\" or "%programfiles(x86)%\bitcoin\daemon\" - giving up!
    echo.
    pause
    goto:eof
    :programfiles
    echo running bitcoind.exe from "%programfiles%\Bitcoin\daemon\" ...
    "%programfiles%\Bitcoin\daemon\bitcoind.exe" -datadir="%programfiles%\p2pool\bitcoind-data"
    echo.
    echo bitcoind stopped.
    echo.
    pause
    goto:eof
    :programfilesx86
    echo running bitcoind.exe from "%programfiles(x86)%\Bitcoin\daemon\" ...
    "%programfiles(x86)%\Bitcoin\daemon\bitcoind.exe" -datadir="%programfiles%\p2pool\bitcoind-data"
    echo.
    echo bitcoind stopped.
    echo.
    pause
    
  15. elemento de la lista

  16. Copie blk*.dat de %appdata%\bitcoin a %programfiles%\p2pool\bitcoind-data

    Run "%programfiles%\p2pool\bitcoind.cmd"
    Run "%programfiles%\p2pool\p2pool.cmd"
    

Ahora debería poder minar en su máquina a 127.0.0.1:9332 o a la IP de su máquina en el puerto 9332 en su LAN :)