Ilustrator - LOGO KEYMINING_azul sin fondo

WEB CRIPTOGRAFICA

Para crear un sitio web de criptomonedas usando Binance, vamos a seguir estos pasos básicos:


Planificación del sitio web: Que características específicas deseamos que tenga nuestro sitio web de criptomonedas.Queremos que nuestros usuarios puedan comercializar, ver gráficos de precios en vivo, depositar y retirar dinero de sus cuentas de Binance y de nuestra billetera.


Registro de API de Binance: Debemos registrarnos en Binance y obtener las credenciales de API para acceder al servicio de comercio de criptomonedas.Este nos permite interactuar con la plataforma Binance desde nuestro sitio web. 


Desarrollo de sitios web: Vamos a desarrollar nuestra billetera tecnologías web como HTML, CSS, JavaScript y lenguajes de programación backend como Node.js, Python, PHP.Vamos a utilizar marcos como React, Angular o Vue.js para crear interfaces de usuario interactivas y responsivas.


Integración de API de Binance: Utilizaremos las credenciales de API que se obtienen de Binance para conectarse a nuestra API desde nuestro sitio web.Para facilitar esta integración, Vamos a utilizar bibliotecas específicas del lenguaje de programación que estaremos utilizando. 


Implementaremos la funcionalidad de criptomonedas: Agregaremos la funcionalidad de criptomonedas que hemos planificado en el paso 1. Por ejemplo, permitiremos a los usuarios ver sus saldos de criptomonedas, realizar transacciones, ver gráficos de precios en tiempo real y más. 


Seguridad: nos aseguramos de que existen prácticas de seguridad estrictas en el sitio, especialmente al interactuar con criptomonedas y materiales financieros.Esto incluye el uso de conexiones seguras (HTTPS), cifrado de datos, autenticación de usuarios, prevención de ataques de inyección SQL, etc. 


Pruebas y depuración: realizaremos pruebas exhaustivas de nuestro sitio web para garantizar que todas las funciones funcionen según lo previsto y que no haya errores ni problemas de rendimiento.


Implementación: implementaremos nuestro sitio web en un servidor web para que los usuarios puedan acceder a él.Nuestras opciones para utilizar servicios de alojamiento web son AWS, Heroku, Firebase o GitHub.


Mantenimiento y actualizaciones: El mantenimiento de un sitio WEB es tan importante que será nuestra prioridad pudiendo hacer actualizaciones cada día para que así las correcciones se apliquen aumentando la seguridad y el tiempo de transacción.


DESARROLLO


1. REGISTRO


1.1 Para el registro en Nuestra WEB debemos asegurarnos que los usuarios son reales, por lo tanto, iniciaremos con una página solo para el registro donde los usuarios se registrarán con un correo electrónico y una contraseña, al hacer clic en el apartado de aceptar términos y condiciones el usuario está de acuerdo con las políticas, luego debe confirmar con el botón de crear cuenta, una vez dado al botón se cambia la página aceptando o rechazando el registro.


1.1.1 En caso de aceptar el registro saldrá un mensaje que dice que debe confirmar el correo electrónico que se le ha enviado al correo con el que se ha registrado, también debe aparecer un apartado de enviar correo de nuevo en el caso de no haber recibido el correo, aquí también hay que especificar que el correo puede llegar al apartado de SPAM.


1.1.2 En caso de no aceptarlo debe especificar el porqué no ha aceptado el registro:


  • Correo electrónico ya usado.
  • Contraseña muy débil.
  • No ha aceptado los términos y condiciones.


1.2Una vez enviado el correo electrónico, el usuario debe acceder a él, este correo que se le ha enviado especificará “confirmar correo electrónico” validando así el correo del usuario.


1.2.1Cuando se pincha el botón de confirmar correo, este dirigirá al usuario a una nueva ventana donde le solicitará un número de teléfono móvil para una nueva verificación de usuario existente.


