introduzione
EOS è una piattaforma software basata su blockchain che fornisce un'infrastruttura per applicazioni decentralizzate (dApp). Mira a fornire un'elevata scalabilità, bassa latenza e un'esperienza user-friendly per sviluppatori e utenti finali.
Ciao mondo
Iniziamo con il classico esempio "Hello World" nello sviluppo di contratti intelligenti 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))
In questo esempio, definiamo un contratto chiamato "ciao". All'interno del contratto definiamo un metodo chiamato "hi" che prende un parametro di tipo "name". Il tipo "nome" in EOS rappresenta un nome account.
L'attributo [eosio::action]
specifica che il metodo può essere richiamato come azione sul contratto. La funzione print
viene utilizzata per emettere il messaggio di saluto.
Per compilare e distribuire questo contratto, puoi utilizzare gli strumenti della riga di comando EOSIO. Ecco come puoi farlo:
$ eosio-cpp -o hello.wasm hello.cpp
$ cleos set contract <account_name> <contract_directory>
Sostituire <account_name>
con il nome dell'account a cui si desidera associare il contratto e <contract_directory>
con la directory contenente i file del contratto.
Infine, puoi invocare l'azione "ciao" utilizzando gli strumenti della riga di comando EOSIO:
$ cleos push action <contract_account> hi '["<user_name>"]' -p <user_name>
Sostituire <contract_account>
con il nome dell'account in cui viene distribuito il contratto e <user_name>
con il nome utente desiderato.
Dovresti vedere l'output Hello, <user_name>
stampato sulla console.
Conclusione
In questo tutorial, abbiamo imparato come creare un semplice contratto intelligente "Hello World" utilizzando EOS. EOS fornisce una potente piattaforma per la creazione di applicazioni decentralizzate, e questa è solo la punta dell'iceberg.
Esplorando la documentazione di EOS e le risorse della community, puoi scoprire molte altre funzionalità e possibilità per la creazione di dApp sulla blockchain di EOS.