Importar las bibliotecas necesarias.
importar sistema operativo
importar secretos
desde la imagen de importación PIL
desde web3 importar Web3
Genera una lista de rutas de imágenes únicas.
image_paths =[os.path.join("imágenes", f) para f en os.listdir("imágenes")]
Crea una nueva instancia Web3.
w3 =Web3(Web3.HTTPProvider("http://localhost:8545"))
Cree una nueva instancia de contrato.
dirección_contrato ="0x1234567890123456789012345678901234567890"
contrato =w3.eth.contrato(dirección=dirección_contrato, abi=CONTRACT_ABI)
Genera metadatos aleatorios para cada imagen.
metadatos =[]
para image_path en image_paths:
imagen =Imagen.abierta(ruta_imagen)
ancho, alto =imagen.tamaño
metadatos.append({
"nombre":f"NFT #{secrets.randbelow(1000)}",
"description":"Un NFT único y hermoso.",
"imagen":f"ipfs://{ipfs_hash}",
"atributos":[
{"trait_type":"Ancho", "valor":ancho},
{"trait_type":"Altura", "valor":altura},
],
})
Acuña los NFT.
para m en metadatos:
tx_hash =contrato.funciones.mintNFT(
m["nombre"], m["descripción"], m["imagen"], m["atributos"]
).tramitar()
imprimir(tx_hash)
```
Este script generará una lista de rutas de imágenes únicas, creará una nueva instancia Web3, creará una nueva instancia de contrato, generará metadatos aleatorios para cada imagen y creará los NFT.