1.2.2 El usuario al introducir su número de teléfono se le enviará un código de verificación, el cual debe escribirlo dentro de la plataforma y deberá colocar con exactitud los números que se le han enviado desde la WEB para poder seguir adelante, en caso de no recibir el SMS el usuario tendrá un botón que diga reenviar SMS para así poder seguir con el registro.


2. CUENTA


2.1Cuenta personal o cuenta de empresa: Una vez introducido el código que se ha enviado por SMS y haber sido aceptado, la página redirigirá al usuario a un nuevo apartado donde podrá seleccionar qué tipo de cuenta tiene registrada: Cuenta personal o cuenta de empresa.


2.1.1Cuenta Personal: en la cuenta personal el usuario tendrá un apartado donde se solicitará:


  • Nombre Completo.
  • Apellidos.
  • Fecha de nacimiento.
  • Sexo.
  • País.
  • Dirección.


2.1.2 Comprobación de Datos: Una vez rellenado los datos personales, el usuario tiene que darle al botón de enviar y esos datos serán guardados en la base de datos.

El siguiente paso serán los datos de comprobación de identidad, aquí habrá un nuevo apartado que indicará como debe identificarse el cliente.


2.1.3 En la aportación de datos el cliente puede subir algunos de los siguientes documentos del país donde reside:


  • Carnet de conducir
  • Pasaporte
  • DNI


2.1.4 En otra pestaña se especificará de qué nacionalidad es, allí se podrá escribir el número de Documento de identidad, este debe coincidir con la imagen que envié a la base de datos de la WEB y por última la fecha de caducidad del mismo, Habrá un botón de continuar, al hacer clic aparecerá una nueva pestaña que dice de qué manera hay que insertar el documento de identidad, si se sube desde la nube o desde algún archivo del ordenador y en esta pestaña se debe de todos especificar los parámetros que debe de tener el documento para poder ser admitido por el departamento de admisión (Por ejemplo PDF y el tamaño del mismo). 


Una vez tomada la foto se le da clic en subir para que se suba en el apartado de la plataforma y luego hay que dar clic al botón de continuar.


2.1.5 Una vez cargada la foto del documento, habrá una nueva pestaña que pedirá un selfie, donde se le pide al usuario que sostenga el documento de identidad, una vez tomada la foto le damos al botón de continuar, una vez subido todos los Los datos requeridos existirán un botón de finalizar, el usuario deberá hacer clic en este para que se cierre el proceso de envío de datos y documentos, luego vendrá una nueva pestaña donde se le informará que debe esperar el proceso de verificación para poder manejar su cuenta. ...


2.2 Cuenta de empresa: Este formulario será distinto, ya que los datos principales serán:


  • Nombre de la empresa.
  • Representante Jurídico.
  • Fecha de Constitución.
  • Número de identificación fiscal.
  • País.
  • Dirección.


2.2.1 En otra pestaña se especificará en que país fue constituida la empresa, luego se le pedirá que introduzca el número de registro de la misma y este número debe coincidir con la imagen que envié el usuario a la base de datos, por último se pedirán los datos de la persona responsable de dicha empresa, la cual será la que maneje la cuenta, tendrá un botón de continuar, al hacer clic en este aparecerá una nueva pestaña que dice de qué manera hay que insertar el documento de identidad, si se sube desde la nube o desde algún archivo dentro del ordenador, en esta pestaña debe de especificar todos los parámetros que debe de tener el documento para poder ser admitido por el departamento de admisión.


Una vez tomada la foto hay que dar clic en subir para que se suban los documentos a la página web y vendrá el botón de continuar.


2.2.2 Una vez cargada la foto del documento, habrá una nueva pestaña que pedirá un selfi sosteniendo el documento de identidad de la persona responsable de manejar la cuenta, una vez tomada la foto se le da al botón de continuar, cuando estén subidos todos los datos requeridos vendrán el botón de finalizar, el usuario deberá hacer clic en este para que se cierre el proceso de envío de datos y documentos.Luego vendrá una nueva pestaña donde se le informará al usuario que debe esperar el proceso de verificación para poder manejar su cuenta.


