Table des matières
Alors, comment ça marche ?
Cela ne semble poser aucun problème en théorie, alors construisons-le.
Étape 1 : Configurer le serveur
Étape 2 : Écrire la classe de paiement
Dernière étape : Intégrer à votre site Web
Maison développement back-end tutoriel php Comment utiliser PHP pour développer le système de paiement d'Ethereum

Comment utiliser PHP pour développer le système de paiement d'Ethereum

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

Cet article concerne le développement PHP du système Ethereum. Il présente principalement l'utilisation de PHP pour le développement et l'interaction de contrats intelligents, la création de comptes, les transactions, les transferts, le développement de jetons, les filtres et les événements, etc.

Quand j'ai pensé pour la première fois à mettre en œuvre des paiements via crypto-monnaie, j'ai examiné les solutions disponibles comme Stripe. Je pense que le problème avec Stripe est qu'il autorise uniquement les paiements Bitcoin avec des comptes marchands américains, ce n'est donc pas une option pour moi. Dans le monde Ethereum, la situation semble encore pire. Il existe des services plus récents mais ils veulent tous partager le gâteau.

Alors, pour créer un système de paiement Ethereum à partir de zéro, de quoi avons-nous besoin ?

  • Un serveur web exécutant PHP.

  • Au moins un nœud de parité dans un réseau privé avec RPC activé.

  • Un générateur d'adresses virtuelles sur un serveur réseau, tel que vanity-eth.

Alors, comment ça marche ?

  • Calculez le prix de l'ETH en utilisant le prix actuel de Coinbase ou de l'API Kraken.

  • Utilisez un générateur factice pour générer des paires d'adresses et crypter ou transférer la clé privée vers un autre serveur.

  • Affichez l'adresse générée au client et vérifiez l'adresse toutes les quelques secondes si le paiement est reçu.

Cela ne semble poser aucun problème en théorie, alors construisons-le.

Étape 1 : Configurer le serveur

Nous utiliserons vanity-eth dans nodejs pour générer l'adresse.

npm install -g vanity-eth@1.0.4"
Copier après la connexion

Après avoir installé vanity-eth sur Windows :

Comment utiliser PHP pour développer le système de paiement dEthereum

Quelques nœuds Etherum sont également requis. J'utilise Parity parce que c'est rapide et fiable.

Démarrez-le avec ces paramètres, mais n'exposez pas les nœuds directement à Internet, gardez-les derrière un pare-feu sans redirection de port.

parity --jsonrpc-interface 0.0.0.0 --jsonrpc-hosts="all" --auto-update=all --jsonrpc-cors null
Copier après la connexion

Journal de parité de la synchronisation terminée :

Comment utiliser PHP pour développer le système de paiement dEthereum

Pour un déploiement plus rapide, vous pouvez utiliser des conteneurs Parity Docker. Les données peuvent également être enregistrées afin que vous n'ayez pas à resynchroniser à chaque fois que le conteneur est refait.

Étape 2 : Écrire la classe de paiement

Créez d'abord un dossier appelé libs et clonez-y le dépôt php-ethereum. Le projet ethereum-php est un bon wrapper pour la classe json-rpc.

Ensuite, nous utilisons la classe suivante et l'enregistrons sous ethpay.php. C'est la logique principale du traitement des paiements. Vous pouvez l'utiliser pour :

  • Générer des paires d'adresses

  • Vérifier le solde (en attente et complété)

  • Convertir de WEI en 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));
        }
    }
}
Copier après la connexion

Dernière étape : Intégrer à votre site Web

En fonction de votre service, il existe plusieurs façons de procéder à cette opération.

Chez API Heaven, nous fournissons à chaque client une adresse ETH où les fonds peuvent être déposés. Le cronjob vérifie toutes les adresses des clients toutes les minutes pour détecter les changements. S'ils ajoutent de l'ETH à l'adresse, le solde est converti en quota API, de sorte que nos clients n'ont même pas besoin de se connecter au site pour ajouter des fonds.

Exemple d'intégration dans API Heaven :

Comment utiliser PHP pour développer le système de paiement dEthereum

Une autre approche consiste à calculer un prix fixe et à l'enregistrer dans la session utilisateur. Le client doit payer sur le site Web et vous devez utiliser AJAX pour interroger le paiement reçu. Si le montant total est reçu, la vente est déclenchée sur le backend.

Mieux encore, vous n’avez pas besoin d’un service externe pour intégrer le système de paiement Ethereum sur votre site Web. Venez apprendre et jouer à Ethereum ensemble.

Recommandations associées :

Comment développer un système de paiement en ligne avec PHP

Comment développer un système de noms de domaine virtuels

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Combien de temps faut-il pour recharger la monnaie numérique pour arriver? Plates-formes de recharge de monnaie numérique recommandées Combien de temps faut-il pour recharger la monnaie numérique pour arriver? Plates-formes de recharge de monnaie numérique recommandées Apr 21, 2025 pm 08:00 PM

Le délai de recharge de la monnaie numérique varie en fonction de la méthode: 1. Le transfert bancaire prend généralement 1 à 3 jours ouvrables; 2. Recharge des cartes de crédit ou plates-formes de paiement tierces dans quelques minutes à quelques heures; 3. Le temps de recharge du transfert de monnaie numérique est généralement de 10 minutes à 1 heure en fonction du temps de confirmation de la blockchain, mais il peut être retardé en raison de facteurs tels que la congestion du réseau.

Comment échanger des chaînes quantiques Comment échanger des chaînes quantiques Apr 21, 2025 pm 11:42 PM

Le processus de transaction de la chaîne quantique (QTUM) comprend trois étapes: préparation, achat et vente préliminaires. 1. Préparation: sélectionnez un échange conforme, enregistrez un compte, effectuez une vérification d'identité et configurez un portefeuille. 2. Acheter des chaînes quantiques: recharge des fonds, trouver des paires de trading, des commandes de place (commandes du marché ou limiter les commandes) et confirmer les transactions. 3. Vendre des chaînes quantiques: entrez la page de négociation, sélectionnez la paire de négociation et le type de commande (commande de marché ou commande de limite), confirmez la transaction et retirez de l'argent.

Que signifie la transaction transversale? Quelles sont les transactions transversales? Que signifie la transaction transversale? Quelles sont les transactions transversales? Apr 21, 2025 pm 11:39 PM

Échanges qui prennent en charge les transactions transversales: 1. Binance, 2. UniSwap, 3. Sushiswap, 4. Curve Finance, 5. Thorchain, 6. 1inch Exchange, 7. DLN Trade, ces plateformes prennent en charge les transactions d'actifs multi-chaînes via diverses technologies.

Top 10 plates-formes d'échange de crypto-monnaie La plus grande liste de changes numériques au monde Top 10 plates-formes d'échange de crypto-monnaie La plus grande liste de changes numériques au monde Apr 21, 2025 pm 07:15 PM

Les échanges jouent un rôle essentiel sur le marché des crypto-monnaies d'aujourd'hui. Ce ne sont pas seulement des plateformes pour les investisseurs pour négocier, mais aussi des sources importantes de liquidité du marché et la découverte des prix. Les plus grands échanges de devises virtuels au monde se classent parmi les dix premiers, et ces échanges sont non seulement bien en avance dans le volume des échanges, mais présentent également leurs propres avantages dans l'expérience utilisateur, la sécurité et les services innovants. Les échanges qui dépassent la liste ont généralement une grande base d'utilisateurs et une influence approfondie du marché, et leur volume de trading et leurs types d'actifs sont souvent difficiles à atteindre par d'autres échanges.

Logiciel essentiel recommandé pour les parties contractuelles en devises Logiciel essentiel recommandé pour les parties contractuelles en devises Apr 21, 2025 pm 11:21 PM

Les dix principales plates-formes d'échange de contrats de crypto-monnaie en 2025 sont: 1. Binance Futures, 2. Okx Futures, 3. Gate.io, 4. Huobi Futures, 5. Bitmex, 6. Bybit, 7. Deribit, 8. Bitfinex, 9. Coinflex, 10. Phemex, ces plates-formes sont largement reconnues pour leur haute liquidité, diverses fonctions commerciales diversifiées.

Prévisions des prix WorldCoin (WLD) 2025-2031: WLD atteindra-t-il 4 $ d'ici 2031? Prévisions des prix WorldCoin (WLD) 2025-2031: WLD atteindra-t-il 4 $ d'ici 2031? Apr 21, 2025 pm 02:42 PM

WorldCoin (WLD) se démarque sur le marché des crypto-monnaies avec ses mécanismes uniques de vérification biométrique et de protection de la vie privée, attirant l'attention de nombreux investisseurs. WLD a permis de se produire avec remarquablement parmi les Altcoins avec ses technologies innovantes, en particulier en combinaison avec la technologie d'Intelligence artificielle OpenAI. Mais comment les actifs numériques se comporteront-ils au cours des prochaines années? Prédons ensemble le prix futur de WLD. Les prévisions de prix de 2025 WLD devraient atteindre une croissance significative de la WLD en 2025. L'analyse du marché montre que le prix moyen du WLD peut atteindre 1,31 $, avec un maximum de 1,36 $. Cependant, sur un marché baissier, le prix peut tomber à environ 0,55 $. Cette attente de croissance est principalement due à WorldCoin2.

Qu'est-ce qu'une chaîne quantique? Quelles sont les transactions de chaîne quantique? Qu'est-ce qu'une chaîne quantique? Quelles sont les transactions de chaîne quantique? Apr 21, 2025 pm 11:51 PM

La chaîne quantique (QTUM) est une plate-forme de contrat intelligente décentralisée open source et un protocole de transmission de valeur. 1. Caractéristiques techniques: plate-forme de contrat SMART PO compatible BIP, combinant les avantages de Bitcoin et Ethereum, introduit des facteurs hors chaîne et améliore la flexibilité des mécanismes consensus. 2. Principe de conception: Réalisez l'interaction des données sur chaîne et hors chaîne par le biais de contrats de contrôle principaux, soyez compatible avec différentes technologies de blockchain, des mécanismes de consensus flexibles et envisagez la conformité de l'industrie. 3. Équipe et développement: une équipe internationale dirigée par Shuai Chu, 80% des pièces quantiques sont utilisées dans la communauté, et 20% récompensent l'équipe et les investisseurs. Les chaînes quantiques sont échangées sur les échanges Binance, Gate.io, OKX, BitHumb et Matcha.

Les dernières mises à jour sur le classement de la plus ancienne monnaie virtuelle Les dernières mises à jour sur le classement de la plus ancienne monnaie virtuelle Apr 22, 2025 am 07:18 AM

Le classement du «plus ancien» des Currences virtuels est le suivant: 1. Bitcoin (BTC), publié le 3 janvier 2009, est la première monnaie numérique décentralisée. 2. Litecoin (LTC), sorti le 7 octobre 2011, est connu sous le nom de "version légère de Bitcoin". 3. Ripple (XRP), publié en 2011, est conçu pour les paiements transfrontaliers. 4. Dogecoin (DOGE), publié le 6 décembre 2013, est une "pièce de mèmes" basée sur le code Litecoin. 5. Ethereum (ETH), publié le 30 juillet 2015, est la première plate-forme à prendre en charge les contrats intelligents. 6. Tether (USDT), publié en 2014, est le premier stablecoin à être ancré au dollar américain 1: 1. 7. Ada,

See all articles