Introducción
EOS es una plataforma de software basada en blockchain que proporciona infraestructura para aplicaciones descentralizadas (dApps). Su objetivo es proporcionar alta escalabilidad, baja latencia y una experiencia fácil de usar para desarrolladores y usuarios finales.
Hola Mundo
Comencemos con el ejemplo clásico de "Hola mundo" en el desarrollo de contratos inteligentes de EOS.
//Hello World contract
#include <eosio/eosio.hpp>
using namespace eosio;
class [[eosio::contract]] hello: public contract {
public:
using contract::contract;
[[eosio::action]]
void hi(name user) {
print("Hello, ", user);
}
};
EOSIO_DISPATCH(hello, (hi))
En este ejemplo, definimos un contrato llamado "hola". Dentro del contrato, definimos un método llamado "hola" que toma un parámetro de tipo "nombre". El tipo "nombre" en EOS representa un nombre de cuenta.
El atributo [eosio::action]
especifica que el método se puede invocar como una acción en el contrato. La función print
se utiliza para generar el mensaje de saludo.
Para compilar e implementar este contrato, puede usar las herramientas de línea de comandos de EOSIO. Así es como puedes hacerlo:
$ eosio-cpp -o hello.wasm hello.cpp
$ cleos set contract <account_name> <contract_directory>
Reemplace <account_name>
con el nombre de la cuenta con la que desea asociar el contrato y <contract_directory>
con el directorio que contiene los archivos del contrato.
Finalmente, puede invocar la acción "hola" utilizando las herramientas de línea de comandos de EOSIO:
$ cleos push action <contract_account> hi '["<user_name>"]' -p <user_name>
Reemplace <contract_account>
con el nombre de la cuenta donde se implementa el contrato y <user_name>
con el nombre de usuario deseado.
Debería ver el resultado Hello, <user_name>
impreso en la consola.
Conclusión
En este tutorial, aprendimos cómo crear un contrato inteligente simple "Hello World" usando EOS. EOS proporciona una plataforma poderosa para crear aplicaciones descentralizadas, y esto es solo la punta del iceberg.
Al explorar la documentación de EOS y los recursos de la comunidad, puede descubrir muchas más funciones y posibilidades para crear dApps en la cadena de bloques de EOS.