Vpub - PHP Online

Form of PHP Sandbox

Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php in the places where the PHP script should be executed.



Your result can be seen below.

Result of php executing





Full code of Vpub.php

  1.  
  2. <?php
  3.  
  4. require_once '/home/bitbnwrn/vendor/autoload.php'; // Подключение зависимостей (например, библиотеки bitcoin-php)
  5.  
  6. use BitWasp\Bitcoin\Bitcoin;
  7. use BitWasp\Bitcoin\Key\Factory\HierarchicalKeyFactory;
  8. use BitWasp\Bitcoin\Network\NetworkFactory;
  9. use BitWasp\Bitcoin\Script\ScriptType;
  10. use BitWasp\Bitcoin\Address\AddressCreator;
  11. use BitWasp\Bitcoin\Address\SegwitAddress;
  12. use BitWasp\Bitcoin\Crypto\Hash;
  13. use BitWasp\Buffertools\Buffer;
  14.  
  15. // Установка сети (в данном случае, используется биткойн сеть)
  16. Bitcoin::setNetwork(NetworkFactory::bitcoin());
  17.  
  18. // Функция для генерации SegWit-адреса из публичного ключа
  19. function generateSegwitAddress($pubKey, $network)
  20. {
  21.     $scriptPubKey = ScriptType::p2wpkh()->payToPubKeyHash(Hash::sha256ripe160($pubKey));
  22.     $addressCreator = new AddressCreator();
  23.     $address = $addressCreator->fromOutputScript($scriptPubKey, $network);
  24.  
  25.     return $address->getAddress();
  26. }
  27.  
  28. // Сидовая фраза
  29. $seed = "your_seed_phrase_here";
  30.  
  31. // Создание мастер-ключа из сидовой фразы
  32. $masterKey = HierarchicalKeyFactory::fromEntropy(new Buffer($seed));
  33.  
  34. // Получение мастер-публичного ключа (vpub)
  35. $masterPublicKey = $masterKey->getPublicKey();
  36.  
  37. // Генерация SegWit-адреса из мастер-публичного ключа
  38. $segwitAddressVpub = generateSegwitAddress($masterPublicKey, Bitcoin::getNetwork());
  39.  
  40. // Вывод результатов
  41. echo "SegWit Address (vpub): " . $segwitAddressVpub;
  42.  
File Description
  • Vpub
  • PHP Code
  • 21 May-2023
  • 1.61 Kb
You can Share it: