¿Cómo contribuir a Bitcoin Core?
Clase 6 de 19 • Curso de Bitcoin Core y Script
Resumen
Tal vez te sientas abrumado con la cantidad de temas técnicos que tienes que conocer para trabajar con Bitcoin Core y creas que es imposible para ti contribuir. Esto no es así, con un poco de esfuerzo y encontrando el camino, podrás ser parte de este mundo y poner tu granito de arena.
Las personas detrás de Bitcoin Core
Las personas que están por detrás de BItcoin Core, son personas normales como tú. Seguro que hay algún que otro genio, pero la gran mayoría son entusiastas y apasionados por la tecnología y el mundo Blockchain que aportan lo suyo desde su experiencia y conocimiento, ya sea técnico o no.
Cómo contribuir a la comunidad de Bitcoin
Espero no desalentarte cuando te diga que saber comunicarte en inglés es casi una obligación. Podrás encontrar comunidades y material en español, pero gran parte del contenido de Bitcoin Core lo encontrarás en inglés.
El repositorio del proyecto
Puedes comenzar conociendo el repositorio de Bitcoin Core, creando una copia en tu computador, correr un nodo y ejecutar las pruebas de forma local que están escritas en Python.
En el repositorio del proyecto encontrarás cientos de issues esperando a ser resueltos. Bugs, mejoras o simples cambios a los cuales puedes aportar con tus Pull Request.
Muchos repositorios OpenSource dividen sus issues en categorías de dificultad y urgencia. Algunos issues tienen una etiqueta llamada ““Good First Issue”” que son tareas muy sencillas, ideales para ser tu primera contribución al código del proyecto.

Documentación oficial de Bitcoin Core
La documentación oficial de Bitcoin Core para desarrolladores también es un excelente punto para comenzar a interiorizarte sobre su funcionamiento. También encontrarás más documentación de la cual apoyarte dentro del propio código fuente.
Canales de comunicación
Bitcoin Core ofrece múltiples canales de comunicación a los cuales puedes sumarte de forma gratuita para comenzar a interactuar con la comunidad y participar de la misma.
Chats y eventos en vivo
Encontrarás un chat IRC a través de Livera.Chat bajo el nombre #bitcoin-core-dev
.
¿Qué es IRC?
IRC (Internet Relay Chat) es un protocolo de comunicación para el intercambio de mensajes entre dos o más personas en tiempo real sin necesidad de que estas establezcan una conexión previa. Si participas de un canal IRC, recibirás todos los mensajes de sus usuarios y ellos los tuyos.
También puedes unirte a los PR Review Club, reuniones semanales donde la comunidad de Bitcoin resuelve pull request en vivo y aprender cómo desarrollar tu código y qué tener en cuenta para contribuir y resolver issues.
Foros, newsletter y discusiones
Dentro del propio repositorio del proyecto, encontrarás en cada issue o en cada pull request discusiones de los participantes. Apóyate de estos comentarios para aprender más sobre el funcionamiento técnico de Bitcoin y las cosas que están pasando.
Puedes suscribirte a una lista de correos para recibir por ese medio información relacionada con Bitcoin Core y hacer tus propios aportes o publicaciones.
Seguramente conoces el foro de desarrolladores Stack Overflow. Bitcoin tiene Bitcoin Stack Exchange, el lugar ideal para resolver tus dudas técnicas y ayudar con los problemas que surjan a otros programadores.
Cómo contribuir si no eres programador
Si no eres desarrollador de software, o tal vez tus intenciones son aportar desde otro punto de vista, hay una variedad de posibilidades que puedes considerar para también formar parte de Bitcoin Core y contribuir.
- Embajador: los embajadores son personas que conocen muy bien cómo funciona Bitcoin y utiliza su conocimiento para ayudar y asesorar a los demás.
- Traductor: hay mucha documentación y gran parte está en inglés. Puedes aportar traduciendo la misma al español u otros idiomas.
- Mejoras en la documentación: la documentación puede tener errores, no ser clara o tal vez puede ser mejor. Puedes aportar documentando procesos, explicaciones, tutoriales, etc.
- Puebas: si eres tester y sabes Python, puedes aportar escribiendo pruebas unitarias o funcionales.
- Reportes de issues: si estás corriendo tu propio nodo o desarrollando una aplicación y encuentras un problema, crea un issue en GitHub para comenzar una discusión o pedir ayudar por el mismo.
- Participar de foros, discusiones, etc.: participa de los canales de comunicación. Si hay eventos en tu ciudad o tienes la posibilidad de viajar, acércate para hacer networking y conocer gente con tus mismos intereses.
Problemas a los cuales la comunidad se enfrenta
Bitcoin tiene sus problemas. Podría pensarse que los mismos son el consumo eléctrico, el tamaño de los bloques, la escalabilidad de la red o el funcionamiento del protocolo de consenso. Pero no, el verdadero problema de Bitcoin es la falta de talento calificado para trabajar en el proyecto.
Hay muchas personas que entienden cómo funciona Bitcoin, pero no tienen el conocimiento técnico para hacerlo evolucionar, solucionar problemas, etc.
Habilidades como desarrollador de software
Si quieres aportar desde la parte técnica desarrollando el Core de Bitcoin, tienes que tener conocimiento en lenguajes de programación como C/C++ y Python. Es indispensable conocer Git y GitHub y saber manejar sistemas operativos Linux.
También será muy importante entender cómo funciona la concurrencia y la asincronicidad
Te recomendamos tomar los siguientes cursos:
Curso de C++ Básico
Curso de Fundamentos de Python
Curso Profesional de Git y GitHub
Curso de Administración de Servidores Linux
Posiblemente, no vayas a ser desarrollador del Core de Bitcoin en sí, pero puedes contribuir desarrollando aplicaciones para permitir a los usuarios utilizar estas tecnologías.
No necesitas un conocimiento profundo en Bitcoin Core para aportar lo tuyo. Es importante conocer el funcionamiento básico de una transacción, de una wallet o de Blockchain en general. Haber interactuado con proyectos cripto, intercambiado BTC o tener experiencia con dApps.
El mundo Blockchain también necesita de expertos en desarrollar interfaces gráficas Web3 y, si eres diseñador, la experiencia de usuario es un punto clave para ayudar a los usuarios a adoptar estas tecnologías y usar las aplicaciones.
Curso de Desarrollo Frontend de Aplicaciones Descentralizadas con Web3.Js
Curso de UX para DeFi: Diseñando los Servicios Financieros del Futuro
Conclusión
La contribución a Bitcoin no es algo imposible. Todas las personas que participan en algún momento no sabían por dónde comenzar o cómo empezar a contribuir.
Si realmente es tu interés participar de este ecosistema, seguro encontrarás tu lugar y cómo contribuir al crecimiento de Bitcoin.
Contribución creada por: Kevin Fiorentino (Platzi Contributor).