PHP code example of nyra / bip39

1. Go to this page and download the library: Download nyra/bip39 library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

nyra / bip39 example snippets



Nyra\Bip39\Bip39;

// 1. Generate a random 12-word mnemonic (128 bits entropy, English)
$mnemonic = Bip39::generateMnemonic();

// 2. Generate with different entropy (e.g. 256 bits => 24 words)
$mnemonic24 = Bip39::generateMnemonic(256);

// 3. Convert existing entropy (hex) to mnemonic
$entropyHex = '00000000000000000000000000000000';
$mnemonicFromEntropy = Bip39::entropyToMnemonic($entropyHex);

// 4. Convert mnemonic back to entropy
$roundTripEntropy = Bip39::mnemonicToEntropy($mnemonicFromEntropy); // == $entropyHex

// 5. Derive seed (binary or hex) with passphrase (e.g. official test vectors use "TREZOR")
$seedBin = Bip39::mnemonicToSeed($mnemonic, 'TREZOR');
$seedHex = Bip39::mnemonicToSeedHex($mnemonic, 'TREZOR');

// 6. Validate mnemonic
if (!Bip39::isValidMnemonic($mnemonic)) {
    throw new RuntimeException('Invalid mnemonic');
}

// 7. List supported languages
$languages = Bip39::languages(); // [ 'chinese_simplified', 'chinese_traditional', 'czech', ... ]

// 8. Generate mnemonics in other languages
$frenchMnemonic = Bip39::generateMnemonic(128, 'french');
$koreanMnemonic = Bip39::generateMnemonic(256, 'korean');

// 9. Work with Japanese (uses full-width ideographic separator U+3000 between words)
$japaneseEntropy = '00000000000000000000000000000000';
$japaneseMnemonic = Bip39::entropyToMnemonic($japaneseEntropy, 'japanese');
// Example (fragment): "あいこくしん あいこくしん ..."
$back = Bip39::mnemonicToEntropy($japaneseMnemonic, 'japanese');