目錄
那它是如何運作的?
理論上似乎是沒有問題的,那讓我們建構它。
第1步:設定伺服器
步驟2:寫付款類別
最後一步:與您的網站整合
首頁 後端開發 php教程 如何利用php開發以太坊的支付系統

如何利用php開發以太坊的支付系統

Sep 10, 2018 pm 02:14 PM
以太坊

本文是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"
登入後複製

在Windows上安裝vanity-eth後:

如何利用php開發以太坊的支付系統

#還需要一些Etherum節點。我正在使用Parity,因為它快速可靠。

使用這些參數啟動它,但不要將節點直接暴露給Internet,將它們保留在防火牆後面而不進行連接埠轉送。

parity --jsonrpc-interface 0.0.0.0 --jsonrpc-hosts="all" --auto-update=all --jsonrpc-cors null
登入後複製

完成同步的奇偶校驗日誌:

如何利用php開發以太坊的支付系統

#為了更快部署,您可以使用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));
        }
    }
}
登入後複製

最後一步:與您的網站整合

#根據您的服務,有多種方法可以執行此操作。

在API Heaven,我們為每位客戶提供一個可以存入資金的ETH地址。 cronjob每分鐘檢查所有客戶地址以檢測變更。如果他們將ETH加到地址,則餘額將轉換為API配額,因此我們的客戶甚至不需要登入該網站來添加資金。

API Heaven中的範例整合:

如何利用php開發以太坊的支付系統

#另一個方法是計算固定價格並將其保存在使用者會話中。客戶必須在網站上付款,並且您需要向AJAX查詢已收到的付款。如果收到全部金額,後端會觸發銷售。

最重要的是,您不需要外部服務來在您的網站上整合以太坊支付系統。來一起邊學邊玩以太坊吧。

相關推薦:

如何用PHP開發線上支付系統

#如何開發一個虛擬網域系統

以上是如何利用php開發以太坊的支付系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

十大數字虛擬貨幣app排行榜 幣圈交易數字貨幣交易所排名前十 十大數字虛擬貨幣app排行榜 幣圈交易數字貨幣交易所排名前十 Apr 22, 2025 pm 03:00 PM

十大數字虛擬貨幣app排行榜分別是:1. OKX,2. Binance,3. gate.io,4. Coinbase,5. Kraken,6. Huobi,7. KuCoin,8. Bitfinex,9. Bitstamp,10. Poloniex。這些交易所根據交易量、用戶體驗和安全性等因素評選,均提供多種數字貨幣交易服務和高效的交易體驗。

適合新手的數字貨幣交易App有哪些?一文了解幣圈 適合新手的數字貨幣交易App有哪些?一文了解幣圈 Apr 22, 2025 am 08:45 AM

選擇適合新手的數字貨幣交易平台需考慮安全性、易用性、教育資源和費用透明度:1. 優先選擇提供冷存儲、雙重驗證和資產保險的平台;2. 界面簡潔、操作清晰的App更適合新手;3. 平台應提供教程和市場分析等學習工具;4. 注意交易手續費和提現費等隱性成本。

虛擬幣最老的幣排行榜最新更新 虛擬幣最老的幣排行榜最新更新 Apr 22, 2025 am 07:18 AM

虛擬貨幣“最老”排行榜如下:1. 比特幣(BTC),發行於2009年1月3日,是首個去中心化數字貨幣。 2. 萊特幣(LTC),發行於2011年10月7日,被稱為“比特幣的輕量版”。 3. 瑞波幣(XRP),發行於2011年,專為跨境支付設計。 4. 狗狗幣(DOGE),發行於2013年12月6日,基於萊特幣代碼的“迷因幣”。 5. 以太坊(ETH),發行於2015年7月30日,首個支持智能合約的平台。 6. 泰達幣(USDT),發行於2014年,是首個與美元1:1錨定的穩定幣。 7. 艾達幣(ADA),發

okx在線  okx交易所官網在線 okx在線 okx交易所官網在線 Apr 22, 2025 am 06:45 AM

OKX 交易所的詳細介紹如下:1) 發展歷程:2017 年創辦,2022 年更名為 OKX;2) 總部位於塞舌爾;3) 業務範圍涵蓋多種交易產品,支持 350 多種加密貨幣;4) 用戶遍布 200 餘個國家,千萬級用戶量;5) 採用多重安全措施保障用戶資產;6) 交易費用基於做市商模式,費率隨交易量增加而降低;7) 曾獲多項榮譽,如“年度加密貨幣交易所”等。

各大虛擬貨幣交易平台的特色服務一覽 各大虛擬貨幣交易平台的特色服務一覽 Apr 22, 2025 am 08:09 AM

機構投資者應選擇Coinbase Pro和Genesis Trading等合規平台,關注冷存儲比例與審計透明度;散戶投資者應選擇幣安和火幣等大平台,注重用戶體驗與安全;合規敏感地區的用戶可通過Circle Trade和Huobi Global進行法幣交易,中國大陸用戶需通過合規場外渠道。

大宗交易的虛擬貨幣交易平台排行榜top10最新發布 大宗交易的虛擬貨幣交易平台排行榜top10最新發布 Apr 22, 2025 am 08:18 AM

選擇大宗交易平台時應考慮以下因素:1. 流動性:優先選擇日均交易量超50億美元的平台。 2. 合規性:查看平台是否持有美國FinCEN、歐盟MiCA等牌照。 3. 安全性:冷錢包存儲比例和保險機制是關鍵指標。 4. 服務能力:是否提供專屬客戶經理和定制化交易工具。

支持多種幣種的虛擬貨幣交易平台推薦前十名一覽 支持多種幣種的虛擬貨幣交易平台推薦前十名一覽 Apr 22, 2025 am 08:15 AM

優先選擇合規平台如OKX和Coinbase,啟用多重驗證,資產自託管可減少依賴:1. 選擇有監管牌照的交易所;2. 開啟2FA和提幣白名單;3. 使用硬件錢包或支持自託管的平台。

排名前十的數字貨幣交易所 數字貨幣app交易所排行榜前十 排名前十的數字貨幣交易所 數字貨幣app交易所排行榜前十 Apr 22, 2025 pm 03:15 PM

數字貨幣交易所排名前十分別是:1. OKX,2. Binance,3. gate.io,4. Coinbase,5. Kraken,6. Huobi,7. KuCoin,8. Bitfinex,9. Bitstamp,10. Poloniex。這些交易所根據交易量、用戶體驗和安全性等因素評選,均提供多種數字貨幣交易服務和高效的交易體驗。

See all articles