Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solutions tu the challenge. Dinamic NFT created, logic Upkeaper creat… #45

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

node_modules
.env
coverage
coverage.json
typechain
typechain-types

#Hardhat files
cache
artifacts

112 changes: 0 additions & 112 deletions DNFT.sol

This file was deleted.

5 changes: 5 additions & 0 deletions Env.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Al .env se le deben configurar los siguientes datos

APIALCHEMYKEY= la api key obtenida en alchemy
PRIVATEKEYW1= la clave privada de la billetera para deploy del contrato
APIETHSCANKEY= La api de ethscan para verificar el contrato si lo mandamos a la mainnet. No consegu[i api de la testnet para configurarlo.
15 changes: 15 additions & 0 deletions Metadata templates/arbol.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "Arbol",
"description": "Flor NFT con la que vamos a aprender",
"image": "https://gateway.pinata.cloud/ipfs/QmdQqy5pykmHMACfD1Zv8fqtVjXPMBSMEHo82ZUhPWxrn5",
"attributes": [
{
"trait-type": "EtapaArbol",
"value": "Arbol"
},
{
"trait-type": "ColorFlor",
"value": "CAFE"
}
]
}
2 changes: 1 addition & 1 deletion Metadata templates/creciendo.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"image": "https://gateway.pinata.cloud/ipfs/QmV8U3DsVNHsrnDcsosuCYmpRtAqadam1zrCW5dDk9hUrB",
"attributes": [
{
"trait-type": "EtapaFLor",
"trait-type": "EtapaFLoreciendo",
"value": "Crediendo"
},
{
Expand Down
8 changes: 4 additions & 4 deletions Metadata templates/florecida.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "Semilla Flor",
"name": "Flore florecida",
"description": "Flor NFT con la que vamos a aprender",
"image": "https://gateway.pinata.cloud/ipfs/QmXQsAQk18pLGtfg2knesd17kLFwC6PEAH6eKLpmn8Qhr5",
"image": "https://gateway.pinata.cloud/ipfs/QmPaCenJqPj2dVqtumePtDLoWkhkFbY9DhqFRQpismPWTv",
"attributes": [
{
"trait-type": "EtapaFLor",
"value": "Semilla"
"trait-type": "EtapaFLorecida",
"value": "Florecida"
},
{
"trait-type": "ColorFlor",
Expand Down
15 changes: 15 additions & 0 deletions Metadata templates/germinando.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "Semilla germinando",
"description": "Flor NFT con la que vamos a aprender",
"image": "https://gateway.pinata.cloud/ipfs/QmdTX92wfCVHPXdRaL2RsTmmVAaGP2BHLFYM5K6Xn71pRs",
"attributes": [
{
"trait-type": "EtapaGerminando",
"value": "Germinando"
},
{
"trait-type": "ColorFlor",
"value": "CAFE"
}
]
}
6 changes: 6 additions & 0 deletions Metadata templates/links-a-metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
https://gateway.pinata.cloud/ipfs/QmVTMeyMvEiZScJcjbPATxvRqkY25EQSWkJYML8aqwK5bD/semilla.json,
https://gateway.pinata.cloud/ipfs/QmVTMeyMvEiZScJcjbPATxvRqkY25EQSWkJYML8aqwK5bD/germinando.json,
https://gateway.pinata.cloud/ipfs/QmVTMeyMvEiZScJcjbPATxvRqkY25EQSWkJYML8aqwK5bD/creciendo.json,
https://gateway.pinata.cloud/ipfs/QmVTMeyMvEiZScJcjbPATxvRqkY25EQSWkJYML8aqwK5bD/florecida.json,
https://gateway.pinata.cloud/ipfs/QmVTMeyMvEiZScJcjbPATxvRqkY25EQSWkJYML8aqwK5bD/arbol.json

27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,30 @@ Los pasos que debes seguir son:
* [Qué es chainlink](https://chainlinkspanishcommunity.medium.com/qu%C3%A9-es-chainlink-6ea80f9ff95e)
* [Documentación de Chainlink ](https://docs.chain.link/docs)


## SOLUCION AL RETO
Contrato desplegado en: 0xa063d4D038E0c29906F5754F66a095C34dDe522B
Para verlo en opensea: https://testnets.opensea.io/collection/flower-platzi-y8h8mwnvl3
Logic Upkeaper: https://keepers.chain.link/rinkeby/31515512689786369633113092560085220011126463774036618620146778213529671160416
Timer Upkeaper: https://keepers.chain.link/rinkeby/23766020448503351847758015081877781219002381901449126641271768631663859714256
Del logic y timer Upkeaper adjunto imagenes de las transacciones.



# Para correrlo

This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.

Try running some of the following tasks:

```shell
npx hardhat help
npx hardhat test
GAS_REPORT=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.js





Loading