← Web3 / web3 / ethereum-gateway / concepts
Сеть Ethereum
Сеть Ethereum представляет собой децентрализованную платформу для выполнения программ, которые называются смарт-контрактами. Смарт-контракт представляет собой программу, хранящуюся по уникальному адресу в сети и запускающуюся автоматически при инициировании транзакцией. Поскольку смарт-контракты работают в сети Ethereum, они способны выполнять любые вычисления, которые может выразить язык программирования общего назначения.
Когда смарт-контракт выполняется, каждый узел сети независимо проверяет результат. Затем сеть достигает консенсуса: все узлы соглашаются с результатом, который становится частью постоянной записи.
Смарт-контракты
За выполнение смарт-контракта нужно платить комиссию в валюте Ethereum, ETH. Эта комиссия, которую называют «gas», вознаграждает валидаторов сети за вычислительную работу по обработке вашей транзакции и добавлению её в блокчейн.
Если смарт-контракт переводит ETH между аккаунтами, эти изменения баланса тоже записываются в блокчейн. Таким образом блокчейн представляет собой полную и проверяемую запись текущего состояния сети, включая баланс каждого аккаунта и все данные, хранимые каждым смарт-контрактом.
Адресация
Транзакции группируются в блоки, а блоки соединяются последовательно в цепочку, образуя блокчейн: полную историю всех транзакций с момента запуска сети.
У каждого блока есть уникальный хеш-идентификатор (длинная шестнадцатеричная строка вида 0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3q), и каждая транзакция внутри блока также имеет собственный хеш. Вы можете использовать любой из этих хешей, чтобы найти и изучить конкретные блоки или транзакции.
Когда добавляется новый блок, информация о нём передаётся всем узлам сети. Поскольку все транзакции публичны и проверяемы, блокчейн обеспечивает прозрачную и подотчётную запись о состоянии сети.
Чтение и запись контента
Чтобы считывать данные из Ethereum, например проверять баланс аккаунта или запрашивать состояние смарт-контракта, вам нужен доступ к узлу Ethereum. Вы можете запустить узел самостоятельно (например, с помощью go-ethereum ↗) или использовать шлюз, например шлюз Cloudflare. Чтение выполняется через JSON-RPC API ↗, стандартный интерфейс для отправки запросов в сеть.
Чтобы записывать данные, например отправлять транзакцию или развёртывать смарт-контракт, также используется JSON-RPC API. Но при этом нужно дополнительно предоставить ETH для оплаты комиссии за транзакцию и подписать её закрытым ключом из вашего Кошелек Ethereum ↗. После отправки транзакция рассылается по сети и включается в блокчейн.
Подключение сайта к шлюзу
Чтобы обращаться к сети Ethereum по собственному доменному имени, не запуская собственный узел, вы можете создать шлюз Ethereum через Cloudflare.
Дополнительные материалы
Если вы хотите узнать больше, можно ознакомиться с официальной RPC документация ↗, а также официальную документацию предоставляется Ethereum ↗.