Цей допис востаннє відредаговано malakashi 2018-8-25 23:11
З минулого року ми розвиваємо блокчейн-бізнес. Нещодавно користувався Ethereum і PHP, тому вирішив, що варто поговорити про цю тему. Ось передумова: - 1. Розумійте блокчейн
- 2. Розуміння мов програмування
Основні висновки з цієї статті: - 1. Середовище розвитку
- 2. Впровадження Ethereum
- 3. Підготуйте дзвінок JSON-RPC
- 4. Доступ з PHP
1. Середовище розвиткуМи будемо використовувати Ubuntu 14.04 LTS. Після встановлення операційної системи введіть заздалегідь визначені команди. Після цього я налаштував SSH, iptables, ntp тощо. А ще є Apache + PHP. PHP-версія буде 5.5.
2. Впровадження EthereumЦього разу ми використаємо Ethereum-вузол на мові GO, скорочено go-ethereum як geth. Спочатку додамо репозиторій. Після цього просто встановіть його. Запустіть Гета одразу після завершення встановлення. Спочатку створіть каталог даних і опишіть налаштування першого блоку (genesis block). Далі створіть блок Genesis і почніть гетів. У консольному режимі запуск проходить успішно. Наведено кілька варіантів, а пояснення підсумовано нижче. - networkid, який підключається до публічного вузла.
- порт, який є портом для очікування. Я змінив його на чотиризначний номер.
- nodiscover — це налаштування, яке не дає вузлам автоматично переглядати.
- datadir, що вказує каталог, де блокчейн зберігає дані.
- консоль, яка запускає консоль одночасно з її запуском.
Добре, готуйтеся до наступного виклику PHP, але перед тим давайте більше підготуємося на стороні гетів. 3. Підготуйте дзвінок JSON-RPCДоступ з PHP через JSON-RPC. Тут ми облаштуємо район. Спочатку буде отримано інформацію про поточний рахунок. Ми також використовуємо гетську консоль, яку запускали минулого разу. Ми ще не створили обліковий запис, тому його потрібно створити. Обліковий запис тепер створено. Ми налаштували це так, щоб нагороди можна було отримувати під час майнінгу. Далі, оскільки поточний вузол не дозволяє виклики RPC, додайте опцію і запустіть її знову. Давайте спочатку покінчимо з гетами. Давайте додамо опції і почнемо заново Додано кілька варіантів RPC. Пояснення таке. - rpc, що дозволяє RPC бути в режимі очікування.
- rpcaddr — IP-адреса для RPC Alternates.
- rpcport — порт, який використовувався для прослуховування RPC. Я знизив номер порту до 4 цифр.
- rpccorsdomain — домен, який дозволяє доступ до RPC. Зверніть увагу, що при публікації вузла, якщо це «*», все дозволяється.
Сторона вузла тепер готова. Далі буде дзвінок від PHP. 4. Доступ з PHPІ нарешті, навіщо отримувати доступ з PHP, але мати їх, бо це досить складно і може використовуватися при написанні кодуОсь цей。 Як видно в README, потрібно лише створити клас. Давайте використаємо його, помістивши його в ту ж директорію, що й тестовий скрипт. Коли ми запускаємо цей скрипт, має бути список акаунтів наступним чином.
Якщо не вдається підключитися, перевірте налаштування портів тощо. Поки що ми коротко це пояснили, але хіба не здається дивовижно легко розробляти з PHP? Що стосується смарт-контрактів, ситуація ускладнюється, і ми розповімо про це пізніше. Також, якщо хочете безпосередньо побачити, як блокчейн використовується в Ethereum, можете переглянути цеhttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, головним чином вводить використання PHP для взаємодії з розробкою смарт-контрактів, створення акаунтів, торгівлі, передачі, розробки токенів, фільтрів і подій тощо.
|