Jadual Kandungan
那它是如何工作的?
理论上似乎是没有问题的,那让我们构建它。
第1步:设置服务器
第2步:编写付款类
最后一步:与您的网站集成
Rumah pembangunan bahagian belakang tutorial php 如何利用php开发以太坊的支付系统

如何利用php开发以太坊的支付系统

Sep 10, 2018 pm 02:14 PM
Ethereum

本文是php开发以太坊系统,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。

当我第一次考虑通过加密货币实施支付时,我查看了像Stripe这样的可用解决方案。我觉得Stripe的问题在于,它只允许使用美国商家帐户进行比特币支付,所以这对我来说不是一个选择。在以太坊世界,它看起来更糟糕。有一些较新的服务,但他们都想要分享蛋糕。

那么从头开始构建以太坊支付系统,我们需要什么?

  • 运行PHP的Web服务器。

  • 启用了RPC的专用网络中至少有一个Parity节点。

  • 网络服务器上的虚拟地址生成器,如vanity-eth。

那它是如何工作的?

  • 使用coinbase或kraken API中的当前价格计算ETH的价格。

  • 使用虚拟生成器生成地址对,并将私钥加密或转移到另一个服务器。

  • 显示生成的地址给客户,如果收到付款,则每隔几秒检查一次地址。

理论上似乎是没有问题的,那让我们构建它。

第1步:设置服务器

我们将使用nodejs中的vanity-eth来生成地址。

npm install -g vanity-eth@1.0.4"
Salin selepas log masuk

在Windows上安装vanity-eth后:

1418372061-5b9082ef3d224_articlex.jpg

还需要一些Etherum节点。我正在使用Parity,因为它快速可靠。

使用这些参数启动它,但不要将节点直接暴露给Internet,将它们保留在防火墙后面而不进行端口转发。

parity --jsonrpc-interface 0.0.0.0 --jsonrpc-hosts="all" --auto-update=all --jsonrpc-cors null
Salin selepas log masuk

完成同步的奇偶校验日志:

2567405850-5b9082ef3df24_articlex.jpg

为了更快地部署,您可以使用Parity Docker容器。还可以保存数据,这样每次重新制作容器时都不必重新同步。

第2步:编写付款类

首先创建一个名为libs的文件夹,然后将php-ethereum repo克隆到其中。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));
        }
    }
}
Salin selepas log masuk

最后一步:与您的网站集成

根据您的服务,有多种方法可以执行此操作。

在API Heaven,我们为每位客户提供一个可以存入资金的ETH地址。cronjob每分钟检查所有客户地址以检测更改。如果他们将ETH添加到地址,则余额将转换为API配额,因此我们的客户甚至不需要登录该站点来添加资金。

API Heaven中的示例集成:

1088678934-5b9082ef48315_articlex.jpg

另一个方法是计算固定价格并将其保存在用户会话中。客户必须在网站上付款,并且您需要向AJAX查询已收到的付款。如果收到全部金额,后端会触发销售。

最重要的是,您不需要外部服务来在您的网站上集成以太坊支付系统。来一起边学边玩以太坊吧。

相关推荐:

如何用PHP开发在线支付系统

如何开发一个虚拟域名系统

Atas ialah kandungan terperinci 如何利用php开发以太坊的支付系统. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Berapa lama masa yang diperlukan untuk mengisi semula mata wang digital untuk tiba? Platform Pengisian Mata Wang Digital Mainstream yang disyorkan Berapa lama masa yang diperlukan untuk mengisi semula mata wang digital untuk tiba? Platform Pengisian Mata Wang Digital Mainstream yang disyorkan Apr 21, 2025 pm 08:00 PM

Masa untuk mengisi semula mata wang digital berbeza-beza bergantung kepada kaedah: 1. Pemindahan bank biasanya mengambil 1-3 hari bekerja; 2. Mengisi semula kad kredit atau platform pembayaran pihak ketiga dalam masa beberapa minit hingga beberapa jam; 3. Masa untuk mengecas semula pemindahan mata wang digital biasanya 10 minit hingga 1 jam berdasarkan masa pengesahan blockchain, tetapi mungkin ditangguhkan kerana faktor -faktor seperti kesesakan rangkaian.

Cara berdagang rantai kuantum Cara berdagang rantai kuantum Apr 21, 2025 pm 11:42 PM

Proses transaksi rantai kuantum (QTUM) termasuk tiga peringkat: penyediaan awal, pembelian dan penjualan. 1. Penyediaan: Pilih pertukaran yang mematuhi, mendaftarkan akaun, lakukan pengesahan identiti, dan sediakan dompet. 2. Beli Rantai Kuantum: Dana Recharge, Cari Pasangan Dagangan, Pesanan Tempat (Pesanan Pasaran atau Perintah Had), dan Sahkan Transaksi. 3. Jual rantai kuantum: Masukkan halaman dagangan, pilih pasangan dagangan dan jenis pesanan (pesanan pasaran atau pesanan had), sahkan transaksi dan tarik balik wang tunai.

Ramalan Harga Worldcoin (WLD) 2025-2031: Adakah WLD akan mencapai $ 4 menjelang 2031? Ramalan Harga Worldcoin (WLD) 2025-2031: Adakah WLD akan mencapai $ 4 menjelang 2031? Apr 21, 2025 pm 02:42 PM

