NUEVO: Helius adquiere Light Protocol
Cómo minar Ore
Blog/Desarrollo

Cómo minar Ore: una guía para principiantes

Ingeniero de experiencia del desarrolladorAnam Ansari en XAnam Ansari en LinkedIn
12 min de lectura
Tabla de contenido

¡Un enorme agradecimiento a Hardhat Chad y 0xIchigo por sus excelentes comentarios y por ayudar a dar forma a este artículo!

Ore es un token de prueba de trabajo creado sobre Solana que cualquiera puede minar desde cualquier lugar. Poco después de su lanzamiento, el 2 de abril de 2024, fue señalado como el proyecto que rompió Solana. Solana sufría una congestión considerable debido a transacciones de spam, la mayoría causadas por mineros de Ore durante ese período. El creador de Ore, Hardhat Chad, pausó posteriormente la minería el 16 de abril de 2024. El 6 de agosto de 2024 se lanzó Ore v2 y se reanudó la minería. Esta versión incorpora un nuevo algoritmo de minería, Drillx, e incentivos de tokens para motivar a las personas a hacer staking del token. Desde su lanzamiento, las transacciones de Ore representan actualmente alrededor del ~5 % de cada bloque. 

En este artículo, exploraremos la prueba de trabajo y la minería desde sus orígenes en Bitcoin. Después, compararemos la minería de Ore con la de Bitcoin antes de aprender a minar ORE mediante la aplicación web y la interfaz de línea de comandos (CLI).

Bitcoin

Bitcoin es la primera criptomoneda, presentada por Satoshi Nakamoto en 2008. Introdujo el concepto de las cadenas de bloques, donde los bloques (es decir, lotes de transacciones) se enlazan y se vuelven inmutables mediante el encadenamiento de hashes. En esencia, el hash de un bloque es un número hexadecimal de 64 dígitos que se obtiene al procesar las entradas de las transacciones contenidas en un bloque mediante el algoritmo de hash SHA256. Cada bloque utiliza el hash del bloque anterior para enlazarlos y crear así una cadena de bloques. Esta propiedad hace que las cadenas de bloques sean inmutables: si se alteran los datos, el valor del hash no coincidirá. 

Cualquiera puede calcular y proporcionar el hash de un bloque. Primero, la red establece un valor de hash objetivo. Este se utiliza para determinar la dificultad de minería. La dificultad de minería es un parámetro dinámico que se ajusta cada 2016 bloques, aproximadamente cada dos semanas. Sirve para garantizar que los bloques se agreguen a la cadena de bloques a un ritmo constante de aproximadamente uno cada 10 minutos. Los mineros (es decir, cualquiera que tenga un equipo y software de minería) resuelven un problema matemático complejo para encontrar un hash menor o igual al hash objetivo. Todos los mineros de la red hacen esto hasta encontrar la combinación correcta de hash y nonce (número utilizado una sola vez). Quien la encuentre primero recibe una recompensa en Bitcoin y las comisiones por el trabajo realizado. Por lo tanto, minar consiste simplemente en resolver problemas matemáticos complejos, enviar hashes y recibir recompensas por el cómputo realizado. Sin embargo, resolver estos problemas requiere mucha potencia de procesamiento y energía. 

Este proceso de minería se denomina prueba de trabajo (PoW). El trabajo realizado para generar el hash ganador se considera una prueba de que el minero validó las transacciones del bloque y, por tanto, de que hizo ese trabajo. PoW es un mecanismo de consenso. El consenso se alcanza después de cerrar el bloque y agregarlo a la cadena. Mientras propone nuevos bloques y genera hashes ganadores, cada minero también valida cada bloque nuevo a medida que se agrega. Cada minero comunica a la red que se confirmó la validez del bloque. Los bloques nuevos utilizan el hash del encabezado del bloque anterior, lo que crea una cadena de pruebas que conduce al consenso de la red. Por eso estas pruebas se llaman mecanismos de consenso: constituyen la base para alcanzarlo. Esto solo requiere un poco de energía o potencia computacional porque cada nodo de minería lo hace mientras mina el bloque más reciente. A medida que se agregan bloques nuevos, la red los confirma.