2.2.3 Una vez finalizado el proceso de entrega de datos y documentos, el usuario deberá esperar hasta que sea aprobada la cuenta para poder operar en ella.


2.2.4 El sistema debe de reconocer un doble registro del usuario, cuando un usuario pretende hacer un registro con los datos del documento de identificación que ya están en la base de datos este debe ser rechazado automáticamente, ya que cada usuario deberá presentar su impuesto. ..en el país donde reside y para un mejor trabajo solo debe haber una cuenta por usuario.


2.2.5 Al inicio del registro cuando el usuario pretende usar el mismo correo electrónico que ya está registrado deberá recordar que el correo ya está en la base de datos y hará la sugerencia de recuperación de la cuenta.


2.2.6Igualmente en cuanto este usuario introduzca su número de móvil para el registro y este se encuentre en la base de datos también deberá recordar que este número ya está registrado hará la sugerencia de recuperación de la cuenta.


3. FRENTE


3.1 Dentro de la página, en el FRONTEND será lo más armonioso posible, se comenzará la barra de menú del lado izquierdo:


  • Hogar.
  • Recompensa.
  • Conexión.
  • Piscina.
  • Transacciones
  • Comprar vender.
  • Gobernanza.
  • Comercios.
  • Proyectos.
  • Preguntas frecuentes.
  • Granja.


3.1.1 Inicio: Como se dijo anteriormente, la WEB debe ser armoniosa y tendrá un diseño muy sencillo, en el hogar se tendrá la monetización de nuestro Token como imagen principal, estará el mapa del precio real del Token y la fluctuación que ha tenido Durante el día, pudiendo cambiar a 1 hora ya 1 semana, en caso de que no haya conexión con alguna billetera, tendrá un botón de sugerencia de conexión a la billetera que el usuario desee utilizar.


También habrá la sugerencia para la compra de alguno de los aviones y para la compra de TH/s, de miando en BTC que es el nuestro principal activo.


3.1.2 Recompensas: Este apartado mostrará al usuario cualquier tipo de recompensa que haya tenido dentro de la WEB y que esté activa.


3.1.3 Conexión: El usuario podrá conectar otras billeteras a la WEB para así poder hacer transacciones más fácilmente, en caso de que quiera adquirir otras monedas, una vez conectado solo deberá elegir a que billetera quiere que lleguen sus monedas, el usuario solo pagará la comisión establecida y tendrá su transacción en segundos.


3.1.4 Pool: Dentro del pool el usuario podrá visualizar las monedas y los Tokens que haya adquirido y su monetización, en este apartado el cliente podrá ver su capital real en cada uno de sus activos.


3.1.5 Transacciones: Dentro de las transacciones el usuario podrá observar cada movimiento que haya realizado dentro de la WEB tales como:


  • adquisición
  • Compra.
  • Venta.
  • Intercambio.
  • Transacciones fallidas.


Las transacciones se podrán ver ya que las WEB serán diseñadas con tecnología de cadena de bloques WEB3 de manera que quede registrados todos los movimientos desde la creación del usuario y su contraseña, así el este podrá tener resguardo de sus datos dentro de la cadena de bloques. ..


3.1.6 Comprar y Vender: En este apartado se podrá tanto comprar como vender monedas y Tokens, también se podrá intercambiar o enviar activos a otros usuarios.


3.1.7 Gobernanza: En este apartado se tomarán decisiones que benefician a toda la comunidad, los códigos siempre serán públicos, las iniciativas serán compartidas en este espacio para luego estudiarlas y en caso de ser aprobados aplicarlas a la comunidad.


3.1.8 Comercios: Aquí estarán publicados todos los comercios que quieran trabajar con el Tokens de la plataforma, así los usuarios podrán comprar sus artículos usando sus monedas adquiridas.


3.1.9 Proyectos: Cada vez que inicie un proyecto dentro de la comunidad este será publicado en este espacio, para que los usuarios ya registrados sean los primeros en conocerlo y poder invertir en la fase de fundadores.


