目次
これを行うには、サービスに応じて複数の方法があります。
ホームページ バックエンド開発 PHPチュートリアル phpを使ってイーサリアムの決済システムを開発する方法

phpを使ってイーサリアムの決済システムを開発する方法

Sep 10, 2018 pm 02:14 PM
イーサリアム

この記事はイーサリアム システムの PHP 開発に関するもので、主にスマート コントラクトの開発と対話、アカウントの作成、トランザクション、送金、トークンの開発、フィルターとイベントなどのための PHP の使用法を紹介します。

最初に暗号通貨による支払いの実装を検討したとき、Stripe などの利用可能なソリューションを検討しました。 Stripe の問題は、米国の販売アカウントでのみビットコイン支払いを許可していることだと思うので、それは私にとって選択肢ではありません。イーサリアムの世界では、状況はさらに悪化しているようです。新しいサービスもいくつかありますが、それらはすべてケーキを共有したいと考えています。

それでは、イーサリアム決済システムをゼロから構築するには何が必要なのでしょうか?

  • #PHP を実行する Web サーバー。

  • プライベート ネットワーク内に RPC を有効にしたパリティ ノードを少なくとも 1 つ配置します。

  • ネットワーク サーバー上の仮想アドレス ジェネレーター (vanity-eth など)。

それでは、どのように機能するのでしょうか?

  • coinbase または kraken API からの現在の価格を使用して ETH の価格を計算します。

  • ダミー ジェネレーターを使用してアドレス ペアを生成し、秘密キーを暗号化するか、別のサーバーに転送します。

  • 生成されたアドレスを顧客に表示し、支払いが受領された場合は数秒ごとにアドレスを確認します。

理論的には問題なさそうなので、作ってみましょう。

ステップ 1: サーバーをセットアップする

nodejs で vanity-eth を使用してアドレスを生成します。

npm install -g vanity-eth@1.0.4"
ログイン後にコピー
Windows に vanity-eth をインストールした後:

phpを使ってイーサリアムの決済システムを開発する方法

また、いくつかの Etherum ノードが必要です。高速で信頼性の高いパリティを使用しています。

これらのパラメータを使用して起動しますが、ノードをインターネットに直接公開せず、ポート転送を行わずにファイアウォールの内側に保持します。

parity --jsonrpc-interface 0.0.0.0 --jsonrpc-hosts="all" --auto-update=all --jsonrpc-cors null
ログイン後にコピー
完了した同期のパリティ ログ:

phpを使ってイーサリアムの決済システムを開発する方法

デプロイを高速化するために、パリティ Docker コンテナを使用できます。データを保存することもできるため、コンテナーが再作成されるたびに再同期する必要がなくなります。

ステップ 2: 支払いクラスを作成する

まず、

libs というフォルダーを作成し、その中に php-ethereum リポジトリのクローンを作成します。 ethereum-php プロジェクトは、json-rpc クラスの優れたラッパーです。

次に、次のクラスを使用し、

ethpay.php として保存します。これが支払い処理のメインロジックです。これを使用して、次のことができます。

    #アドレス ペアの生成
  • #残高の確認 (保留中および完了)
  • WEI から ETH への変換
  • <?php  
    define(&#39;RPC_IP&#39;,&#39;127.0.0.1&#39;);
    define(&#39;RPC_PORT&#39;,8545);
    require &#39;libs/ethereum-php/ethereum.php&#39;;
    $e = new EthPay();
    class EthPay
    {
        private $eth;
            //让我们建立与parity节点的连接
        function __construct()
        {
            $this->eth = new Ethereum(RPC_IP, RPC_PORT);
            if(!$this->eth->net_version()) die('RPC ERROR');
        }
    
        / *
        *得到一个地址的余额,
        *来自parity的余额以十六进制形式出现在wei中
        *使用bc数学函数转换它
        * /
        function getBalanceOfAddress($addr)
        {
            $eth_hex = $this->eth->eth_getBalance($addr, 'latest');
            $eth = $this->wei2eth($this->bchexdec($eth_hex));
            $pending_hex = $this->eth->eth_getBalance($addr, 'pending');
            $pending = $this->wei2eth($this->bchexdec($pending_hex));
            return array('balance'=>$eth,'pending'=>$pending);
        }
        function getCurrentPrice($currency='USD')
        {
            $data = json_decode(file_get_contents('https://api.coinbase.com/v2/prices/ETH-'.$currency.'/spot'),true);
            return $data['data']['amount'];
        }
        /*
        *我们将使用vanityeth生成私钥对
        * npm install -g vanity-eth
        *我们必须重新格式化输出字符串以用作JSON
        * /
        function genPair()
        {
            exec('vanityeth', $outputAndErrors, $return_value);
            $answer = implode(NULL,$outputAndErrors);
            $answer = str_replace('address:','"address":',$answer);
            $answer = str_replace('privKey:','"privKey":',$answer);
            $answer = str_replace('\'','"',$answer);
            return json_decode($answer,true);
        }
        //以下功能用于转换和处理大数字
        function wei2eth($wei)
        {
            return bcp($wei,1000000000000000000,18);
        }
        function bchexdec($hex) {
            if(strlen($hex) == 1) {
                return hexdec($hex);
            } else {
                $remain = substr($hex, 0, -1);
                $last = substr($hex, -1);
                return bcadd(bcmul(16, $this->bchexdec($remain)), hexdec($last));
            }
        }
    }
    ログイン後にコピー
  • 最終ステップ: ウェブサイトとの統合

これを行うには、サービスに応じて複数の方法があります。

API Heaven では、資金を入金できる ETH アドレスを各顧客に提供しています。 cron ジョブは、すべての顧客アドレスを毎分チェックして変更を検出します。アドレスに ETH を追加すると、残高が API クォータに変換されるため、顧客は資金を追加するためにサイトにログインする必要さえありません。

API Heaven への統合サンプル:

phpを使ってイーサリアムの決済システムを開発する方法もう 1 つのアプローチは、固定価格を計算してユーザー セッションに保存することです。顧客は Web サイトで支払う必要があり、AJAX を使用して受け取った支払いを照会する必要があります。全額を受け取った場合、バックエンドが販売をトリガーします。

何よりも、Web サイトにイーサリアム支払いシステムを統合するために外部サービスは必要ありません。一緒にイーサリアムを学び、遊びましょう。

関連する推奨事項:

PHP を使用してオンライン決済システムを開発する方法


仮想ドメイン名システムを開発する方法

以上がphpを使ってイーサリアムの決済システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

量子チェーンとは何ですか?量子チェーントランザクションは何ですか? 量子チェーンとは何ですか?量子チェーントランザクションは何ですか? Apr 21, 2025 pm 11:51 PM

Quantum Chain(QTUM)は、オープンソースの分散型スマートコントラクトプラットフォームとバリュートランスミッションプロトコルです。 1。技術的な機能:ビットコインとイーサリアムの利点を組み合わせたBIP互換のPOSスマートコントラクトプラットフォームは、鎖オフチェーン要因を導入し、コンセンサスメカニズムの柔軟性を高めます。 2。設計原則:メインコントロール契約を通じてチェーン上および鎖オフチェーンのデータ相互作用を実現し、さまざまなブロックチェーンテクノロジー、柔軟なコンセンサスメカニズムと互換性があり、業界のコンプライアンスを検討します。 3。チームと開発:Shuai Chuが率いる国際チーム、量子コインの80%がコミュニティで使用され、20%がチームと投資家に報酬を与えています。量子チェーンは、Binance、Gate.io、OKX、Bithumb、およびMatcha交換で取引されています。

トップ10のデジタル仮想通貨アプリのランキング:通貨サークル取引におけるトップ10のデジタル通貨交換 トップ10のデジタル仮想通貨アプリのランキング:通貨サークル取引におけるトップ10のデジタル通貨交換 Apr 22, 2025 pm 03:00 PM

上位10のデジタル仮想通貨アプリは次のとおりです。1。Okx、2。Binance、3。Gate.io、4。Coinbase、5。Kraken、6。Huobi、7。Kucoin、8。Bitfinex、9。Bitstamp、10。Poloniex。これらの交換は、トランザクションのボリューム、ユーザーエクスペリエンス、セキュリティなどの要因に基づいて選択され、すべてがさまざまなデジタル通貨取引サービスと効率的な取引エクスペリエンスを提供します。

2025年の最新リリースで主流のコインを購入するためにいくつかのアプリをお勧めします 2025年の最新リリースで主流のコインを購入するためにいくつかのアプリをお勧めします Apr 21, 2025 pm 11:54 PM

主流のコインを購入できるアプリソフトウェアには、次のものが含まれます。1。バイナンス、世界をリードする、大規模なトランザクションボリューム、速度。 2。OKX、革新的な製品、低料金、高いセキュリティ。 3。Gate.io、さまざまな資産と取引オプション、セキュリティに焦点を当てています。 4。Huobi(HTX)、低料金、優れたユーザーエクスペリエンス。 5。コインベース、初心者に適し、高いセキュリティ。 6. Kraken、安全で準拠し、さまざまなサービスを提供しています。 7。Kucoin、低料金、プロのトレーダーに適しています。 8。ジェミニ、コンプライアンスを強調し、監護サービスを提供します。 9。Crypto.com、さまざまなオファーとサービスを提供します。 10。ビットスタンプ、古い交換、強い流動性、

クロスチェーントランザクションとはどういう意味ですか?クロスチェーントランザクションとは何ですか? クロスチェーントランザクションとはどういう意味ですか?クロスチェーントランザクションとは何ですか? Apr 21, 2025 pm 11:39 PM

クロスチェーントランザクションをサポートする交換:1。Binance、2。Uniswap、3。Sushiswap、4。CurveFinance、5。Thorchain、6。1inchExchange、7。DLNTrade、これらのプラットフォームはさまざまな技術を通じてマルチチェーン資産トランザクションをサポートします。

量子チェーンを取引する方法 量子チェーンを取引する方法 Apr 21, 2025 pm 11:42 PM

Quantum Chain(QTUM)トランザクションプロセスには、予備準備、購入、販売の3つの段階が含まれます。 1。準備:準拠した交換を選択し、アカウントを登録し、身元確認を実行し、ウォレットをセットアップします。 2。量子チェーンの購入:資金を充電し、取引ペアを見つけ、注文または注文を制限する)、取引を確認します。 3.量子チェーンの販売:取引ページを入力し、取引ペアと注文タイプ(市場注文または制限順序)を選択し、取引を確認し、現金を引き出します。

最古の仮想通貨のランキングに関する最新の更新 最古の仮想通貨のランキングに関する最新の更新 Apr 22, 2025 am 07:18 AM

仮想通貨の「最古」のランキングは次のとおりです。1。Bitcoin(BTC)は、2009年1月3日に発行され、最初の分散型デジタル通貨です。 2。2011年10月7日にリリースされたLitecoin(LTC)は、「ビットコインの軽量バージョン」として知られています。 3。2011年に発行されたRipple(XRP)は、国境を越えた支払い用に設計されています。 4。2013年12月6日に発行されたDogecoin(Doge)は、Litecoinコードに基づいた「Meme Coin」です。 5。2015年7月30日にリリースされたEthereum(ETH)は、スマートコントラクトをサポートする最初のプラットフォームです。 6。2014年に発行されたTether(USDT)は、米ドル1:1に固定された最初のスタブコインです。 7。アダ、

初心者に適したデジタル通貨取引アプリは何ですか? 1つの記事でコインサークルについて学びます 初心者に適したデジタル通貨取引アプリは何ですか? 1つの記事でコインサークルについて学びます Apr 22, 2025 am 08:45 AM

初心者に適したデジタル通貨取引プラットフォームを選択する場合、セキュリティ、使いやすさ、教育リソース、コストの透明性を考慮する必要があります。 2。シンプルなインターフェイスとクリア操作を備えたアプリは、初心者により適しています。 3.プラットフォームは、チュートリアルや市場分析などの学習ツールを提供する必要があります。 4.取引手数料や現金引き出し料などの隠れた費用に注意してください。

OKXオンラインOKX Exchange公式Webサイトオンライン OKXオンラインOKX Exchange公式Webサイトオンライン Apr 22, 2025 am 06:45 AM

OKX Exchangeの詳細な紹介は次のとおりです。1)開発履歴:2017年に設立され、2022年にOKXと改名。 2)セイシェルに本社を置く。 3)ビジネススコープは、さまざまな取引製品をカバーし、350を超える暗号通貨をサポートしています。 4)ユーザーは200か国以上に広がっており、数千万人のユーザーがいます。 5)ユーザー資産を保護するために、複数のセキュリティ対策が採用されています。 6)取引手数料はマーケットメーカーモデルに基づいており、取引量の増加とともに料金率が低下します。 7)「今年の暗号通貨交換」など、多くの栄誉を獲得しました。

See all articles