Введение
EOS — это программная платформа на основе блокчейна, которая обеспечивает инфраструктуру для децентрализованных приложений (dApps). Он направлен на обеспечение высокой масштабируемости, низкой задержки и удобного взаимодействия для разработчиков и конечных пользователей.
Привет, мир
Давайте начнем с классического примера «Hello World» в разработке смарт-контрактов 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))
В этом примере мы определяем контракт под названием «hello». Внутри контракта мы определяем метод под названием «привет», который принимает параметр типа «имя». Тип «имя» в EOS представляет собой имя учетной записи.
Атрибут [eosio::action]
указывает, что метод может быть вызван как действие над контрактом. Функция print
используется для вывода приветственного сообщения.
Чтобы скомпилировать и развернуть этот контракт, вы можете использовать инструменты командной строки EOSIO. Вот как это сделать:
$ eosio-cpp -o hello.wasm hello.cpp
$ cleos set contract <account_name> <contract_directory>
Замените <account_name>
на имя учетной записи, с которой вы хотите связать контракт, и <contract_directory>
на каталог, содержащий файлы контракта.
Наконец, вы можете вызвать действие «привет» с помощью инструментов командной строки EOSIO:
$ cleos push action <contract_account> hi '["<user_name>"]' -p <user_name>
Замените <contract_account>
именем учетной записи, в которой развернут контракт, а <user_name>
— желаемым именем пользователя.
Вы должны увидеть выходные данные Hello, <user_name>
напечатанные на консоли.
Заключение
В этом уроке мы узнали, как создать простой смарт-контракт «Hello World» с использованием EOS. EOS предоставляет мощную платформу для создания децентрализованных приложений, и это только верхушка айсберга.
Изучая документацию EOS и ресурсы сообщества, вы можете открыть для себя множество других функций и возможностей для создания dApps на блокчейне EOS.