El suministro total de Bitcoin está limitado a 21 millones. Al momento de escribir este artículo, se han minado alrededor de 19 millones de bitcoins. En 2009, su creador seudónimo, Satoshi Nakamoto, minó el bloque génesis (es decir, el primer bloque) y obtuvo 50 bitcoins como recompensa. 

Ore

Ore, al igual que Bitcoin, es un token de prueba de trabajo, pero está implementado como un programa sobre Solana. Puede minarse en cualquier laptop, teléfono o computadora doméstica. Ore v1 tenía algunos problemas. Primero, era demasiado fácil manipular el sistema, lo que generó spam masivo que congestionó Solana. Otro problema fue la venta inmediata de ORE, ya que los mineros no tenían motivos para hacer otra cosa que reclamarlo y venderlo. Esto provocó que el valor del token cayera de unos $4,000 a cerca de $120.

Para sobrevivir, Ore v2 incorporó varios cambios importantes frente a la versión v1, más sencilla:

  1. La introducción de un nuevo algoritmo de minería llamado DrillX, más difícil de manipular, garantiza que incluso quienes minan con teléfonos y laptops sencillos nunca queden excluidos de la minería de Ore por los costos
  2. La introducción del staking de ORE para aumentar las recompensas de minería crea una fuente de demanda que incentiva a los mineros a conservarlo en lugar de reclamarlo y venderlo

Al igual que Bitcoin, Ore también tiene un suministro fijo de 21 millones de tokens. En promedio, solo se minará 1 ORE nuevo por minuto, por lo que el total de 21 millones de ORE se habrá minado aproximadamente para 2064. Recomiendo leer el artículo de kelxyz en el blog de Helius, que explica Ore con mayor detalle.

Potencia de hash

La potencia de hash se refiere a la potencia computacional utilizada para minar criptomonedas y se mide con precisión por la cantidad de cálculos (hashes) realizados por segundo. Una mayor potencia de hash indica una mayor capacidad computacional, lo que permite a los mineros resolver problemas más rápido y aumentar sus probabilidades de obtener recompensas.

En este caso, tu dispositivo resolverá el problema y enviará una transacción para minar Ore. Para comprobar la potencia de hash de tu dispositivo, abre la Terminal o el Símbolo del sistema y ejecuta el comando ore benchmark. Como alternativa, puedes comprobarla en el sitio web de Ore. Las siguientes capturas de pantalla muestran que mi dispositivo puede generar 600 hashes por minuto (sollozos, necesito una laptop mejor). 

Drillx, el nuevo protocolo presentado por Ore v2, se basa en la CPU, lo que significa que un dispositivo con más núcleos puede realizar cálculos más rápido. Un núcleo es una unidad de procesamiento individual dentro de la CPU que puede ejecutar instrucciones. Cuantos más núcleos tenga una CPU, más tareas podrá procesar simultáneamente. 

¿Cómo puedo minar Ore?

Puedes minar ORE mediante la interfaz de línea de comandos (CLI) o la aplicación web del sitio web de Ore. Minar ORE consiste básicamente en resolver un problema matemático complejo para encontrar el hash y luego enviar la transacción. Por lo tanto, hay dos formas de aumentar tus recompensas de minería: usar un dispositivo con gran potencia computacional y poder incluir las transacciones más rápido. Drillx, el nuevo protocolo presentado por Ore v2, se basa en la CPU, lo que significa que un dispositivo con más núcleos puede realizar cálculos más rápido. Un núcleo es una unidad de procesamiento individual dentro de la CPU que puede ejecutar instrucciones. Cuantos más núcleos tenga una CPU, más tareas podrá procesar simultáneamente. 

Para lograr mejores tasas de inclusión, utiliza Staked Connections y comisiones de prioridad. Staked Connections te ofrece acceso prioritario al líder (el validador que está ejecutando la transacción en ese momento), lo que garantiza que el líder procese tus transacciones y no las descarte antes. Durante la etapa de procesamiento, las comisiones de prioridad incentivan al validador a ejecutar tu transacción antes que otras. En pocas palabras, Staked Connections ayuda a enviar tus transacciones al líder y las comisiones de prioridad ayudan a ejecutarlas más rápido. Consulta este artículo para optimizar las transacciones, minimizar la latencia de confirmación y maximizar las tasas de entrega.

La CLI te dará mejor acceso al hardware de tu dispositivo y mayor control sobre la URL de RPC utilizada y las comisiones de prioridad configuradas. Sin embargo, el sitio web puede ser un buen punto de partida para principiantes. 

