¿Qué es piñata IPFS y cómo conectar con php?

¿Qué es piñata IPFS y cómo conectar con php?

Actualmente con conceptos como blockchain solemos escuchar mucho IPFS, hoy hablaremos sobre qué es Piñata IPFS y como podemos conectar a piñata desde PHP con Curl, si te interesa este tema de archivos descentralizados seguro este artículo te será de mucha utilidad.

Antes de comenzar debemos de hablar de IPFS, InterPlanetary File System.

Este es un sistema de archivos descentralizado que tiene como objetivo tener seguridad y resistencia a caída de información y censura de la misma en Internet.

En este esquema cuando subes un archivo a la red IPFS tu archivo es subido a varias computadoras o nodos en todo el mundo que guardaran tu información.


¿Sabías que?

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.

Udemy

Al subir un archivo tendrás un identificador único que es generado según el contenido de tu archivo.

Cuando quieres el archivo proporcionas el identificador y se te devuelve el archivo.

Todo esto proporciona beneficios como que si un nodo se cae seguro hay otro activo, además sería muy difícil censurar tu contenido en la red.

Ahora bien, ¿Qué es Piñata IPFS?

Este servicio nos permite garantizar que al menos un nodo con tu información estará disponible en todo momento.

Cuando subimos un archivo a la red IPFS puede que no esté disponible en algún momento, aquí es donde entra Piñata.

Nos garantiza tener un nodo en la red con nuestros archivos, nos permite pinear un archivo para que no se elimine o despinear para olvidarnos de él.

Tiene además varias ventajas cómo un area para gestionar nuestros archivos, un gateway especial de Piñata, un verificador de archivos y sobre todo un API.

Puedes ver más información en este enlace sobre Piñata IPFS.

Nosotros en nuestro ejemplo vamos a hacer uso de la API de este servicio para subir nuestros archivos a IPFS.

Una vez más puedes ver la documentación en su página oficial.

En nuestro ejemplo vamos a conectar a Piñata IPFS con PHP en tiempo real.

Subiremos nuestro archivo y obtendremos nuestro CID que es nuestro identificador donde podremos encontrar nuestro archivo en la red.

Vamos a trabajar con CURL para las peticiones a la API.

Lo primero será iniciar CURL.

$curl = curl_init();

Después vamos a agregar ciertos parámetros necesarios como la URL y señalar que la petición será por medio de POST como dice la documentación.

curl_setopt($curl, CURLOPT_URL, 'https://api.pinata.cloud/pinning/pinFileToIPFS'); 
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

Ahora es tiempo de insertar en las cabeceras de la petición nuestra API KEY y nuestra API SECRET KEY.

$headers = array(
	"pinata_api_key: $this->API_KEY_PT",
	"pinata_secret_api_key: $this->API_SECRET_PT",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

Agregamos el archivo a subir con la ayuda de CURLFile.

$fields = [
	"file" => new CURLFile(realpath($file))
];
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);

Y por último ejecutamos la operación y guardamos el resultado.

$response = curl_exec($curl); 
curl_close($curl);

Después de cerrar la petición CURL podremos imprimir nuestra respuesta y veremos que en ella se encuentra el CID de nuestro archivo.

Podemos visualizar nuestro archivo mediante el gateway de Piñata:

https://gateway.pinata.cloud/ipfs/[CID]

Ahora ya podemos subir archivos en tiempo real a IPFS con un nodo garantizado en Piñata. ¿Fácil no?

Si esta información sobre qué es piñata IPFS y cómo conectar con PHP te ha sido de utilidad no olvides compartirla en tus redes sociales y déjanos un comentario en la sección de abajo si tienes cualquier duda relacionada con este tema, será un placer ayudarte.

¡Hasta luego!

Clic para valorar esta información
[Total: 3 Promedio: 5]