3.1.10 Preguntas Frecuentes: Enlace de preguntas frecuentes, también se podría poner un foro donde los usuarios puedan hacer preguntas puntuales.


3.1.11 Granjas: Este apartado será de mucho interés, ya que se publicarán los estados de las granjas, si se ha conseguido crear nuevos generadores eléctricos, si hemos adquirido nuevas máquinas de minería y si se ha renovado las maquinarias con la que trabajamos.

4. BACKEND


Tomaremos como referencia los puntos del FRONTEND y comenzaremos por los tokens que vamos a comercializar.


4.1 Nuestros Tokens: Este token está registrado en BscScan o Binance y debemos vincularlo a la página WEB para que los usuarios puedan especular con la compra y venta del mismo, esta vinculación se puede hacer mediante un “WIDGET” que ofrece la página de BscScan o Binance, en un momento inicial el Token no estará registrado en las billeteras externas, por lo tanto, los usuarios lo podrán cambiar a las monedas que estén designadas en la plataforma y podrán venderlas para poder tener dinero fiat. 


Las plataformas de BscScam y Binance 


4.2 Botones de Compra Venta: Dentro de la billetera se podrá especular con la compra y venta de los activos, por lo tanto, debemos tener en cuenta el tipo de transacción que se podrá realizar inicialmente.Las principales monedas que se van a comercializar dentro de la billetera serán:


  • Bitcoin.
  • BNB.
  • Etéreo.
  • Billetera METAMASK


Los usuarios ya deben de tener los activos en nuestra plataforma para poder comprar nuestro Token, pero primero vamos a explicar la inserción de códigos para la creación de nuestra billetera.

Fuente recogida de binance.


    JS-SDK

    Binance JS-SDK es un conjunto de herramientas de desarrollo web proporcionado por la plataforma de miniprogramas Binance para desarrolladores web.

    Al utilizar Binance JS-SDK, los desarrolladores web pueden utilizar directamente capacidades específicas de Binance, como oauth, pago, etc., para brindar una mejor experiencia web a los usuarios de Binance.

    Paso 1: crea una nueva aplicación.


    Deberíamos crear una nueva aplicación en la plataforma del miniprograma binance, los pasos específicos se pueden encontrar en la sección MPP Usage

    Paso 2: Importar el archivo JS-SDK

    Importe el siguiente archivo JS-SDK en la página donde se debe llamar a la API JS:

    https://public.bnbstatic.com/static/js/binance-sdk/binance-sdk-v1.0.3.min.js

    Y se recomienda que los desarrolladores coloquen el archivo js-sdk en su propia CDN para que puedan brindar a los usuarios una experiencia de velocidad uniforme y controlada.

    Nota: Soporte para usar AMD/CMD

    Paso 3: Verificación de permisos a través de bn.initAPI

    Todas las páginas que necesitan usar JS-SDK deben inyectar información de configuración primero; de lo contrario, no se llamarán otras API

    Nota: Solo es necesario llamar a la misma URL una vez; para el SPA de cambiar la aplicación web de la URL, debemos llamar a bn.init la API cada vez que cambia la URL).

      bn.init({

        debug: true, // open debug mode, will log the input value/return value of all the api

        clientId: '', // requiredunique identifier for developers

        ts: '', // requiredtimestamp of generating signature

        nonce: '', // required, the random string of generating signature

        signature: '',// requiredsignature

      });

Parámetros

Nombre

Tipo

Descripción

depurar

booleano

Abra el modo de depuración, registrará el valor de entrada/valor de retorno de todas las API.

Identificación del cliente

cadena

identificador único para desarrolladores

ts

cadena

marca de tiempo de generación de firma

mientras tanto

cadena

la cadena aleatoria de generación de firma

firma

cadena

firma


El algoritmo de firma específico se puede encontrar en la sección Generar firma JS-SDK


