Para ser un desarrollador de Blockchain o para ser un desarrollador de Dapps.

in #blockchain5 years ago

Como una tecnología revolucionaria, blockchain ha abierto claramente una nueva área de desarrollo llamada blockchain. Esto, a su vez, crea muchos puestos de trabajo para desarrolladores y entusiastas de la tecnología. Incluso con tan excelentes oportunidades de trabajo, las personas a menudo están confundidas acerca de la dirección que deben tomar los desarrolladores de blockchain, y muchas personas me dijeron que quieren ser desarrolladores de blockchain cuando organizan eventos y enseñan blockchains. Sin embargo, no están tan seguros de que cuando les hice algunas preguntas y les dije qué debían estudiar. La razón principal es que no saben qué es el ámbito de trabajo del desarrollador de blockchain y no saben qué diferencia hay entre el desarrollador de blockchain y el ingeniero de aplicaciones distribuido (Dapp Developer).

1_Cm7Hod96LP5hrUt3JRyyFw.png

Por lo tanto, decidí escribir este artículo para ayudar a aquellos que quieren ingresar al desarrollo de blockchain a confirmar su función, y la esperanza puede ser de ayuda.

Ok, déjame enumerar los temas que discutiré en este artículo:

Tipo de desarrollador de blockchain
El papel de los desarrolladores de blockchain
Habilidades técnicas requeridas para convertirse en un desarrollador de Blockchain
Aplicación descentralizada vs contrato inteligente
En los últimos años, en realidad me han hecho esta pregunta en muchas ocasiones: "¿Cómo convertirme en un desarrollador de blockchain, qué desarrollo de lenguaje debería aprender?" Básicamente, cualquier desarrollador involucrado en el desarrollo de tecnología de blockchain puede ser etiquetado como desarrollador de blockchain, pero Los desarrolladores de blockchain ahora deben dividirse en dos tipos diferentes. Tomemos un momento para discutir ambos tipos.

Tipo de desarrollador de blockchain
Como acabo de especificar, hay dos tipos de desarrolladores de blockchain, a saber:

desarrolladores de corechain blockchain)
Desarrollador de aplicaciones descentralizado
Los desarrolladores principales de blockchain son los principales responsables del desarrollo de la arquitectura del sistema blockchain, cómo diseñar protocolos, el diseño de protocolos de consenso y otros procesos avanzados de toma de decisiones y desarrollo relacionados con la tecnología blockchain. - Los desarrolladores de aplicaciones descentralizadas utilizan la arquitectura y los protocolos diseñados por los desarrolladores de Core Blockchain para construir aplicaciones descentralizadas que se ejecutan en tecnología blockchain.

Desarrolladores Core Blockchain
Como se mencionó anteriormente, un desarrollador central de blockchain generalmente está involucrado en el diseño, la arquitectura y la seguridad de un sistema blockchain. En resumen, sus roles incluyen los siguientes:

Diseño de protocolos blockchain.
Diseño de protocolos de consenso y patrones de seguridad para la red.
Diseño de la arquitectura de red.
Supervisión de toda la red.
lenguaje de programación principal:

Ve largo
Moho
C ++
Java
Desarrollador de aplicaciones descentralizado
Los desarrolladores de software Blockchain tienen un conjunto separado de roles. Estos roles no tienen nada que ver con el diseño de consenso o la arquitectura del sistema. Al igual que un desarrollador web normal utiliza los protocolos y la estructura de diseño configurada por un arquitecto web central para crear aplicaciones web, los desarrolladores de software blockchain crean aplicaciones descentralizadas o Dapps utilizando la tecnología blockchain. Sus roles incluyen:

Desarrollo de Contratos Inteligentes.
Desarrollo de diseños frontales interactivos para Dapps.
Desarrollo de backend perteneciente a blockchain
Supervisión de toda la pila ejecutando sus Dapps.
Lenguaje de programación principal:

Móvil
Rect-nativo (開發 錢包)
Swifi
Androide
Web
Reaccionar
Angular
Backend
JAVA
DO#
Contrato inteligente
Trufa
Solidez
Ascua
Éter
Habilidades técnicas requeridas para convertirse en un desarrollador de Blockchain
Cuando se habla de un desarrollador de blockchain, la persona espera una combinación de habilidades. Vamos a discutirlos uno por uno.

