Agregar pares de red privada a Parity

Si es posible, me gustaría usar la paridad con mi red ethereum privada.

Esta respuesta ( https://ethereum.stackexchange.com/a/9148/4575 ) nos brinda una solución que gethse ejecutará en segundo plano y parityextraerá información de geth.

[P] ¿Es posible ejecutar solo parity( gethno se ejecutará en segundo plano) que se conecte a la red privada de Etheum y haga minería, implemente contratos, envíe transacciones, etc.?

En caso afirmativo, hay algún tutorial bien explicado relacionado con la adición de pares de redes privadas a Parity y hacer que Parity se conecte a la cadena de la red privada en lugar de a la cadena pública de ethereum.

¿Este enlace podría ayudarme? https://github.com/ethcore/parity/wiki/Configuring-Parity . En caso afirmativo, ¿en qué parámetros debo centrarme para cambiar? Además, ¿cómo podría agregar admin.addPeer("enode://<id>@<ip>:<port>?discport=0");y proporcionar el --networkidto Paritypara permitir que se conecte a la red privada como podríamos hacer en geth?

Ejemplo usando gethlo siguiente, puedo conectarme a mi red privada:

id="<enodeId>";
datapath="/MyEthereumEbloc"
geth --networkid 23422 --datadir="$datapath" --rpccorsdomain '*' --rpc --rpcaddr "localhost" --rpccorsdomain="*" --rpcport="8545"--bootnodes enode://$id@<ip>:<port>

Tenga en cuenta que no pude encontrar ningún tutorial relacionado con parityla conexión a la red privada de ethereum, lo que podría ser muy útil.

Gracias por su valioso tiempo y ayuda.

Respuestas (2)

No estoy seguro si entendí bien tu pregunta. Suponiendo que tiene una red privada que se ejecuta con 5 clientes en la identificación de la red 13337y myGenesis.jsonla configuración de la cadena.

  • enode://0000..0001@192.168.178.101:36541
  • enode://0000..0002@192.168.178.102:36542
  • enode://0000..0003@192.168.178.103:36543
  • enode://0000..0004@192.168.178.104:36544
  • enode://0000..0005@192.168.178.105:36545

Agregue estos nodos a un archivo, digamos myPrivateNetwork.txt, una entrada por línea:

enode://0000..0001@192.168.178.101:36541
enode://0000..0002@192.168.178.102:36542
enode://0000..0003@192.168.178.103:36543
enode://0000..0004@192.168.178.104:36544
enode://0000..0005@192.168.178.105:36545

Y posteriormente, ejecute Parity con --chain myGenesis.json --network-id 13337 --reserved-peers myPrivateNetwork.txt --reserved-only. O agréguelo al archivo de configuración:

[parity]
chain = "myGenesis.json"

[network]
id = 13337
reserved_only = true
reserved_peers = "./myPrivateNetwork.txt"

Esto establecerá una red privada que contendrá solo sus nodos:

--reserved-peers FILE        Provide a file containing enodes, one per line.
                             These nodes will always have a reserved slot on top
                             of the normal maximum peers. (default: None)
--reserved-only              Connect only to reserved nodes. (default: false)

Agregar pares reservados también funciona desde la consola Web3 emitiendo:

api.parity.addReservedPeer('enode://0000..0007@192.168.178.107:36547')

Tenga en cuenta que debe habilitar la parityAPI json rpc.

También puede ejecutar una cadena de desarrollo privada con parity --chain dev.

Gracias @5chdn Lo siento si mi pregunta no es clara. No es necesario reservar enodes, cualquier par puede conectarse a la red privada. Estaba tratando de explicar eso: sé el --network-idy enode://<id>@<ip>:<port>?discport=0del nodo que me permitirá conectarme a la red privada. Al usar gethpuedo conectarme a él. Entonces, me preguntaba al usar la misma información y la cadena de datos creada por geth, ¿podría parityconectarse a la red privada?
Claro, solo vea mi respuesta y configure reserved_onlyen false.
¿El myGenesis.jsonarchivo es el mismo CustomGenesis.jsonque el utilizado en geth init CustomGenesis.json? por ejemplo: gist.github.com/avatar-lavventura/…
No, Parity usa un formato ligeramente diferente, pero hay una herramienta para convertir geth genesis en parity genesis. En algún lugar.
@5chdn ¿Cómo podría abrir la consola Web3 para agregar a mi par? La gethconsola funcionaba pero en parity, parity consoleno existe
@5chdn, seguí toda su orientación pero no pude conectarme a mi cadena privada :(. La forma en que ejecuto la paridad: parity --chain parity.json --network-id 23422 --bootnodes enode://<enode-id>@<IP>:<port#>da el siguiente resultado 2017-03-17 15:56:19 0/ 0/25 peers 5 KiB db 7 KiB chain 2 KiB queue 4 KiB syncpero no pasa nada.
Consola de paridad: ethereum.stackexchange.com/questions/13196 / Es mejor usar pares reservados en lugar de bootnodes.
@5chdn siento seguir molestándote. parity --chain parity.json --network-id 23422 --reserved-peers myPrivateNetwork.txtparece que no funcionó tan bien en mi caso :( Cuando uso geth puedo agregar el par como admin.addPeer("enode://enode@IP:port?discport=0");, pero la paridad tampoco acepta ?discport=0dentro de myPricateNetwork.txt.
Tal vez deberías hablar con Gitter y podemos solucionar esto :)

Para agregar un par reservado a través de la API JSONRPC, puede hacerlo con:

curl --data '{"method":"parity_addReservedPeer","params":["enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@22.99.55.44:7770"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545

Asegúrese de tener parity_sethabilitada la API JSONRPC.

También puede llamarlo directamente desde la consola de Parity con:

api.parity.addReservedPeer("enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@22.99.55.44:7770")

Para esto, asegúrese de tener parity_sethabilitada la API de DApps.