La plataforma de blockchain de Bitxor se construye a partir de una red de nodos. Estos nodos proporcionan una plataforma potente, estable y segura donde se realizan transacciones de Smart Assets, se realizan b煤squedas y se registran de forma inmutable en el libro mayor de la blockchain.
La arquitectura de cuatro capas permite a los desarrolladores actualizar cualquiera de estas capas sin interrumpir las dem谩s, lo que mejora la seguridad.
Repositorio: Cliente BitxorCore
Los nodos pares forman la columna vertebral de la blockchain, lo que hace que la red sea robusta ya que no puede ser cerrada eliminando una 煤nica entidad. El papel del nodo es verificar transacciones y bloques, ejecutar el algoritmo de consenso, crear nuevos bloques y propagar los cambios a trav茅s de la red.
Los nodos de la API env铆an nuevas transacciones a la red P2P, donde son incluidas en un bloque o descartadas. Despu茅s de que se procesa el bloque, el nodo guarda:
El binario de cada bloque como un archivo plano en el disco.
El estado de la cadena actualizado en la memoria o en RocksDB (configurable).
Los nodos pares almacenan el estado de la cadena en RocksDB. Las estructuras de datos en cach茅 se serializan y almacenan como valores en las claves correspondientes. Por ejemplo, una columna en esta base de datos mapea las claves p煤blicas a las direcciones. Otra columna, las entradas del estado de la cuenta, son los valores correspondientes a las claves de direcci贸n.
Almacenar el estado en la memoria es m谩s r谩pido que usar RocksDB. Sin embargo, almacenar la informaci贸n del estado en RocksDB requiere menos memoria de los nodos de la red.
Note
Persistir el estado en RocksDB es conveniente en redes con un gran n煤mero de cuentas.
Las redes p煤blicas permiten que cualquiera ejecute un nodo. Algunos de estos nodos podr铆an compartir informaci贸n inv谩lida o intentar perturbar la red.
Para reducir los intentos de comunicaci贸n err贸nea, los nodos llevan un registro de los resultados de las comunicaciones anteriores. Cada nodo con capacidades P2P lleva un contador de 茅xito y un contador de fallos para cada otro nodo par con el que ha interactuado.
Los nodos actualizan los contadores en consecuencia despu茅s de procesar los datos solicitados. Si un nodo se conecta correctamente a un nodo par remoto, incrementa primero el contador de 茅xito hacia el nodo par remoto. Si el intento de comunicaci贸n falla, el nodo incrementa el contador de fallos del nodo par remoto. De manera similar, el nodo actualiza los contadores de los pares despu茅s de procesar los datos compartidos.
Extrapolando a partir de estas puntuaciones, el nodo asigna un peso entre 500 y 10000 a cada par alcanzado.
La probabilidad de seleccionar un nodo remoto para leer datos depende linealmente de su peso. Cada cuatro rondas de selecci贸n de nodos, los criterios cambian para evitar ataques Sybil.
Repositorio: Cliente BitxorCore
La responsabilidad principal de un nodo de API es almacenar los datos en una forma legible en MongoDB. El software bitxorcore-client permite configurar nodos de API independientes o con capacidades de nodos pares (dual).
En lugar de escribir los datos directamente en MongoDB, los nodos los escriben en una cola basada en archivos llamada spool
.
Un servicio de intermediario consume los datos de la cola y actualiza MongoDB en consecuencia.
Una vez que se procesa un bloque, el servicio de intermediario notifica los cambios a las instancias de bitxorcore-rest utilizando ZMQ.
Los nodos de la API tambi茅n son responsables de recopilar las cosignaturas de transacciones de enlace agregadas, que solo se procesan una vez que est谩n completas.
MongoDB almacena bloques, transacciones y estados de la cadena para un alto rendimiento de consultas.
El servicio de intermediario actualiza la instancia de MongoDB vinculada cuando:
Se completa un nuevo bloque o un conjunto de bloques.
Se completa el procesamiento de nuevas transacciones no confirmadas.
Note
No se debe acceder a MongoDB externamente.
ZeroMQ es una biblioteca de mensajer铆a as铆ncrona que permite suscripciones en tiempo real. Transporta notificaciones desde el nodo de API hasta el punto final de ZMQ, donde BitxorCore REST escucha. Es una alternativa a los WebSockets REST, dise帽ada para ser utilizada cuando el rendimiento es cr铆tico.
Repositorio: BitxorCore REST
Las pasarelas REST manejan las solicitudes de clientes de la API JSON. La pasarela lee desde MongoDB, formatea la respuesta y la devuelve al cliente. Este componente tambi茅n es responsable de devolver eventos al cliente utilizando WebSockets.
Cada pasarela REST se conecta a una instancia de API para enviar solicitudes de nuevas transacciones desencadenadas desde el lado del cliente y recibir actualizaciones en tiempo real utilizando sockets.
Configuraci贸n de su estaci贸n de trabajo
Title overline too short.
Create a new Bitxor account to start sending and receiving transactions.
Obtener la informaci贸n de la cuenta
Title overline too short.
Env铆o de tokens y mensajes entre dos cuentas
Defina, firme y anuncie una transacci贸n de transferencia.
Env铆o de m煤ltiples transacciones juntas
Title overline too short.
Creaci贸n de un contrato de dep贸sito en garant铆a
Title overline too short.
Firmar autom谩ticamente transacciones agregadas enlazadas
Title overline too short.
Conseguir un bloque por altura
Title overline too short.
Title overline too short.
Esta gu铆a te mostrar谩 c贸mo configurar una cuenta conjunta.
Registro de un espacio de nombres
Title overline too short.
Agregar un nuevo firmante a una cuenta multisig
Title overline too short.
Eliminaci贸n de un firmante de una cuenta multisig
Title overline too short.
Modificando la aprobaci贸n m铆nima de una cuenta multisig
Title overline too short.
Cofirmar transacciones de bonos agregados
Title overline too short.
Convirtiendo el anuncio de transacci贸n asincr贸nica en sincr贸nica
Fragmento 煤til para anunciar una transacci贸n y esperar hasta que se confirme.
Creaci贸n de un subespacio de nombres
Title overline too short.
Crear una cuenta de multisig de varios niveles
Title overline too short.
Title overline too short.
Intercambio at贸mico entre cadenas de bloques p煤blicas y privadas
Title overline too short.
Leyendo transacciones de una cuenta
Obt茅n la lista completa de transacciones que involucran una cuenta.
Modificar el suministro de tokens
Title overline too short.
Obteniendo la cantidad de activos enviados a una cuenta
Title overline too short.
Env铆o de una transacci贸n multisig
Title overline too short.
Vincular un espacio de nombres a un token
Title overline too short.
Vincular un espacio de nombres a una direcci贸n
Title overline too short.
Obtener la informaci贸n del espacio de nombres
Title overline too short.
Obtener la informaci贸n del token
Title overline too short.
Prevenci贸n de ataques de spam con restricciones de cuenta
Title overline too short.
Title overline too short.
Ampliaci贸n del per铆odo de registro de un espacio de nombres
Title overline too short.
Obtener el identificador de activos detr谩s de un espacio de nombres con recibos
Title overline too short.
Restricci贸n de transferencias de tokens
Title overline too short.
Delegar restricciones de tokens a un tercero
Permita que otra cuenta agregue restricciones a sus tokens.
Asignaci贸n de metadatos a una cuenta
Title overline too short.
Asignaci贸n de metadatos a un espacio de nombres
Title overline too short.
Agrega datos personalizados a un token.
Title overline too short.
Title overline too short.
Adjuntar entradas de metadatos a una cuenta
Obtenga la lista de entradas de metadatos adjuntas a una cuenta.
Obtenci贸n de restricciones globales de token adjuntas a un token
Title overline too short.
Adjuntar entradas de metadatos a un espacio de nombres
Title overline too short.
Obtenci贸n de restricciones de direcci贸n de token adjuntas a una cuenta
Title overline too short.
Obtener entradas de metadatos adjuntas a un token
Title overline too short.
Actualizando entradas de metadatos
Title overline too short.
Adjuntar las restricciones de la cuenta a una direcci贸n
Obtenga la lista de restricciones de la cuenta.
Hay una gran cantidad de configuraciones relacionadas con la red que se pueden personalizar en Bitxor.
Title overline too short.
Aprende c贸mo acceder a la instancia de MongoDB de tu nodo API.
Agregando firmas conjuntas a transacciones completas agregadas
Title overline too short.
How to use this handy node deployment tool.
Activaci贸n de la recolecci贸n delegada utilizando la Billetera de Escritorio
Title overline too short.
Activando la cosecha delegada manualmente
Title overline too short.
Activando la recolecci贸n remota
Title overline too short.
Title overline too short.
C贸mo ejecutar un nodo Bitxor con mayor seguridad.
Configuraci贸n de nodos sin custodia
Title overline too short.
Recuperando el suministro global de tokens
Title overline too short.
C贸mo mantener su nodo Bitxor en funcionamiento de manera saludable.
Title overline too short.