- 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
Necesita conocimientos básicos de wrangler cli, npm y Sequence Builder para completar esta implementació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
Para usar la API de transacciones, deberá actualizar su plan de facturación a
Developer
para su proyecto en Sequence Builder, lo cual puede hacer siguiendo esta guíaminter 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
Luego, deberá actualizar los metadatos con sus medios o recursos 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 la url
con la de su aplicación de este paso, el <some_proof>
con el valor generado que copió desde la app de visualización, y <some_address>
con la dirección de su wallet; debería devolver solo 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: