Base Español | Non Official
  • 👋Bienvenido a Base
  • Overview
    • 🔵Acerca de Base
    • 🏗️Usando Base
    • ℹ️Información de la red Base
    • 📔Direcciones de Contratos
    • 💲Tarifas
    • ‼️Diferencias entre Ethereum y Base
    • 🔴Decentralizando base con Optimism
    • 📖Guías
      • Deployando un Contrato Inteligente
        • Usando Hardhat
        • Usando Remix
        • Corriendo un Nodo en Base
      • Construyendo una dApp
        • Usando thirdweb
      • Corriendo un Nodo en Base
    • 🔗Links Útiles
    • 🛠️Herramientas
    • 🖥️Proveedores de Nodos
    • 🌐Exploradores de Bloques
    • 💦Faucets de la Red
    • 🌉Puentes
      • Red Principal Base
      • Red de Prueba
      • Preguntas Frecuentes | Puentes
    • 👀Oráculos
      • ChainLink
      • Pyth
    • 🔧Cadena de herramientas
      • Foundry
      • Hardhat
      • ThirdWeb CLI
      • Truffle
    • ⌨️Clientes
      • Ether.js
      • thirdweb SDK
      • viem
      • web3.js
    • 🎆Layer Zero | Multicadena
    • 📔Contratos
    • 🪙Tokens
    • Estado
    • Kit de Marca
    • 📑Terminos y Condiciones
    • 🔏Política de Privacidad
Powered by GitBook
On this page
  1. Overview
  2. Guías
  3. Deployando un Contrato Inteligente

Corriendo un Nodo en Base

PreviousUsando RemixNextConstruyendo una dApp

Last updated 1 year ago

es un marco de desarrollo que te permite incorporar funcionalidad web3 en tus aplicaciones.

En esta guía, te daremos una visión general de cómo usar la para desplegar un contrato en la red de prueba Base Goerli.

Objetivos

Al final de esta lección, deberías ser capaz de:

  • Crear un proyecto con un contrato inteligente usando thirdweb.

  • Desplegar contratos inteligentes usando thirdweb.

  • Interactuar con contratos inteligentes desplegados usando thirdweb.

Prerrequisitos

La interfaz de tiene todo lo que necesitas para crear, construir y desplegar contratos inteligentes y aplicaciones en Base.

Recomendamos usar npx para obtener siempre la última versión. Alternativamente, puedes instalar la CLI como un comando global en tu máquina:

cssCopy code
npm i -g @thirdweb-dev/cli

Creando un proyecto

Puedes usar la de thirdweb para crear un nuevo proyecto que contenga un contrato inteligente, o alternativamente, puedes desplegar un contrato preconstruido para NFTs, Tokens o Marketplace directamente desde la página de de thirdweb.

Para crear un nuevo proyecto usando la CLI, ejecuta:

luaCopy code
npx thirdweb create contract

Esto iniciará una serie interactiva de preguntas para ayudarte a comenzar:

  • Dale un nombre a tu proyecto.

  • Selecciona Hardhat como el marco.

  • Selecciona ERC721 como el contrato base.

  • Selecciona Ninguno para extensiones opcionales.

Explorando el proyecto

El comando de creación genera un nuevo directorio con el nombre de tu proyecto. Abre este directorio en tu editor de texto.

Dentro de la carpeta de contracts, encontrarás un archivo Contract.sol; ¡este es nuestro contrato inteligente escrito en Solidity!

solidityCopy code
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@thirdweb-dev/contracts/base/ERC721Base.sol";

contract Contract is ERC721Base {
    constructor(
        string memory _name,
        string memory _symbol,
        address _royaltyRecipient,
        uint128 _royaltyBps
    ) ERC721Base(_name, _symbol, _royaltyRecipient, _royaltyBps) {}
}

Este patrón de herencia nos permite usar funcionalidad de otros contratos dentro del nuestro, modificarla y agregar lógica personalizada.

Desplegando el contrato

Para desplegar tus contratos inteligentes, desde el directorio raíz de tu proyecto, ejecuta:

Copy code
npx thirdweb deploy

Ejecutar este comando:

  • Compilará todos los contratos en el directorio actual.

  • Te permitirá seleccionar qué contrato(s) deseas desplegar.

  • Abrirá el flujo de despliegue en el panel de control. Desde el panel de control, primero deberás ingresar los valores para el constructor de nuestro contrato:

  • _name: El nombre de nuestro contrato.

  • _symbol: El símbolo o "ticker" dado a los tokens de nuestros contratos.

  • _royaltyRecipient: La dirección de la billetera que recibirá las regalías de las ventas secundarias.

INFO