Arquitectura blockchain
Los desarrolladores de blockchain deben tener una buena comprensión de la blockchain, su trabajo y arquitectura. Al igual que las funciones criptográficas hash, el consenso, las técnicas de contabilidad distribuida. La mejor manera de familiarizarse con la tecnología de blockchain es a través del documento técnico de la cadena de bloques de Bitcoin, pero aprobar un informe completo puede ser una tarea tediosa. Un poco de orientación siempre ayuda a mejorar la curva de aprendizaje. Se recomienda leer al menos los bits. El papel blanco de la moneda y el libro amarillo de Ethereum.

Estructuras de datos
Cuando quiera ser un desarrollador de blockchain, es necesario el conocimiento profundo y el significado de la aplicación de la estructura de datos. Los desarrolladores de blockchain están constantemente girando y adaptando las estructuras de datos existentes, tales como árboles Merkle, árboles de petrecia, etc., para cumplir con los requisitos de transmisión de la red de blockchain. Blockchain utiliza una gran cantidad de estructuras de datos y técnicas avanzadas de encriptación para construir un sistema seguro y no modificable. El conocimiento sobre blockchain solo puede considerarse no calificado si la estructura de datos no se conoce.

Criptografía
Blockchain es una combinación de estructura de datos y criptografía avanzada, por lo que está claro que los desarrolladores de blockchain deben tener un buen conocimiento de la criptografía. Además del cifrado asíncrono para generar firmas digitales, hay muchos métodos de cifrado (como SHA256 y KECCAK256) para usar en blockchains. Si no entiendes cómo funcionan, no puedes ser un desarrollador de blockchain.

Desarrollo de contrato inteligente
Desde el lanzamiento de Ethereum, los contratos inteligentes se han convertido en un gran negocio. Ahora, cada blockchain intenta integrar la funcionalidad de contrato inteligente en su sistema para que la lógica de negocios se pueda aplicar fácilmente a la blockchain. Por lo tanto, los desarrolladores que están tratando de ingresar al campo de la cadena de bloques deben comprender definitivamente el desarrollo de contratos inteligentes. Por lo general, esto requiere aprender idiomas específicos de la red, como Solidity, Viper, Chaincode, etc. Una cosa a tener en cuenta aquí es que la redacción de contratos inteligentes parece simple, pero en realidad es necesario prestar atención a la acumulación de experiencia, por ejemplo, si Los contratos inteligentes pueden interactuar con contratos inteligentes o solo permiten que las cuentas de usuario interactúen con contratos inteligentes o si el monto de la moneda criptográfica excederá el límite superior o si puede aceptar valores negativos, etc.

Billetera
Las carteras a menudo se pasan por alto durante el desarrollo, pero son importantes. Cómo crear una cartera de usuario y cómo mantener la cartera de usuario para proteger las claves privadas y las semillas. Aunque muchos artículos actualmente requieren que los usuarios protejan sus propias carteras, en escenarios comerciales, todavía necesitan crear carteras y administrar carteras en el lado del servidor. Recomendado para comprender las carteras BIP32, BIP39, BIP44, de firma múltiple y de hardware, etc.

Desarrollo web
El desarrollo web es un aspecto central de un desarrollador de blockchain. Cuando una persona comienza su carrera como desarrollador de blockchain en la industria, la mayoría de ellos están empleados para el diseño básico de aplicaciones descentralizadas. Esto significa que debe conocer los aspectos básicos del desarrollo tanto de front-end como de back-end, que incluye elementos como la creación de interfaces gráficas de usuario interactivas para Dapps, manejo de API, manejo de solicitudes, etc.

Aplicación descentralizada vs contrato inteligente
¿Hay alguna diferencia entre Dapps y contratos inteligentes? Los Dapps se pueden ejecutar mediante contratos inteligentes. Los contratos inteligentes se pueden usar para crear tokens simples sin uso o ecosistema del mundo real, o como un back-end para grandes proyectos como las llamadas proxy. Dapps es el epítome de las aplicaciones descentralizadas. Dapps es un sitio de "aplicaciones de blockchain" donde los contratos inteligentes le permiten conectarse a blockchains. Dapps es muy similar a las aplicaciones web tradicionales. La parte frontal utiliza exactamente la misma tecnología para renderizar la página. Una diferencia esencial es que no tiene una API para conectarse a la base de datos, sino que se conecta a la cadena de bloques a través de un contrato inteligente. La forma más fácil de entender esto es entender cómo funcionan los sitios web tradicionales.