Paso 4: Procesamiento de verificación exitosa a través debn.readyAPI


    bn.ready(function(){

      // your code

      });


    Nota: sibn.init el método se ejecutó correctamente,bn.ready se llamará.bn.init es una operación asincrónica del lado del cliente, por lo que si es necesario llamar a la API relevante cuando se carga la página, se debe llamar a la API en la función lista para garantizar una ejecución correcta.


    para las API que se llaman solo cuando las activa el usuario, se pueden llamar directamente y no es necesario colocarlas en la función lista.


    Instrucciones de llamada API

    Todas las api se llaman a través de unbn objeto con un objeto como argumento, y todas las api devolverán aPromise<{err: string; payload: object}> , la carga útil es el valor de retorno de la api, el error será una cadena vacía si la llamada a la API es exitosa y será el motivo específico del error si la llamada a la API fallido.


    Lista de API.

    obtener información del sistema

    Obtenga la información de la aplicación Binance actual, por ejemplo, idioma, tema y versiones. Para obtener más información, consulte las API de los marcos de miniprogramas.


    bn.getSystemInfo().then((res)=>{

      res.payload

    });


Respuesta

Nombre

Tipo

Descripción

marca

cadena

Marca del dispositivo

modelo

cadena

Modelo de dispositivo

relación de píxeles

número

Proporción de píxeles del dispositivo

ancho de pantalla

número

Ancho de pantalla en px

altura de la pantalla

número

Altura de la pantalla en px

ancho de ventana

número

Ancho de ventana disponible en px

altura de la ventana

número

Altura de ventana disponible en px

estadoBarAltura

número

Altura de la barra de estado en px

idioma

cadena

Idioma configurado en la aplicación Binance

versión

cadena

Versión de la aplicación Binance

sistema

cadena

Sistema operativo y versión.

plataforma

cadena

Plataforma de cliente

Area segura

Objeto

Área segura cuando la pantalla está en orientación vertical

tema

cadena

Lightodarktema de la aplicación Binance actual utilizada


SafeArease compone de la siguiente manera

Nombre

Tipo

Descripción

izquierda

número

La coordenada x de la esquina superior izquierda del área segura.

bien

número

La coordenada x de la esquina inferior derecha del área segura

arriba

número

La coordenada y de la esquina superior izquierda del área segura.

abajo

número

La coordenada y de la esquina inferior derecha del área segura

ancho

número

Ancho del área segura en píxeles lógicos

altura

número

Altura del área segura en píxeles lógicos

    obtener código de autenticación


    bn.getOuathCode({

      state:'xxxx',// The CSRF token to protect against CSRF (cross-site request forgery) attacks

    }).then((res)=>{

      res.payload.code// oauth code

      res.payload.state// is same to state of request payload

    });


Parámetros

Nombre

Tipo

Descripción

estado

Cadena

El token CSRF para proteger contra ataques CSRF (falsificación de solicitudes entre sitios) puede ser una cadena aleatoria


Respuesta

    Nombre

    Tipo

    Descripción

    código

    Cadena

    Secodepuede utilizar para intercambiar el token de acceso delservicio oauth.

    estado

    Cadena

    Enstatuslos parámetros de solicitud, los desarrolladores pueden validarlo con el de solicitud para evitar ataques CSRF.

Solicitarpago
Inicie un procedimiento de Binance Pay. Para obtener más información, consulteBinance Pay.


    bn.requestPayment({

      prepayId:'xxxx',// prepaid order id, the specific details can be found in payment platform

      certSn:"",

      merchantId:"",

      timeStamp:"",

      noncestr:"",

      paySign:"",// signature of the parameters

    }).then((res)=>{

      res.payload.status// '0': pay success, others: pay failed

    });


    Parámetros

Nombre

Tipo

Descripción

certificadoSn

Cadena

Clave de identidad API emitida por el sistema de pago Binance

Identificación del comerciante

Cadena

La identificación de la cuenta del comerciante, emitida cuando el comerciante se creó en Binance.

marca de tiempo

Cadena

marca de tiempo del signo

nocestr

Cadena

nonceStr para el signo

