ZaifにNEMを確実に送金するためのPHP。

2019年06月28日 18時00分 正午の月齢:25.1  月名:二十六夜  潮汐:若潮 月齢:25.1[二十六夜] 潮汐:若潮
(最終更新日:2019年07月02日)
5年前に投稿 | 暗号資産(仮想通貨) | コメントはありません

4分ぐらいで読めます。

この記事は情報が古い場合があります。

ZaifにNEMを送るときはメッセージを入れる必要があります。これを忘れるとセルフGOX(自分で自分のコインをなくしてしまうこと)という事態に陥って、泣く破目になります。

メッセージとは「好きな言葉」ではなくて、アカウントごとに送信用のメッセージが決められています。これを1文字も間違うことなく毎回入れなければなりません。

「だったら最初からメッセージ込みでQRコードを作ってしまおう」と考えて、先日作ったPHPをちょっと改造してみました。

<!DOCTYPE html>

<html lang="ja">

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Zaif送信用QRコード</title>
</head>

<body>

<div>
<form action = "ntz.php" method = "post">
<table>
<tr><td>NEM : </td><td><input type = "number" name = "amount" step="any" autofocus> XEM</td></tr>
</table>
<p><input type = "submit" value ="送信"></p>
</form>
</div>

<?php
//フォームデータ受け取り
if (empty($_POST['amount']) || ($_POST['amount']) == 0){ //空っぽや000などのときは入力をうながす
echo '<div>';
echo '<p>NEMの量を入力してネ。</p>';
echo '</div>';
}
else{
if (($_POST['amount'] < 0)){
$amount = $_POST['amount'] * -1;//マイナスの数値もプラスにしてしまう
}
else{
$amount = round($_POST['amount'],6);//小数点のまるめ
}
$address = 'NAGJG3QFWYZ37LMI7IQPSGQNYADGSJZGJRD2DIYA';//送信先NEMアドレス(自分のアドレスに書き換えてください)
$xamount = $amount * 1000000;//μXEMに換算
$message = 'cad31caf9ef79682';//送信時に必須のメッセージ
$rawurl = '{"v":2,"type":2,"data":{"addr":"'.$address.'","amount":'.$xamount.',"msg":"'.$message.'","name":"NEM to Zaif"}}';

echo '<div>';
echo '<p>Zaifあてに'.$amount.'XEMを送信する。</p>';
echo '<p><img src="https://chart.apis.google.com/chart?chs=300x300&cht=qr&chld=H&chl=', rawurlencode($rawurl), '" alt="'.$amount.'XEM to '.$address.'" title="'.$amount.'XEM to '.$address.'"></p>';//エラー訂正レベル・高に設定(chld=H)
echo '</div>';
}
?>

</body>

</html>

サンプルはこちら。

この画面でQRコードを生成してNEM Walletに読ませれば、メッセージのミスはなくなります。ただし送信時にメッセージを暗号化しないように気をつける必要があります。これだけはQRコード生成でコントロールできないんですよね。

NEM投げ銭

NEM WalletからQRコードを読んでね。1口100円でございます。

37.70597XEM to NAMEKOKIDITOSYABXYBJ5P2J6HIN7CFAMKFN2R7B

古い記事・新しい記事

古い記事 [2019年06月27日]
新しい記事 [2019年07月17日]

コメントはありません

ごめんなさい、コメントフォームは閉鎖しています。

Translate »