Web

Primero, visita el sitio web de Ore y conecta tu billetera.

Se te redirigirá para crear una cuenta de minería nueva. Cuando hagas clic en “Crear cuenta”, se te pedirá firmar una transacción. Si aparece el error “se agotó el tiempo de espera”, quizá debas volver a intentarlo haciendo clic otra vez en “Crear cuenta”. Este error ocurre cuando la transacción que firmaste no se procesa y vence

La minería comenzará automáticamente. Se te pedirá firmar las transacciones cuando se encuentre un hash, por lo que conviene no ejecutar este proceso en segundo plano.

Por último, puedes volver a la página de inicio para comprobar tu saldo y hacer clic en “Reclamar” para transferir las recompensas a tu billetera. También puedes consultar tu actividad cambiando a la pestaña Personal

CLI

Una interfaz de línea de comandos (CLI) es una interfaz de usuario basada en texto que permite interactuar con un sistema informático, un sistema operativo o una aplicación desde una terminal. Según tu sistema operativo, debes abrir las aplicaciones Terminal (macOS y sistemas operativos basados en Linux) o Símbolo del sistema (Windows).

Requisitos previos

  1. Rust y Cargo
  2. Solana CLI

Puedes comprobar si el software anterior se instaló correctamente ejecutando estos comandos:

Aquí se utiliza && para ejecutar los comandos en una fila.

Instalación en Windows

Rust y Cargo

Descarga y ejecuta rustup-init.exe. La instalación comenzará en una consola y mostrará este mensaje cuando finalice correctamente: Rust is installed now.

Solana CLI

Abre el Símbolo del sistema y ejecuta los siguientes comandos:

Código
cmd /c "curl https://release.solana.com/v1.18.18/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"
Código
C:\solana-install-tmp\solana-install-init.exe v1.18.18

Instalación en Linux/macOS

Rust y Cargo

Código
curl https://sh.rustup.rs -sSf | sh

Solana CLI

Código
sh -c "$(curl -sSfL https://release.solana.com/v1.18.18/install)"

Instala Ore CLI

Código
cargo install ore-cli

Puedes utilizar el mismo comando para actualizar la CLI a versiones más recientes. 

Configura la red

Cambiemos la red a Mainnet, ya que actualmente solo puedes minar ORE allí. De forma predeterminada, Ore envía todas las solicitudes de minería a “https://api.mainnet-beta.solana.com”. El comando solana config set permite cambiar la configuración. Con la marca --url, podemos cambiar la configuración de red: 

Código
solana config set --url https://api.mainnet-beta.solana.com

Puedes cambiar la URL por cualquier URL de RPC. Por ejemplo, Helius ofrece acceso a Staked Connections en sus planes compartidos a partir de $49 al mes, lo que resulta más conveniente que usar la URL predeterminada. Reemplaza la URL de RPC del comando anterior por la URL de RPC que prefieras entre comillas dobles:

Código
solana config set --url "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Configura una billetera

Creemos una billetera para firmar la transacción, pagar las comisiones de red y recibir las recompensas. Si ya tienes una billetera en tu dispositivo, puedes omitir este paso:

Código
solana-keygen new

El comando anterior crea una billetera nueva. Tendremos que agregar algo de SOL a esta billetera para cubrir las comisiones de nuestras transacciones de minería. Usa este comando para obtener la clave pública de la billetera: 

Código
solana address

Copia la dirección y transfiérele algo de SOL. También puedes comprobar el saldo de esta billetera con el siguiente comando:

Código
solana balance

¡Tu billetera ya está lista para minar ORE!

Comienza a minar

Para minar ORE con todas las configuraciones predeterminadas, utiliza: 

Código
ore mine

Y listo, comenzará a minar ORE. 

Configuraciones avanzadas

Para cambiar la configuración predeterminada, agregamos marcas al comando ore mine. Las marcas pueden agregarse mediante --<command>. Puedes pasar varias marcas a la vez. 

RPC

Si deseas agregar el endpoint de Mainnet de tu proveedor de RPC, puedes cambiar de red agregando la marca --rpc seguida de la dirección de red de tu proveedor de RPC:

Código
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Comisiones de prioridad

