BRT Logo
Volver al inicio

Guía para desarrolladores de Bitroot

Bitroot es una cadena 100% compatible con EVM, lo que significa que las herramientas de Ethereum que ya usas —carteras, SDK, frameworks de contratos— funcionan en gran medida tal como están. Solo necesitas apuntarlas a los parámetros de red de Bitroot. Esta guía cubre la conexión a la red, el despliegue y la depuración de contratos, y el uso de las piezas de la arquitectura de tres motores orientadas a desarrolladores.

1. Descripción general

Algunos puntos de entrada a los que volverás a lo largo de esta guía:

  • Explorador de bloques (BRTSCAN): https://devnet.bitroot.co/overview — consulta bloques, transacciones y el estado de los contratos. También es la fuente autorizada de la URL de RPC y el Chain ID vigentes, ya que pueden cambiar a medida que la red evoluciona: considera cualquier otra copia de estos valores, incluida una versión anterior de esta página, como potencialmente desactualizada.
  • Faucet de testnet: https://devnet.bitroot.co/faucet — obtén BRT de testnet gratis para desplegar y depurar contratos.
  • Puente: https://bridge.bitroot.co/ — mueve activos dentro y fuera.
  • Repositorio del protocolo: https://github.com/brt-chain/bitroot — aquí encontrarás la configuración de nodos, los detalles de implementación del protocolo y el ABI exacto de las interfaces de llamada de AI Agent.

2. Conexión a la red Bitroot

