PHPackages                             syntaxsanctuary/php-blockchain-project - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. syntaxsanctuary/php-blockchain-project

ActiveProject[API Development](/categories/api)

syntaxsanctuary/php-blockchain-project
======================================

A PHP-based web application with blockchain functionalities, user management, and API endpoints.

v1.0.0(5mo ago)06proprietaryPHPPHP &gt;=7.4

Since Dec 4Pushed 5mo agoCompare

[ Source](https://github.com/TimeFinanceHub/proyecto-blockchain-php)[ Packagist](https://packagist.org/packages/syntaxsanctuary/php-blockchain-project)[ RSS](/packages/syntaxsanctuary-php-blockchain-project/feed)WikiDiscussions feature/video-notes-blog Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Proyecto Blockchain PHP
=======================

[](#proyecto-blockchain-php)

Este proyecto es una aplicación web robusta desarrollada en PHP que integra funcionalidades de una blockchain, gestión de usuarios, un sistema de blog, mensajería y una API RESTful. Su diseño modular permite una fácil expansión y mantenimiento.

Características Principales
---------------------------

[](#características-principales)

- **Sistema de Usuarios Completo:** Registro, inicio de sesión, perfiles de usuario, y administración de usuarios (para administradores).
- **Implementación de Blockchain:** Core de blockchain con creación y verificación de bloques, minería y gestión de la cadena.
- **API RESTful:** Conjunto de endpoints para interactuar con todas las funcionalidades del sistema (usuarios, blockchain, blog, mensajería, tareas, etc.).
- **Sistema de Blog:** Creación, lectura, actualización y eliminación de publicaciones.
- **Mensajería Interna:** Comunicación entre usuarios de la plataforma.
- **Módulos:** Estructura modular para componentes como autenticación, blockchain y lista de tareas (To-Do List).
- **Interfaz de Usuario (Frontend):** Desarrollada con HTML, CSS y JavaScript, ofreciendo una experiencia de usuario dinámica.
- **Base de Datos:** Gestión de datos a través de MySQL/MariaDB.

Alcance del Proyecto
--------------------

[](#alcance-del-proyecto)

Este proyecto busca establecer una aplicación web fundamental con capacidades de blockchain integradas. Se enfoca en demostrar funcionalidades básicas como la gestión de usuarios, un sistema de blog sencillo, mensajería básica y las operaciones fundamentales de una blockchain (creación de bloques, recuperación de la cadena). La capa API permite la interacción programática con estas características.

### Dentro del Alcance (In-Scope):

[](#dentro-del-alcance-in-scope)

- Autenticación de usuarios (registro, inicio de sesión, gestión de perfiles).
- Operaciones CRUD básicas para publicaciones de blog.
- Operaciones fundamentales de blockchain (minería, visualización de la cadena).
- API RESTful para las funcionalidades principales.
- Arquitectura modular para las funcionalidades clave.
- Frontend básico para la interacción del usuario.

### Fuera del Alcance (Out-of-Scope) para esta versión inicial:

[](#fuera-del-alcance-out-of-scope-para-esta-versión-inicial)

- Funciones avanzadas de blockchain (ej. contratos inteligentes, mecanismos de consenso complejos, redes P2P).
- Auditorías de seguridad de alto nivel más allá de las buenas prácticas básicas.
- Escalabilidad para entornos de producción de alto tráfico.
- Notificaciones en tiempo real.
- Gestión compleja de autorizaciones/roles (más allá de administrador/usuario básico).
- Pasarelas de pago o funcionalidades de comercio electrónico.
- Frameworks de pruebas automatizadas (pruebas unitarias, de integración - aunque se proporciona una guía de pruebas manuales).

Estructura del Proyecto
-----------------------

[](#estructura-del-proyecto)

```
.
├── admin_users.php
├── blog.php
├── buy.php
├── chain_union.php
├── composer.json
├── cv.html
├── dashboard.php
├── database.sql
├── favicon.png
├── GEMINI.md
├── gui_documentation.html
├── index.php
├── login.php
├── logout.php
├── messages.php
├── profile.php
├── proyecto_blockchain_php.zip
├── README.md
├── register.php
├── sales_page.html
├── testing_guide.html
├── .git/
├── api/
│   ├── admin_users.php
│   ├── config.php
│   ├── download_project.php
│   ├── get_chain.php
│   ├── login.php
│   ├── messages.php
│   ├── mine_block.php
│   ├── posts.php
│   ├── profile.php
│   ├── register.php
│   ├── send_phone_verification.php
│   ├── settings.php
│   ├── todo.php
│   ├── users.php
│   ├── verify_phone.php
│   ├── video_notes.php
│   └── videos.php
├── core/
│   ├── Block.php
│   └── Blockchain.php
├── css/
│   ├── animations.css
│   ├── background.png
│   └── style.css
├── js/
│   ├── admin_users.js
│   ├── api.js
│   ├── blog.js
│   ├── buy.js
│   ├── chain_union.js
│   ├── dashboard.js
│   ├── login.js
│   ├── messages.js
│   ├── profile.js
│   └── register.js
├── modules/
│   ├── auth_user_management/
│   │   ├── admin_users.php
│   │   ├── config.php
│   │   ├── login.php
│   │   ├── profile.php
│   │   ├── register.php
│   │   └── schema.sql
│   ├── blockchain/
│   │   ├── config.php
│   │   ├── get_chain.php
│   │   ├── mine_block.php
│   │   ├── schema.sql
│   │   └── core/
│   │       ├── Block.php
│   │       └── Blockchain.php
│   └── todo_list/
│       ├── config.php
│       ├── schema.sql
│       └── todo.php
└── templates/

```

Guía de Instalación
-------------------

[](#guía-de-instalación)

### Método Recomendado (Usando Composer)

[](#método-recomendado-usando-composer)

Esta es la forma más sencilla de instalar el proyecto, ya que Composer se encargará de descargar el proyecto y sus dependencias automáticamente.

1. **Ejecutar Composer:**Abre tu terminal y ejecuta el siguiente comando. Reemplaza `nombre-del-directorio` con el nombre que deseas para la carpeta de tu proyecto.

    ```
    composer create-project syntaxsanctuary/php-blockchain-project nombre-del-directorio
    ```
2. **Navegar al Directorio:**Una vez que la instalación esté completa, muévete al nuevo directorio:

    ```
    cd nombre-del-directorio
    ```

### Método Alternativo (Clonación Manual con Git)

[](#método-alternativo-clonación-manual-con-git)

Sigue estos pasos si prefieres clonar el repositorio manualmente.

1. **Clonar el Repositorio:**Abre tu terminal y ejecuta el siguiente comando:

    ```
    git clone https://github.com/syntaxsanctuary/php-blockchain-project.git
    cd php-blockchain-project
    ```

    *(Nota: Reemplaza la URL si tienes un fork personal).*
2. **Instalar Dependencias de PHP:**Desde el directorio raíz del proyecto, ejecuta Composer:

    ```
    composer install
    ```

Configuración Post-Instalación (Para ambos métodos)
---------------------------------------------------

[](#configuración-post-instalación-para-ambos-métodos)

Después de instalar el proyecto usando cualquiera de los métodos anteriores, sigue estos pasos para configurar tu entorno.

### 1. Requisitos Previos

[](#1-requisitos-previos)

Asegúrate de tener instalado lo siguiente:

- **Servidor Web:** Apache o Nginx.
- **PHP:** Versión 7.4 o superior (con extensiones como `mysqli`, `json`, `curl` habilitadas).
- **Base de Datos:** MySQL o MariaDB.
- **Composer:** Gestor de dependencias para PHP.
- **Git:** (Necesario para el método de clonación manual).

### 2. Configuración de la Base de Datos

[](#2-configuración-de-la-base-de-datos)

1. **Crear la Base de Datos:**Accede a tu gestor de bases de datos (phpMyAdmin, MySQL Workbench, o la línea de comandos) y crea una nueva base de datos. Por ejemplo:

    ```
    CREATE DATABASE `php_blockchain_db`;
    ```
2. **Importar Esquemas:**Importa el archivo principal `database.sql` y los esquemas específicos de los módulos.

    ```
    mysql -u tu_usuario -p php_blockchain_db
