Para resumir, quiero configurar una cadena privada/una cadena de bloques de testnet que pueda ejecutarse localmente solo para manipularla y jugar con ella solo para aprender cómo funciona. Así que tengo una comprensión general de cómo funcionan las cosas y pensé que para aprender realmente necesitaría aplicar ingeniería inversa y jugar con ella tanto como pueda.
Entonces, ¿cómo haría eso? Lo que estoy buscando es, idealmente, una explicación paso a paso clara y fácil de usar para principiantes porque estoy apuntando a cadenas de bloques escritas en javascript (lisk, nimiq) o en python (bismuto)
Permítanme primero decirles lo que pensé o lo que pienso sobre las formas de hacerlo. Me imagino que tendría que:
Ahora, con respecto a esos pasos, tengo algunas preguntas:
Gracias
La pregunta excede ligeramente las capacidades de este foro de preguntas y respuestas. Tal vez sea mejor buscar bitcointalk.org, allí este tipo de solicitudes se discuten a menudo. ¡Únase a una de las discusiones allí!
De todos modos, necesitamos desarrolladores y personas con mentes frescas. Aquí mi oportunidad corta en bitcoin, porque estamos en el foro de preguntas y respuestas de bitcoin. Probablemente querrás crear una altcoin de él. Seguro que la información relevante y el enlace al código están en bitcoin.org .
Para lograr sus objetivos, tendría que tener una idea y, a veces, un conocimiento excesivo sobre lo siguiente:
Information Security
Overview of current crypto coin technologies
Finite Fields
Elliptic Curves
Elliptic Curve Cryptography
Signing/Verifying Messages
Parsing Transactions
Signing Transactions
Creating Transactions
Script parsing and processing
Address construction/Private Key WIF Format Construction
Extended Keys (XPriv and XPub)
Parsing Blocks
Validating Proof-of-Work
Difficulty Calculations
Merkle Tree Construction
Merkle Proofs
Network Message Parsing
y tal vez
Segwit
Lightning
Altcoin
...
La lista puede ser sin duda ampliada :-) Así que eliges una curva de aprendizaje empinada. Por lo que leí en tu mensaje, creo que (todavía) no estás allí, pero eso no es un problema. Probablemente querrás leer libros como "Mastering Bitcoin" de Andreas y algunos más. Ellos te pondrán al día.
Si piensa en los entornos (como Ethereum o IOTA), dudo que muchos desarrolladores estén aquí para brindar apoyo.
1) decidir qué blockchain existente se parecería más a lo que tengo en mente en términos de algoritmo de consenso
esto es algo no podemos ayudarte, ya que no has presentado nada. ¿Quiere utilizar el poder y los esfuerzos de la comunidad para sacar adelante su proyecto, pero no proporciona información a la comunidad ocultando su lógica e ideas? En general: aquí tenemos mucha curiosidad por nuevas ideas :-)
2) descargar si desde github
ver los enlaces en bitcoin.org
3) establecer un entorno de desarrollo
Tomas una máquina Linux e instalas el software, lo compilas y ves cómo te va. Alternativamente, puede probar suerte en otro sistema operativo, pero el soporte es mucho mejor en los sistemas unixoide. También el uso de máquinas virtuales es muy atractivo.
4) ejecutar diferentes pruebas y dejar que mi cerebro haga su magia
de nuevo, esto depende de su mente cómo hacerlo. Pero hay casos de prueba entregados con el software, por lo que puede encontrar el código relevante para él, adaptarlo a sus requisitos y listo.
Altamente Irregular
Altamente Irregular
Willtech