En la captura de pantalla anterior de la minería de ORE, la comisión de prioridad está configurada en 50000 microlamports. Podemos cambiar este y otros parámetros. Cuando hay congestión, las comisiones de prioridad incentivan al validador que está ejecutando las transacciones en ese momento a procesar las tuyas. La idea es que las transacciones que pagan comisiones más altas se procesen antes, lo que garantiza una ejecución más rápida para quienes estén dispuestos a pagar más.

Utiliza esta marca si quieres usar las comisiones de prioridad dinámicas que ofrece tu proveedor de RPC, siempre que lo hayas configurado mediante la marca --rpc: 

Código
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Si tienes otra URL para consultar las comisiones dinámicas, agrega esa URL de RPC entre comillas dobles para estimarlas:

Código
ore mine --dynamic-fee-url <DYNAMIC_FEE_URL>

Puedes agregar una comisión de prioridad fija mediante la marca --priority-fee. Si utilizas comisiones dinámicas, este será el valor máximo. Ten en cuenta que el valor predeterminado es 500000:  

Código
ore mine --priority-fee <MICROLAMPORTS>

Otras configuraciones

Cuando creamos una billetera, su configuración como pagador de comisiones se almacena en una ubicación predeterminada. Por ejemplo: /Users/username/.config/solana/id.json

Si deseas utilizar como pagador de comisiones otra billetera almacenada en una ubicación diferente, puedes agregar la ruta del archivo de ese pagador mediante este comando:

Código
ore mine --priority-fee <MICROLAMPORTS>

Como ORE es un token SPL, se crea una cuenta de token asociada (ATA) donde se almacena el ORE. Esta ATA se creó cuando comenzamos a minar por primera vez. Sin embargo, si quieres que otra cuenta almacene el ORE, puedes agregar la ruta de su archivo de par de claves:

Código
ore mine --keypair <KEYPAIR_FILEPATH>

Para usar todos los comandos anteriores, debes seguir agregándolos después de ore mine. 

Como alternativa, puedes guardar todas estas configuraciones en un archivo YML y pasar directamente la ruta del archivo:

Código
ore mine --config <PATH>

Un archivo config.yml de ejemplo tendrá este aspecto:

Código
---
json_rpc_url: https://mainnet.helius-rpc.com/?api-key=<your-key>
websocket_url: ''
keypair_path: /Users/example/.config/solana/id.json
address_labels:
  '11111111111111111111111111111111': System Program
commitment: confirmed

Ten en cuenta que Ore CLI se actualiza constantemente. Asegúrate de usar la versión más reciente de la CLI para acceder a los comandos nuevos y a todas las correcciones de errores mediante el comando:   

Código
cargo install ore-cli

Puedes comprobar la versión actual con el siguiente comando: 

Código
ore -V

El comando ore help enumera todas las marcas actuales, lo que hacen y sus argumentos.

Reclama ORE

Todo el ORE minado vuelve a ponerse en staking. Para retirarlo del staking y reclamarlo, solo tienes que ejecutar el siguiente comando para enviar las recompensas de minería a tu billetera:

Código
ore claim

Puedes utilizar el comando ore stake para poner en staking tu saldo de ORE.

Conclusión

Bitcoin nos mostró el camino al crear una forma segura y descentralizada de gestionar dinero digital. Ahora, Ore va más allá al hacer que la minería sea más justa mediante su nuevo algoritmo. Su nueva versión introduce el staking para garantizar que los mineros conserven ORE en lugar de venderlo. Puedes minar ORE fácilmente mediante la aplicación web o la CLI. Backpack también publicó una guía sobre cómo minar Ore desde su aplicación de billetera. Ore CLI se mejora constantemente con funciones nuevas y todos los repositorios de este proyecto son de código abierto. Para conocer las últimas novedades, recomiendo seguir al fundador y a la cuenta oficial de Ore en Twitter / X. 

Si llegaste hasta aquí, ¡gracias, anon! Ingresa tu dirección de correo electrónico abajo para no perderte ninguna novedad sobre Solana. ¿Quieres profundizar? Explora los artículos más recientes en el blog de Helius y continúa hoy mismo tu recorrido por Solana.

Sitios de Ore

Recursos

Suscríbete a Helius

Mantente al día con las novedades del desarrollo en Solana y recibe actualizaciones cuando publiquemos

Imagen ampliada