Worldcoin (WLD) menonjol dalam pasaran cryptocurrency dengan mekanisme pengesahan biometrik dan perlindungan privasi yang unik, menarik perhatian banyak pelabur. WLD telah melakukan yang luar biasa di kalangan altcoin dengan teknologi inovatifnya, terutamanya dalam kombinasi dengan teknologi kecerdasan buatan terbuka. Tetapi bagaimanakah aset digital akan berkelakuan dalam beberapa tahun akan datang? Mari kita meramalkan harga masa depan WLD bersama -sama. Ramalan harga WLD 2025 dijangka mencapai pertumbuhan yang signifikan di WLD pada tahun 2025. Analisis pasaran menunjukkan bahawa harga WLD purata boleh mencapai $ 1.31, dengan maksimum $ 1.36. Walau bagaimanapun, dalam pasaran beruang, harga mungkin jatuh ke sekitar $ 0.55. Harapan pertumbuhan ini disebabkan terutamanya oleh WorldCoin2.

Perisian penting yang disyorkan untuk pihak kontrak mata wang Perisian penting yang disyorkan untuk pihak kontrak mata wang Apr 21, 2025 pm 11:21 PM

Platform Pertukaran Kontrak Cryptocurrency Top pada tahun 2025 adalah: 1. Binance Futures, 2.

Apakah yang dimaksudkan dengan transaksi rantaian rantaian? Apakah urus niaga salib? Apakah yang dimaksudkan dengan transaksi rantaian rantaian? Apakah urus niaga salib? Apr 21, 2025 pm 11:39 PM

Pertukaran yang menyokong urus niaga rantaian: 1. Binance, 2. Uniswap, 3 Sushiswap, 4. Kewangan Curve, 5. Thorchain, 6. 1 inci Pertukaran, 7.

Platform Pertukaran Cryptocurrency Top 10 senarai pertukaran mata wang digital terbesar di dunia Platform Pertukaran Cryptocurrency Top 10 senarai pertukaran mata wang digital terbesar di dunia Apr 21, 2025 pm 07:15 PM

Pertukaran memainkan peranan penting dalam pasaran cryptocurrency hari ini. Mereka bukan sahaja platform untuk pelabur untuk berdagang, tetapi juga sumber kecairan pasaran dan penemuan harga. Pertukaran mata wang maya terbesar di dunia di kalangan sepuluh teratas, dan pertukaran ini bukan sahaja jauh ke hadapan dalam jumlah dagangan, tetapi juga mempunyai kelebihan mereka sendiri dalam pengalaman pengguna, perkhidmatan keselamatan dan inovatif. Pertukaran yang atas senarai biasanya mempunyai pangkalan pengguna yang besar dan pengaruh pasaran yang luas, dan jumlah dagangan dan jenis aset mereka sering sukar dicapai oleh bursa lain.

Apakah rantai kuantum? Apakah urus niaga rantai kuantum? Apakah rantai kuantum? Apakah urus niaga rantai kuantum? Apr 21, 2025 pm 11:51 PM

Rantaian Kuantum (QTUM) adalah platform kontrak pintar yang terdesentralisasi sumber terbuka dan protokol penghantaran nilai. 1. Ciri-ciri Teknikal: Platform Kontrak Pintar POS yang serasi BIP, menggabungkan kelebihan Bitcoin dan Ethereum, memperkenalkan faktor-faktor rantaian dan meningkatkan fleksibiliti mekanisme konsensus. 2. Prinsip Reka Bentuk: Menyedari interaksi data rantaian dan rantaian luar melalui kontrak kawalan utama, bersesuaian dengan teknologi blockchain yang berbeza, mekanisme konsensus yang fleksibel, dan mempertimbangkan pematuhan industri. 3. Pasukan dan Pembangunan: Pasukan antarabangsa yang diketuai oleh Shuai Chu, 80% daripada syiling kuantum digunakan dalam masyarakat, dan 20% memberi ganjaran kepada pasukan dan pelabur. Rantai kuantum didagangkan di bursa Binance, Gate.io, OKX, Bithumb dan Matcha.

Kemas kini terkini mengenai kedudukan mata wang maya tertua Kemas kini terkini mengenai kedudukan mata wang maya tertua Apr 22, 2025 am 07:18 AM

Kedudukan mata wang maya '"tertua" adalah seperti berikut: 1. Bitcoin (BTC), yang dikeluarkan pada 3 Januari 2009, adalah mata wang digital yang terdesentralisasi pertama. 2. Litecoin (LTC), yang dikeluarkan pada 7 Oktober 2011, dikenali sebagai "versi ringan Bitcoin". 3. Ripple (XRP), yang dikeluarkan pada tahun 2011, direka untuk pembayaran rentas sempadan. 4. Dogecoin (Doge), yang dikeluarkan pada 6 Disember 2013, adalah "koin meme" berdasarkan kod Litecoin. 5. Ethereum (ETH), yang dikeluarkan pada 30 Julai 2015, adalah platform pertama untuk menyokong kontrak pintar. 6. Tether (USDT), yang dikeluarkan pada tahun 2014, adalah stablecoin pertama yang akan berlabuh ke dolar AS 1: 1. 7. Ada,

See all articles