Las aplicaciones web tradicionales utilizan HTML, CSS y javascript para representar páginas. También necesita usar la API para obtener información detallada de la base de datos. Cuando ingrese a Facebook, la página llamará a la API para obtener sus datos personales y los mostrará en la página.

Puedes pensar en un sitio web de este tipo:

Frontend → Backend / API → Base de datos

1_42XQS9F6_bBABlqXd9Pgng.png

Dapp es muy similar a las aplicaciones web tradicionales. La parte frontal utiliza exactamente la misma tecnología para renderizar la página. Una diferencia clave es que Dapps no está conectado a la API de la base de datos sino al contrato inteligente que se conecta a la cadena de bloques.

Puedes pensar en Dapp así:
Front End → Smart Contract → Blockchain

1_LI_AleHxI9U59kJHFPPE7w.png

Aunque parezca simple, la experiencia de usuario y la lógica empresarial de Dapp y las aplicaciones web tradicionales serán muy diferentes y difíciles de superar.

Para ser un desarrollador de Blockchain o para ser un desarrollador de Dapps
Aprendizaje
El desarrollador principal de blockchain será más difícil, ya que actualmente no hay un tutorial completo que cubra todos los desarrollos de blockchain y todas las características desarrolladas recientemente son innovadoras, con pocos recursos adicionales a los que hacer referencia, y el desarrollador de Dapps es relativamente simple. Las principales funciones y desarrollos no son muy diferentes de las aplicaciones tradicionales actuales. Solo necesita saber cómo interactuar con blockchain y los contratos inteligentes, ya sea móvil o en línea. También hay relativamente muchos recursos de desarrollo.

Salario
El desarrollador de Blockchain debería ser más alto que el desarrollador de Dapps, que es difícil de encontrar para los desarrolladores de Blockchain. Sin embargo, de acuerdo con la situación actual, muchos empleadores no deberían saber la diferencia entre el desarrollador de Blockchain y el desarrollador de Dapps, así que busque trabajo rápidamente.

Característica
Si bien el salario del desarrollador de blockchain básico es más alto que el de un desarrollador de software distribuido (desarrollador Dapps), no es necesariamente mejor que un desarrollador de aplicaciones de software descentralizado (desarrollador Dapps) en el futuro. Personalmente creo que hay dos razones principales:

Actualmente no se requieren muchos tipos de blockchains: ¿Cuántas blockchains tienes que hacer? No lo sé, pero muchos de ellos ahora se están modificando en nuevas blockchains o Ethereum mediante el uso de la versión Ethereum blockchain. La cadena privada está en línea con el modelo de negocios que necesitan, como el proyecto Krisflyer de Singapore Airlines, por lo que la necesidad de reconstruir una nueva cadena de bloques debería ser cada vez menor.
La limitación de habilidades del desarrollador de Blockchain: los desarrolladores de Dapps pueden volver al desarrollo de aplicaciones de software tradicionales. Esto se debe a que la brecha entre el desarrollo tradicional y el desarrollo descentralizado no es tan grande. Sin embargo, las habilidades de los desarrolladores principales de Blockchain solo se pueden limitar a varias industrias o incluso a varias aplicaciones.
Por ejemplo, desarrollar una base de datos y desarrollar aplicaciones de software es diferente. Es difícil desarrollar una base de datos (no DBA) por usted mismo, pero es más fácil desarrollar una aplicación de software por sí mismo.

Interesante
Si te apasiona crear aplicaciones diferentes o buscar nuevos desafíos, debes ser un desarrollador de Dapps. Y si desea especializarse en la construcción de una nueva arquitectura, debería ser mejor para el desarrollador de Blockchain.

Conclusión
Esta es puramente mi opinión personal. Después de todo, las capacidades humanas pueden extenderse indefinidamente. No debemos limitarnos a ser un desarrollador de blockchain básico o un desarrollador de Dapps. Mientras esté calificado para completar sus necesidades, espero que este artículo lo ayude a comprender el estado de los desarrolladores de blockchain e identificar los roles que desea desempeñar.

PD: cuando más y más aplicaciones de blockchain también estén representadas, la demanda de DevOps y TI también aumentará. El blockchain también se mantiene y se despliega. En cuanto a cómo implementar y mantener una cadena de bloques, todavía estoy aprendiendo! Compartiré mi experiencia después de haber hecho algunos proyectos.