Dominar Blockchain en poco tiempo, parte 2: implementación de Inteligencia de datos de PlatoBlockchain. Búsqueda vertical. Ai.

Dominar Blockchain en poco tiempo, parte 2: implementación

Purbaryandi

En esta serie de artículos, crearemos una criptomoneda simplificada basada en una implementación simple de blockchain en Golang en menos de 5 minutos. Primero debes instalar Golang para realizar este proyecto. para el editor de texto puedes usar cualquier cosa, aquí uso código de Visual Studio.

Dominar Blockchain en poco tiempo, parte 2: implementación de Inteligencia de datos de PlatoBlockchain. Búsqueda vertical. Ai.
fuente: bitgrado

¿Lo instalaste? Muy bien, ¡hagámoslo!

si has creado el proyecto crea un archivo main.go. Bueno, vamos a codificar, primero comenzaremos desde main.go. Comencemos con la parte de estructura Block de "blockchain". En la cadena de bloques, bloquea la información valiosa que se almacena. Por ejemplo, bitcoin bloquea las transacciones de las tiendas, la esencia de cualquier criptomoneda. Además de esto, un bloque contiene información técnica, como su versión, marca de tiempo actual y el hash del bloque anterior. En este artículo no vamos a implementar el bloque como se describe en las especificaciones de blockchain o Bitcoin; en cambio, usaremos una versión simplificada del mismo, que contiene solo información importante. Esto es lo que parece. aquí tenemos un bloque de estructura:

escriba estructura de bloque {

Timestamp es la marca de tiempo actual (cuando se crea el bloque), transactions es la información valiosa real contenida en el bloque, prevhas almacena el hash del bloque anterior, y Hash es el hash del bloque. En la especificación de Bitcoin Timestamp, prevhashy Hash son encabezados de bloque, que forman una estructura de datos separada, y transacciones (transaction en nuestro caso) es una estructura de datos separada. Así que los mezclaremos aquí por simplicidad.

Entonces, ¿cómo calculamos los hashes? La forma en que se calculan los hashes es una característica muy importante de blockchain, y es esta característica la que hace que blockchain sea segura. El caso es que calcular un hash es una operación computacionalmente difícil, lleva algo de tiempo incluso en computadoras rápidas (por eso la gente compra GPU potentes para extraer Bitcoin). Se trata de un diseño arquitectónico intencionado, que dificulta la adición de nuevos bloques, evitando así su modificación una vez añadidos. Discutiremos e implementaremos este mecanismo en un artículo futuro.

Por ahora, simplemente tomaremos campos de bloque, los concatenaremos y calcularemos un hash SHA-256 en la combinación concatenada. Hagamos esto en Newhash método:

func NewHash(tiempo tiempo.Tiempo, transacciones []cadena, prevhash []byte) []byte {

A continuación, siguiendo una convención de Golang, implementaremos una función que simplificará la creación de un bloque y finalizará:

func Bloques (transacciones []cadena, prevhash []byte) *Bloque {

Continuamos creando una función de impresión. la función de impresión es útil para imprimir el contenido de cada bloque que realiza una transacción. aquí está el código:

func Imprimir(bloquear *Bloquear) {

Y función de transacción para imprimir transacción:

func Transacción(bloque *Bloque) {

Una vez completadas todas las funciones requeridas, lo usaremos en la función principal:

func main () {

Bueno, todo el código que hemos terminado de escribir. Ejecutémoslo escribiendo go run main.go en la terminal. Producción :

Conclusión

Construimos un prototipo de cadena de bloques muy simple: es solo una serie de bloques, y cada bloque tiene una conexión con el anterior. Sin embargo, la cadena de bloques real es mucho más compleja. En nuestra cadena de bloques, agregar nuevos bloques es fácil y rápido, pero en la cadena de bloques real, agregar nuevos bloques requiere algo de trabajo: hay que realizar algunos cálculos pesados ​​antes de obtener permiso para agregar bloques (este mecanismo se llama Prueba de trabajo). Además, blockchain es una base de datos distribuida que no tiene una única persona que tome decisiones. Así, un nuevo bloque debe ser confirmado y aprobado por otros participantes de la red (este mecanismo se llama consenso). ¡Y todavía no hay transacciones en nuestra cadena de bloques!

Source: https://medium.com/@purbaryandi/mastering-blockchain-in-no-time-part-2-implementation-433dc7967fe8?source=rss——cryptocurrency-5

Sello de tiempo:

Mas de Mediana