Hi guys as the title says. how can I generate a QR code whenever the block_io.php generates a unique address? I seem to have a problem when calling $newAddressInfo or $newAddressInfo->data->address whenever I'm echo-ing it. Please disregard the missing characters as per it's perfectly working. so this is the whole script.
Bitcoin Address validator from Kyle : HIS YOUTUBE CHANNEL
QR GENERATOR FROM : TERRAGON
I just tweaked kyle's script.
SCRIPT :
require_once ("block_io.php");
$apiKey = "myAPIkey"; <br>
$version = 2; // API version <br>
$pin = "myPin";<br>
$block_io = new BlockIo($apiKey, $pin, $version);<br>
if(isset($_POST['submit'])){
$newAddressInfo = $block_io->get_new_address();
$address = $_POST['addr'];
$decoded = decodeBase58($address);
$d1 = hash("sha256", substr($decoded,0,21), true);
$d2 = hash("sha256", $d1, true);
if(substr_compare($decoded, $d2, 21, 4)){
$message = "Invalid Bitcoin Address";
} else {
$message1 = "Valid Address";
$message2 = "Your Receiving Address : ";
}
}
function decodeBase58($input) {
$alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
$out = array_fill(0, 25, 0);
for($i=0;$i<strlen($input);$i++){
if(($p=strpos($alphabet, $input[$i]))===false){
throw new \Exception("invalid character found");
}
$c = $p;
for ($j = 25; $j--; ) {
$c += (int)(58 * $out[$j]);
$out[$j] = (int)($c % 256);
$c /= 256;
$c = (int)$c;
}
if($c != 0){
throw new \Exception("address too long");
}
}
$result = "";
foreach($out as $val){
$result .= chr($val);
}
return $result;
}
</form method="post">
<input style="width: 100%;" name="addr" type="text">
<center><input name="submit" type="submit"><br>
if (isset($message)){ echo $message; } <br>
if (isset($message2)){ echo " Your Unique Deposit Address: " .$newAddressInfo->data->address."<br>"; } <br>
if (isset($message2)) $str = "Your Receiving Address : ";
$str ; echo $address = $_POST['addr']; <br>
if (isset($message2)){ echo img src='qr/qr_img.php?d=$newAddressInfo->data->address'> ; } <br>
</form>