Bitroot habla JSON-RPC estándar, así que cualquier cartera que admita redes EVM personalizadas (MetaMask, Rabby, OKX Wallet y similares) puede agregarla directamente. Tomemos MetaMask como ejemplo:

  1. Abre MetaMask, haz clic en el selector de red → «Agregar red» → «Agregar una red manualmente».
  2. Abre BRTSCAN (https://devnet.bitroot.co/overview); el encabezado de la página o el panel de información de red muestra el nombre de la red, la URL de RPC, el Chain ID, el símbolo de la moneda y la URL del explorador de bloques vigentes: copia esos valores en el formulario de MetaMask tal como aparecen.
  3. Guarda y cambia a la red Bitroot. El saldo de tu cuenta debería aparecer (0 BRT es lo esperado hasta que reclames tokens de testnet desde el faucet).

No incluimos deliberadamente una URL de RPC ni un Chain ID fijos en esta página: los parámetros de la testnet pueden cambiar entre actualizaciones, y un valor fijo desactualizado tendría más probabilidades de conectarte a la red equivocada que de ayudarte. Usa siempre lo que BRTSCAN muestre en ese momento.

3. Cómo obtener tokens de testnet

Visita el faucet (https://devnet.bitroot.co/faucet) y envía la dirección de tu cartera para recibir BRT de testnet con el que desplegar contratos y pagar gas. Con tarifas de gas promedio cercanas a $0,00007, una pequeña reclamación del faucet suele alcanzar para un gran número de despliegues y llamadas durante el desarrollo.

4. Desarrollo de contratos inteligentes: reutiliza las herramientas que ya conoces

Como Bitroot es 100% compatible con EVM, ninguna de las siguientes herramientas necesita una capa de adaptación: solo apunta la configuración de red a Bitroot.

Hardhat (hardhat.config.js):

module.exports = {
  solidity: "0.8.24",
  networks: {
    bitrootTestnet: {
      url: process.env.BITROOT_RPC_URL, // get the current RPC URL from BRTSCAN
      chainId: Number(process.env.BITROOT_CHAIN_ID), // get the current Chain ID from BRTSCAN
      accounts: [process.env.DEPLOYER_PRIVATE_KEY],
    },
  },
};

Foundry (foundry.toml más una variable de entorno):

[rpc_endpoints]
bitroot_testnet = "${BITROOT_RPC_URL}"

El despliegue funciona igual que en cualquier otra cadena EVM:

forge create src/MyContract.sol:MyContract \
  --rpc-url $BITROOT_RPC_URL \
  --private-key $DEPLOYER_PRIVATE_KEY

Remix: en el panel «Deploy & Run», elige «Injected Provider - MetaMask». Siempre que MetaMask esté conectado a Bitroot, compilar, desplegar y llamar contratos funciona exactamente igual que contra la red principal de Ethereum.

5. Cómo interactuar con la red desde ethers.js / viem

import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider(process.env.BITROOT_RPC_URL);
const wallet = new ethers.Wallet(process.env.DEPLOYER_PRIVATE_KEY!, provider);

const balance = await provider.getBalance(wallet.address);
console.log(`Balance: ${ethers.formatEther(balance)} BRT`);

Como el motor de ejecución inteligente paralelizado ejecuta de forma concurrente las transacciones que no entran en conflicto entre sí, puedes enviar sin problema un lote de transacciones independientes (un airdrop, un minteo masivo) sin serializarlas manualmente una confirmación a la vez: la red identifica por su cuenta cuáles pueden ejecutarse en paralelo.

6. Explorador de bloques y verificación de contratos

Una vez desplegado un contrato, verifica su código fuente en BRTSCAN para que tú y otros usuarios puedan inspeccionar su comportamiento y llamar métodos de solo lectura directamente desde el explorador durante la depuración. Sigue el flujo de verificación y los campos obligatorios tal como se muestran en la propia página de BRTSCAN.

7. Uso del EVM nativo de IA

La mayor diferencia entre Bitroot y una cadena EVM común es la interfaz de llamada de AI Agent integrada: un contrato inteligente puede invocar inferencia de modelos de IA directamente, sin necesidad de un oráculo ni de un relé fuera de la cadena. Esta superficie aún evoluciona rápido, así que la interfaz exacta del contrato, las direcciones de precompilados y el ABI están en el repositorio del protocolo (https://github.com/brt-chain/bitroot); no duplicaremos aquí una firma que podría quedar desactualizada. En términos conceptuales, piénsalo como un «precompilado de inferencia de IA» al que puedes hacer call directamente desde Solidity; la entrada y la salida se registran a través de la capa de auditoría verificable con conocimiento cero, de modo que un tercero, dentro o fuera de la cadena, puede verificar el resultado de la inferencia sin exponer los pesos del modelo subyacente.

8. Seguridad y buenas prácticas

  • Gestión de claves: un archivo .env en texto plano está bien para depurar en testnet, pero los despliegues en producción deberían usar una cartera de hardware o un esquema de custodia basado en MPC; nunca incluyas una clave privada en un repositorio.
  • Auditorías de contratos: la capa de auditoría verificable con conocimiento cero no reemplaza una auditoría de la lógica de tu propio contrato. Verifica que un cálculo y su resultado sean confiables; no puede decirte si tu lógica de negocio tiene un error.
  • Estimación de gas: las tarifas de gas son mucho más bajas que en la red principal de Ethereum, pero las operaciones por lotes en producción aún merecen una pasada de estimación de gas para que un límite de gas por transacción demasiado bajo no provoque fallos parciales.
  • Verificación de parámetros de red: valida el Chain ID en tiempo de ejecución (compáralo con provider.getNetwork()) para que un error de escritura en un archivo de configuración no apunte silenciosamente tu despliegue a la cadena equivocada.

9. Preguntas frecuentes

¿Se puede desplegar un contrato de Ethereum existente en Bitroot tal cual? En la mayoría de los casos, sí: siempre que el contrato no asuma direcciones de precompilados específicas de Ethereum, los contratos Solidity estándar se compilan y despliegan sin cambios en el código.

¿La testnet y la red principal comparten los mismos parámetros de red? No. Confirma siempre en BRTSCAN a qué entorno te estás dirigiendo: la URL de RPC y el Chain ID difieren entre la testnet y cualquier futura red principal.

¿Hay una tarifa adicional por llamar al módulo EVM nativo de IA? El modelo exacto de tarifas se define en el repositorio del protocolo y en los anuncios oficiales; esta página no se compromete en ningún sentido.

10. Recursos

RecursoEnlace
Explorador de bloques (BRTSCAN)https://devnet.bitroot.co/overview
Faucet de testnethttps://devnet.bitroot.co/faucet
Puentehttps://bridge.bitroot.co/
Repositorio del protocolohttps://github.com/brt-chain/bitroot
Whitepaper técnicoInvestigación → Whitepaper, en este sitio

Si te encuentras con algo que esta guía no cubra, contáctanos a través de la página de Contacto para medios o de nuestros canales de la comunidad.