Para despliegues en producción / mainnet selecciona Base (mainnet) como la red en lugar de Base Goerli.

Interactuando con tu contrato

Para crear una aplicación web preconfigurada con el SDK de thirdweb, ejecuta:

luaCopy code
npx thirdweb create app –evm

Esto iniciará una serie interactiva de preguntas para ayudarte a comenzar:

  • Dale un nombre a tu proyecto.

  • Selecciona Create React App como el marco.

  • Selecciona TypeScript como el lenguaje.

Explorando el proyecto

El comando de creación genera un nuevo directorio con el nombre de tu proyecto. Abre este directorio en tu editor de texto.

Dado que desplegamos nuestro contrato inteligente en la red Base, configuraremos la activeChain a BaseGoerli:

javascriptCopy code
...
import { BaseGoerli } from "@thirdweb-dev/chains";
import { ThirdwebProvider } from "@thirdweb-dev/react";

const container = document.getElementById("root");
const root = createRoot(container!);
root.render(
 <React.StrictMode>
   <ThirdwebProvider activeChain={BaseGoerli}>
     <App />
   </ThirdwebProvider>
 </React.StrictMode>
);

Interactuando con el contrato

javascriptCopy code
import { useContract } from '@thirdweb-dev/react';

export default function Home() {
  const { contract } = useContract('<DIRECCIÓN_DEL_CONTRATO>');

  // ¡Ahora puedes usar el contrato en el resto del componente!
}

Por ejemplo, puedes llamar a useContractRead para obtener el nombre del contrato:

javascriptCopy code
const { data, isLoading } = useContractRead(contract, 'name');

Desplegando el proyecto

Copy code
yarn deploy
  • Crear una versión de producción de tu aplicación.

  • Subir la versión a IPFS.

  • Generar una URL donde tu aplicación está alojada permanentemente. ¡Eso es todo! ¡Ahora tienes una aplicación web que interactúa con contratos inteligentes desplegados en Base!

Si echamos un vistazo al código, puedes ver que nuestro contrato está heredando la funcionalidad de , al:

el contrato.

; declarando que nuestro contrato es ERC721Base.

Implementar cualquier , como el

Por ejemplo, nuestro contrato actualmente implementa toda la lógica dentro del contrato ; que implementa el estándar con varias útiles.

Puedes usar la de thirdweb para desplegar un contrato inteligente en Base.

Subirá el código fuente de tu contrato () a I

_royaltyBps: Los puntos básicos (bps) que se darán al destinatario de las regalías por cada venta secundaria, por ejemplo, 500 = 5%. Finalmente, selecciona la e prueba Base Goerli como la red a la que deseas desplegar y haz clic en Desplegar Ahora.

Una vez que tu contrato esté desplegado, serás redirigido a un

Thirdweb proporciona SDKs para varios lenguajes de programación, incluyendo , R, t, y

Para interactuar con tu contrato inteligente, puedes usar la de thirdweb para crear una aplicación web que esté preconfigurada con el

Dentro del archivo , encontrarás el envolviendo toda la aplicación.

Este envoltorio nos permite usar todos los hooks y del a lo largo de la aplicación, así como configurar una activeChain; que declara a qué cadena están desplegados nuestros contratos inteligentes.

Para conectarte a tu contrato inteligente en la aplicación, proporciona la dirección de tu contrato inteligente (que puedes obtener desde el al hook useContract de esta manera:

Ahora puedes llamar a cualquier función en tu contrato inteligente con los hooks [useContractRead](<https://portal.thirdweb.com/sdk/interacting-with-contracts/custom-contracts/using-contracts#read-contract-data>) y

El SDK de thirdweb también proporciona hooks para varias interfaces y que facilitan la lectura y escritura de datos. Por ejemplo, podríamos usar los hooks de para obtener los metadatos de nuestro contrato NFT.

Para obtener más información sobre cómo interactuar con contratos inteligentes usando el SDK de thirdweb, visita la

Para ejecuta el siguiente comando:

Este comando utiliza para:

📖
thirdweb
CLI de thirdweb
línea de comandos interactiva de thirdweb
CLI
Explorar
ERC721Base
Importar
Heredar el contrato
método requerido
constructor.
ERC721Base.sol
ERC721A
extensiones
CLI
ABI
PFS.
red d
panel de control para gestionar tu contrato.
React
eact Native
TypeScrip
Python,
Go
Unity.
CLI
SDK de React de thirdweb.
index.tsx
ThirdwebProvider
componentes de UI
SDK de React
panel de control)
useContractWrite.
extensiones
ERC721
documentación para desarrolladores de thirdweb.
alojar tu aplicación en IPFS,
Storage