日本円をNEM換算して任意のNEMアドレスに送信する、NEM Wallet用QRコードを生成するPHP。
2023年05月29日 12時00分 月齢:9.8[十日月] 潮汐:長潮
1年前に投稿 | 暗号資産(仮想通貨) | コメントはありません
6分ぐらいで読めます。
4年前に下書きして放置していた書きかけの記事を、なぜかこのタイミングで書き上げることにしましたー。
2021年3月に実施されたNEM(XEM)の大型アップデート「カタパルト」により、新プラットフォームの「Symbol」に主流が移りました。
当初から「シンボル」っていう名前がダサくて魅力を感じなかったんですよね。名前が発表されたときのガッカリ感は今でも覚えています。名前は大事なのです。「PayPay(ペイペイ)」や「まいどプラス」なんて、絶対使う気にならないもん。
しかも、シンボルは2023年5月時点でネムより安い価格で取引されています。ダメダメですやん。
そんな感じで今でもネム狂信者なのですが、4年前に作っていて放置していたネム取引用のツールをなんとなく公開してみますね。
日本円(JPY)の金額を入力すると、何XEMになるか計算して、NEM Walletで取引するためのQRコードを表示します。ZaifのAPIからNEMの価格を取得しています。
ハズカシイけどこんなソース。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="shortcut icon" href="https://susu.cc/test/nemicon.ico" type="image/x-icon">
<title>NEM請求用QRコード(JPY to NEM)</title>
</head><body>
<header>
<form action = "jtnx.php" method = "post">
<table>
<tr><td nowrap="nowrap">Price : </td><td><input type="number" name="price" step="any" autofocus> JPY</td></tr>
<tr><td nowrap="nowrap">Message : </td><td><input type="text" name="message" style="width:200px; max-width:90%;"></td></tr>
<tr><td nowrap="nowrap">Address : </td><td><input type="text" name="address" style="width:200px; max-width:90%;"></td></tr>
</table>
<p><input type = "submit" value ="送信"></p>
</form>
</header><section>
<?php
//フォームデータ受け取り
if (empty($_POST['price']) || ($_POST['price']) == 0){ //空っぽや000などのときは入力をうながす
echo '<div>';
echo '<p>Price欄に金額(JPY)を入力してネ。</p>';
echo '</div>';
}
else{//NEM価格の取得
$url = 'https://api.zaif.jp/api/1/ticker/xem_jpy';
$json = mb_convert_encoding(file_get_contents($url), 'UTF-8','ASCII,JIS,UTF8,EUC-JP,SJIS-WIN,SJIS');
$json_arr = json_decode($json,true);
if ($json_arr === NULL) {
echo '0';
}
else{
$vwap = $json_arr['vwap'];
echo '<div><p>1 XEM = ' . $vwap .' JPY</p></div>';
}//JPYをNEMに換算
if (($_POST['price'] < 0)) {
$price = $_POST['price'] * -1;//マイナスの数値もプラスにしてしまう
}
else{
$price = $_POST['price'] * 1;//01などの数字から前0を落とす(いらないかも)
}
$amount = round($price / $vwap,5);//量の計算$address = $_POST['address'];//送信先NEMアドレス
if (empty($address)) {
$address = "NAMEKOKIDITOSYABXYBJ5P2J6HIN7CFAMKFN2R7B";//NEMアドレスが空白なら煤のものに…
}
else {
$address = $_POST['address'];
}$xamount = $amount * 1000000;//μXEMに換算
$message = $_POST['message'];
$rawurl = '{"v":2,"type":2,"data":{"addr":"'.$address.'","amount":'.$xamount.',"msg":"'.$message.'","name":"NEMpay"}}';echo '<div>';
echo '<p>'.$price.' JPY = '.$amount.' XEM</p>';
echo '<p style="word-break:break-all;">「'.$address.'」あてに「'.$amount.' XEM」を送信するQRコードです。</p>';
echo '<p style="text-align:center;"><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>';
}
?>
</section></body>
</html>
もしNEMアドレス欄が空白なら、ボクがいくつか持っているアドレスのうちのひとつ「なめこアドレス」(NAMEKOで始まるから)に送られるようにしています。いひひ。
「これでネムを使って簡単に決済ができるゾ。なんか商売に使えそう。」と思っていたところ、新型コロナウイルスのせいで状況が変わって、一気にQRコード決済や電子マネー決済が普及してしまったんですよー。で、ずっと放置していたっていうワケ。
NEM投げ銭
NEM WalletからQRコードを読んでね。1口100円でございます。
古い記事・新しい記事
- 古い記事 [2021年04月29日]
- ← NEMのカタパルト(Symbol)とは…NEMberたちはこんなものを待ち望んでいたのか。
- 新しい記事 [2024年05月06日]
- → 知らないうちに「NEMLOG」が閉鎖されていた…