- Configurar el entorno de Cloudflare con Wrangler CLI y desplegar una prueba
- Desplegar, patrocinar y actualizar metadata para un contrato ERC1155 con Sequence Builder
- Usar EthAuthProof para prevenir DDoS de EOA
- Mintear un coleccionable a una wallet
- HTTPS GET: devuelve blockNumber
- HTTPS POST(proof, address): mintea un coleccionable y devuelve el hash de la transacción
1. Configurar el entorno de Cloudflare con Wrangler CLI y desplegar una prueba
Para crear el proyecto desde cero, primero cree una carpeta conmkdir, ingrese a la carpeta con cd y ejecute pnpm init para crear un package.json.
A continuación, asegúrese de tener wrangler cli instalado en su proyecto y configure la palabra clave wrangler como un alias en su sesión local de bash.
"Hello World" Worker con control de versiones en git.
wrangler init, respondiendo No en los últimos 2 pasos para rechazar el versionado con git y el despliegue.
Esto clonará un repositorio inicial que puede usar para desplegar código en la nube.
Pruebas locales de la API
En cualquier momento de la guía, puede usar el comando
En cualquier momento de la guía, puede usar el comando
wrangler dev en la carpeta del proyecto para pruebas localesDespliegue de prueba
Finalmente, cambie al directorio del proyecto generado aleatoriamente usandocd y ejecute el comando wrangler deploy.
Esto debería mostrar una URL, que puede ingresar en el navegador como https://<app>.<account>.workers.dev para ver el resultado Hello World!.
2. Desplegar, patrocinar y actualizar metadata para un contrato ERC1155 con Sequence Builder
Primero, siga esta guía para desplegar un contrato. Luego, debe actualizar el acceso por roles del contrato en el Builder para que solo reciba solicitudes desde la dirección de la wallet de minteo, lo cual puede hacerse en 2 pasos. Puede hacer esto en Sequence Builder otorgando elminter permission a su Sequence Wallet Transactions API Address.
Para saber cuál es la dirección de la API de transacciones con la que está trabajando, primero debe:
- Generar una usando esta app seleccionando su red y generando una clave de wallet con el botón
generate local wallet(solo para demostración) Recomendado: También puede imprimir localmente la dirección de cuenta generada a partir de una clave privada de wallet EOA usando el siguiente fragmento de código:
Contracts, seleccione sus Linked contracts y, en la pestaña Write Contract, expanda el método grantRole.
Complete con los siguientes datos:
bytes32 role: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
address account: <Generated Sequence Transactions API Wallet Address>

role ingresado es el resultado de keccak256("MINTER_ROLE") en solidity o ethers.keccak256(ethers.toUtf8Bytes("MINTER_ROLE")) en javascript
Esto hace que solo su dirección específica pueda mintear desde el contrato; de lo contrario, dará error.
Complete la actualización del rol haciendo clic en write y firme la transacción patrocinada.
Actualizar metadata
A continuación, deberá actualizar la metadata con sus medios o assets para su contrato, lo cual puede hacer siguiendo esta guía.Patrocinio del contrato
Finalmente, para patrocinar el contrato siga esta guía para patrocinar un contrato.3. Usar EthAuthProof para prevenir DDoS de EOA
Ahora que tenemos un contrato desplegado, podemos volver al directorio y proyecto del worker de Cloudflare e instalarethers y 0xsequence para acceder a las APIs de sequence y realizar una validación de prueba que asegure que la solicitud proviene de una fuente confiable, una wallet de sequence.
proofString y la address proporcionados sean válidos, así como las variables de entorno.
El esqueleto de código colocado en src/index.ts se vería así, con callContract y getBlockNumber simulados, usando el paso de verificación mencionado de llamar a verify antes de cualquier llamada al contrato.
Agregar variables de entorno de Cloudflare
Luego, pase las variables de entorno para su build actualizando la sección[vars] en su wrangler.toml.
Implementar el objeto Window en la plantilla de Wrangler
Debe tener en cuenta que, si intenta desplegar esto, obtendrá un error por falta del objetowindow requerido por los módulos web3.
Para evitar esto, agregue la siguiente línea a su archivo wrangler.toml para hacer el entorno compatible.
Probando el despliegue
Ahora puede volver a desplegar usandowrangler deploy
Y realizar una solicitud curl para probar su endpoint así:
Usando el dapp ETHAuthProof Viewer
Cuando llegue a la página, lo primero que debe hacer es seleccionar una red. Luego tiene la opción de conectar y generar el Proof, o bien generar un wallet local.
connect y luego copy to clipboard.

ETHAuthProof con nadie, ya que permitiría que otra persona demuestre la propiedad de su wallet e interactúe con APIs específicas.
Por último, reemplace el url con el de su app de este paso, el <some_proof> con el valor generado que copió desde el dapp visor, y <some_address> con la dirección de su wallet. Debería devolver simplemente el string simulado 0x.
4. Mintear un coleccionable al wallet
Finalmente, para desplegar y mintear un coleccionable desde la dirección del contrato patrocinado, instalamos los siguientes paquetescallContract y getBlockNumber que antes estaban simulados, de la siguiente manera: