国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php如何開發(fā)一個以太坊支付系統(tǒng)?

lidashuang / 2812人閱讀

摘要:最重要的是,您不需要外部服務來在您的網站上集成以太坊支付系統(tǒng)。來一起邊學邊玩以太坊吧。

當我第一次考慮通過加密貨幣實施支付時,我查看了像Stripe這樣的可用解決方案。我覺得Stripe的問題在于,它只允許使用美國商家?guī)暨M行比特幣支付,所以這對我來說不是一個選擇。在以太坊世界,它看起來更糟糕。有一些較新的服務,但他們都想要分享蛋糕。

那么從頭開始構建以太坊支付系統(tǒng),我們需要什么?

運行PHP的Web服務器。

啟用了RPC的專用網絡中至少有一個Parity節(jié)點。

網絡服務器上的虛擬地址生成器,如vanity-eth。

那它是如何工作的?

使用coinbase或kraken API中的當前價格計算ETH的價格。

使用虛擬生成器生成地址對,并將私鑰加密或轉移到另一個服務器。

顯示生成的地址給客戶,如果收到付款,則每隔幾秒檢查一次地址。

理論上似乎是沒有問題的,那讓我們構建它。 第1步:設置服務器

我們將使用nodejs中的vanity-eth來生成地址。

npm install -g vanity-eth@1.0.4"

在Windows上安裝vanity-eth后:

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

使用這些參數(shù)啟動它,但不要將節(jié)點直接暴露給Internet,將它們保留在防火墻后面而不進行端口轉發(fā)。

parity --jsonrpc-interface 0.0.0.0 --jsonrpc-hosts="all" --auto-update=all --jsonrpc-cors null

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

為了更快地部署,您可以使用Parity Docker容器。還可以保存數(shù)據,這樣每次重新制作容器時都不必重新同步。

第2步:編寫付款類

首先創(chuàng)建一個名為libs的文件夾,然后將php-ethereum repo克隆到其中。ethereum-php項目是json-rpc類的一個很好的封裝。

然后我們使用以下類并將其另存為ethpay.php。這是支付處理的主要邏輯。你可以用它來:

生成地址對

檢查余額(待定的和已完成的)

從WEI轉換為ETH

eth = new Ethereum(RPC_IP, RPC_PORT);
        if(!$this->eth->net_version()) die("RPC ERROR");
    }

    / *
    *得到一個地址的余額,
    *來自parity的余額以十六進制形式出現(xiàn)在wei中
    *使用bc數(shù)學函數(shù)轉換它
    * /
    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);
    }
    //以下功能用于轉換和處理大數(shù)字
    function wei2eth($wei)
    {
        return bcdiv($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));
        }
    }
}
最后一步:與您的網站集成

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

在API Heaven,我們?yōu)槊课豢蛻籼峁┮粋€可以存入資金的ETH地址。cronjob每分鐘檢查所有客戶地址以檢測更改。如果他們將ETH添加到地址,則余額將轉換為API配額,因此我們的客戶甚至不需要登錄該站點來添加資金。

API Heaven中的示例集成:

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

最重要的是,您不需要外部服務來在您的網站上集成以太坊支付系統(tǒng)。來一起邊學邊玩以太坊吧。

如果你想直接動手學習PHP與以太坊的實戰(zhàn)內容,推薦我教程:

php以太坊教程,主要是介紹使用php進行智能合約開發(fā)交互,進行賬號創(chuàng)建、交易、轉賬、代幣開發(fā)以及過濾器和事件等內容。

這里是我的博客原文

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24287.html

相關文章

  • php如何開發(fā)一個以太支付系統(tǒng)

    摘要:最重要的是,您不需要外部服務來在您的網站上集成以太坊支付系統(tǒng)。來一起邊學邊玩以太坊吧。 當我第一次考慮通過加密貨幣實施支付時,我查看了像Stripe這樣的可用解決方案。我覺得Stripe的問題在于,它只允許使用美國商家?guī)暨M行比特幣支付,所以這對我來說不是一個選擇。在以太坊世界,它看起來更糟糕。有一些較新的服務,但他們都想要分享蛋糕。 那么從頭開始構建以太坊支付系統(tǒng),我們需要什么? ...

    fxp 評論0 收藏0
  • Web程序員如何入門以太開發(fā)

    摘要:加入以太坊生態(tài)系統(tǒng),一起征服世界。數(shù)字,字符串等要注意的第二件事是以太坊中的是位。一旦你掌握了這些東西,我個人會認為你是一個有能力的以太坊開發(fā)者 我經常構建使用以太坊的Web應用程序,我理所當然地認為每天都使用的是神奇的工具集。我們的生態(tài)系統(tǒng)正在迅速發(fā)展,我認為很多新人都感到不知所措。以太坊是一項了不起的技術,但它也是新生的,而且根本沒有足夠的時間讓專業(yè)知識充分滲透。我希望人們知道以太...

    SwordFly 評論0 收藏0
  • Web程序員如何入門以太開發(fā)

    摘要:加入以太坊生態(tài)系統(tǒng),一起征服世界。數(shù)字,字符串等要注意的第二件事是以太坊中的是位。一旦你掌握了這些東西,我個人會認為你是一個有能力的以太坊開發(fā)者 我經常構建使用以太坊的Web應用程序,我理所當然地認為每天都使用的是神奇的工具集。我們的生態(tài)系統(tǒng)正在迅速發(fā)展,我認為很多新人都感到不知所措。以太坊是一項了不起的技術,但它也是新生的,而且根本沒有足夠的時間讓專業(yè)知識充分滲透。我希望人們知道以太...

    kidsamong 評論0 收藏0
  • 如何開發(fā)以太支付

    摘要:在這篇文章中,我將實現(xiàn)一個簡單但完整的以太坊支付通道。發(fā)送者簽署消息,指明該中應向接收者支付多少。以太坊,主要是針對工程師使用進行區(qū)塊鏈以太坊開發(fā)的詳解。 在這篇文章中,我將實現(xiàn)一個簡單但完整的以太坊支付通道。支付通道使用密碼簽名,以安全、即時、無交易費用重復地傳送Ether。 什么是支付通道? 以太坊交易提供了一種安全的方式來轉賬,但每個交易需要被包括在一個區(qū)塊中和并被挖掘。這意味著...

    Anleb 評論0 收藏0
  • 智能合約實施指南

    摘要:在協(xié)議結束時,智能合約被視為已履行并仍存儲在區(qū)塊鏈網絡中。這組條件和事件代表了最基本的一次性智能合約。智能合約用例智能合約越來越受歡迎,并已在各種區(qū)塊鏈項目中實施。 與區(qū)塊鏈技術一樣,智能合約在商業(yè)領域也非常有價值。 為了讓我們的讀者徹底了解智能合約是什么以及它們如何影響現(xiàn)代商業(yè)的交易方式,我們準備了本指南。 集中商業(yè)模式正在給去中心化的模式讓路 傳統(tǒng)的商業(yè)關系模型都是集中式的,始終存...

    meteor199 評論0 收藏0

發(fā)表評論

0條評論

lidashuang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<