prepagoId

Cadena

El valor delprepay_idparámetro devuelto por la API de colocación de pedidos unificada

pagarFirmar

Cadena

Firma. Para esquemas de firma específicos, consultela documentación de la API de Binance Pay.

Respuesta

Nombre

Tipo

Descripción

estado

Cadena

'0' para pago exitoso y otros para pago fallido

Nota: Ambos tienen un tipo de cadena; no pase un número, de lo contrario esto puede causar problemas de precisión y, por lo tanto, hacer que el pago falle prepayId.status 


4.3 Registro de Token: La moneda ya está registrada, está prohibida su venta hasta el lanzamiento del proyecto, para así no entrar en especulaciones anticipadas y que otros usuarios no puedan beneficiarse de un bajo costo de la moneda actual.


4.4 Total de Monedas: El Token cuenta con un total de 780,000,000,000 de monedas, para algunos usuarios será un número exagerado, pero no olvidemos que la moneda se utilizará para comercios en línea.


4.5 Como comprar: Los códigos WEB de compra y comercialización del tokens son entregados por Binance,  se colocará un precio inicial de la moneda donde los usuarios podrán obtenerla pero a diferencia de otros proyectos la capitalización será para la creación de la Wallet y la granja de minado  la devolución del capital se hara progresivamente hasta la comercialización libre del Token.


4.6 Devolución de activos: Ya que contamos con 2 Activos uno es la creación de BTC mediante la granja de minado y el segundo es la venta de los generadores eléctricos autosustentables para granjas de minerías vamos a tener 2 tipos de devolución de los beneficios.


4.7 Granja de minería: Como se explicó en la introducción el proyecto esta diseñado para la creación de 378.000 TH/s de minado en BTC, este minado sera devuelto a cada billetera de los inversores a diario, por lo tanto el inversor obtendrá todos los días sus beneficios en su wallet en la moneda BTC, esta devolución será en proporción al dinero invertido por cada inversor al inicio del proyecto.


4.8 Generadores Eléctricos: Nuestro segundo activo son los generadores eléctricos autosustentables, por lo tanto los inversores obtendrán los beneficios por las ventas realizadas por estos productos, este dinero se entregará como lo especifique el usuario puede ser en dinero fiat o se le puede entregar en BTC y este se verá reflejado en el apartado de recompensas.


5 CADENA DE BLOQUES


Construir una cadena de bloques desde cero es un proceso complejo que implica conocimientos de programación, criptografía y diseño de sistemas descentralizados. Aquí les doy una descripción general de los pasos a tomar:


5.1  Propósito y requisitos: El propósito de nuestra cadena de bloques es crear registro de todas las compras y ventas de los tokens, también poder tener registro de las contraseñas y datos de los usuarios para así poder ofrecer un lugar seguro.


5.2 Elijir la tecnología adecuada: Existen varias plataformas y protocolos blockchain disponibles, como Ethereum, Hyperledger Fabric, Corda, etc. buscaremos la que mejor se adapte a nuestras necesidades para que las transacciones sean lo mas rápido posible.


5.3 Arquitectura de diseño: Definir la estructura de la cadena de bloques, incluidos algoritmos de consenso, modelos de datos, protocolos de comunicación, etc. 


5.4 Desarrollo de código de programación: Implemente la lógica de blockchain, incluida la creación de bloques, la verificación de transacciones, la gestión de consenso, la seguridad y la privacidad.


5.5 Pruebas y depuración: Realizaremos pruebas exhaustivas para garantizar que la cadena de bloques funcione según lo previsto. Esto incluye pruebas de seguridad, pruebas de estrés y pruebas de rendimiento.


5.6 Implementación y mantenimiento: Una vez que la cadena de bloques esté lista, debemos implementarla en producción y asegurarnos de que está actualizada y sea segura. 


Contamos con la plataforma de BINANCE la cual nos provee de todos los datos y API para poder enlazar la cadena de bloques con los movimientos de compra y ventas de activos dentro de la plataforma.