Trufa VS Geth, cual es mejor? [cerrado]

He usado tanto trufa como geth para probar mis contratos.

Para mí, la trufa parece ser más abstracta (por lo tanto, menos flexible) y más fácil de usar para probar.

Sin embargo, cuando nos movemos a geth, estamos usando web3 para comunicarnos con un contrato implementado.

Pregunta 1: ¿Cuál es un mejor entorno cuando estamos desarrollando Dapp en el mundo real?


En general, ¿cuáles son sus pros y sus contras?

Hola. Voy a sugerir que esto se cierre ya que está basado en opiniones. Las preguntas que conducen a respuestas diferentes y subjetivas no son adecuadas para este sitio. Un profesional para una persona puede ser una estafa para otra, y así sucesivamente. Reddit podría ser un mejor lugar para preguntar: reddit.com/r/ethdev
Estás mezclando cosas: geth es un cliente ethereum (habla con la red ethereum), web3.js es una biblioteca para interactuar con un cliente ethereum desde javascript (puede interactuar con geth o parity), truffle es un marco para desarrollar contratos (debajo usa web3.js y ganache), ganache (anteriormente testrpc) es un cliente ethereum usado para la depuración.

Respuestas (1)

TestRPC - Simulador de Ethereum

Geth - Cliente de Ethereum

  • recibir bloque de otro cliente/nodo y validarlo.
  • enviar bloque a otros nodos.
  • Tome la transacción de Dapp a través de Ws-rpc, json-rpc, ipc-rpc.
  • Implementar y ejecutar la transacción.
  • habilitación de minería

Trufa - Marcos Dapp

  • proporcionar cli para la tarea del desarrollador
  • desarrollo basado en pruebas con mocha y chai
  • ejecución local de contratos con entorno trufero.
  • objeto javascript como abstracción de contratos.

Usted escribe el contrato, lo compila y para las pruebas necesita implementar el contrato en ethereum blockchain. Entonces, cuando comience a escribir un contrato, use truffle para crear un entorno de desarrollo de contratos, de modo que pueda acelerar su desarrollo al implementarlo en el simulador de ethereum. Si usa geth en el momento del desarrollo, debe esperar 1 minuto porque cada implementación del contrato se destinará a la minería.

Entonces, sugiero que en el momento del desarrollo use testrpc. Una vez que lo haya terminado, use geth para la implementación de contactos porque le permite ver más de cerca cómo funciona la cadena de bloques.

gracias por la respuesta. Estoy de acuerdo con casi todo el texto que has proporcionado. Sin embargo, falta una pieza: ¿Por qué no usaríamos la trufa para casos de uso del mundo real? Por lo tanto, creo que su respuesta no responde completamente a la pregunta anterior.