Almacenar datos - Integraci贸n web3Storage
Subiendo los datos de tu evento
Cree una nueva carpeta en la carpeta pages
llamada api
y cree un nuevo archivo o file dentro llamado store-event-data.js
.
En la parte superior de nuestro nuevo file, necesitaremos importar web3.storage
y el m贸dulo path
.
Tendremos que exportar una funci贸n handle predeterminada para manejar las solicitudes entrantes. Aqu铆 podemos verificar si la solicitud es un POST
y devolver un error si no lo es. De lo contrario, podemos almacenar los datos del evento.
Cree una nueva funci贸n as铆ncrona llamada storeEventData
. Esta funci贸n debe intentar obtener los datos del evento desde el cuerpo de la solicitud y almacenar los datos, o devolver un error si no fue exitoso. Tras un almacenamiento exitoso, devolveremos el cid que apunta a un directorio IPFS del archivo que acabamos de almacenar.
Dentro de esta funci贸n, hay dos funciones que ser谩n llamadas. La primera es una funci贸n as铆ncrona makeFileObjects
. El prop贸sito de esta funci贸n es crear un archivo json que incluya metadatos pasados desde el objeto req.body
. La siguiente funci贸n que llamamos es la funci贸n storeFiles
, que almacenar谩 ese archivo json en Web3.storage.
Cree una nueva funci贸n as铆ncrona llamada makeFileObjects
. Esta funci贸n crear谩 un Buffer
a partir del cuerpo donde se utiliz贸 stringify().
Esta funci贸n tambi茅n buscar谩 la imagen desde body.image
. Podemos usar una funci贸n de web3.storage
llamada getFilesFromPath
para obtener la imagen de nuestra carpeta de im谩genes. Esto devolver谩 la imagen en un array, por lo que podemos enviar nuestro file de data a este array para que podamos cargar tanto la imagen como los datos del evento al mismo tiempo. Podemos crear un nuevo File
desde buffer
al que podemos llamar "data.json"
, y enviarlo al array files
.
En una nueva funci贸n as铆ncrona llamada storeFiles
, podemos cargar nuestros archivos con el m茅todo ya integrado client.put
y retornar el id del contenido.
En makeStorageClient
podemos acceder a nuestra API key para Web3.Storage y conectarnos al cliente.
Una vez que hayamos creado nuestro cliente Web3Storage, podemos llamar al m茅todo put
en el cliente para cargar nuestra matriz de archivos.
Cuando nuestros archivos han sido cargados, client.put
devuelve un identificador de contenido (CID). Este CID es el hash 煤nico que almacenaremos en el blockchain y usaremos para recuperar nuestros archivos.
Escritoras: Busayo, Sarah Z, Sarah Schwartz, Traductoras: Dami, Brenda, Caro Meneses
Last updated