


In diesem Artikel geht es um die PHP-Entwicklung des Ethereum-Systems. Er stellt hauptsächlich die Verwendung von PHP für die Entwicklung und Interaktion intelligenter Verträge, die Kontoerstellung, Transaktionen, Übertragungen, Token-Entwicklung, Filter und Ereignisse usw. vor.
Als ich zum ersten Mal über die Implementierung von Zahlungen per Kryptowährung nachdachte, schaute ich mir die verfügbaren Lösungen wie Stripe an. Ich denke, das Problem mit Stripe besteht darin, dass es nur Bitcoin-Zahlungen mit US-Händlerkonten zulässt, daher ist das für mich keine Option. In der Ethereum-Welt sieht es noch schlimmer aus. Es gibt einige neuere Dienste, aber alle möchten den Kuchen teilen.
Was brauchen wir also, um ein Ethereum-Zahlungssystem von Grund auf aufzubauen?
Ein Webserver, auf dem PHP ausgeführt wird.
Mindestens ein Paritätsknoten in einem privaten Netzwerk mit aktiviertem RPC.
Ein virtueller Adressgenerator auf einem Netzwerkserver, wie z. B. vanity-eth.
Wie funktioniert es?
Berechnen Sie den Preis der ETH anhand des aktuellen Preises von Coinbase oder der Kraken-API.
Verwenden Sie einen Dummy-Generator, um Adresspaare zu generieren und den privaten Schlüssel zu verschlüsseln oder an einen anderen Server zu übertragen.
Zeigen Sie dem Kunden die generierte Adresse und überprüfen Sie die Adresse alle paar Sekunden, wenn die Zahlung eingegangen ist.
Theoretisch scheint es kein Problem zu sein, also lasst es uns bauen.
Schritt 1: Server einrichten
Wir werden vanity-eth in nodejs verwenden, um die Adresse zu generieren.
npm install -g vanity-eth@1.0.4"
Nach der Installation von vanity-eth unter Windows:
Erfordert außerdem einige Etherum-Knoten. Ich verwende Parity, weil es schnell und zuverlässig ist.
Beginnen Sie mit diesen Parametern, setzen Sie die Knoten jedoch nicht direkt dem Internet aus, sondern halten Sie sie hinter einer Firewall ohne Portweiterleitung.
parity --jsonrpc-interface 0.0.0.0 --jsonrpc-hosts="all" --auto-update=all --jsonrpc-cors null
Paritätsprotokoll der abgeschlossenen Synchronisierung:
Für eine schnellere Bereitstellung können Sie Parity Docker-Container verwenden. Daten können auch gespeichert werden, sodass Sie nicht jedes Mal neu synchronisieren müssen, wenn der Container neu erstellt wird.
Schritt 2: Zahlungsklasse schreiben
Erstellen Sie zunächst einen Ordner mit dem Namen libs
und klonen Sie das PHP-Ethereum-Repo hinein. Das Ethereum-PHP-Projekt ist ein guter Wrapper für die JSON-RPC-Klasse.
Dann verwenden wir die folgende Klasse und speichern sie als ethpay.php. Dies ist die Hauptlogik der Zahlungsabwicklung. Sie können es verwenden, um:
Adresspaare zu generieren
Guthaben prüfen (ausstehend und abgeschlossen)
Von WEI in ETH konvertieren
<?php define('RPC_IP','127.0.0.1'); define('RPC_PORT',8545); require 'libs/ethereum-php/ethereum.php'; $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)); } } }
Letzter Schritt: Integration in Ihre Website
Je nach Dienst gibt es dafür mehrere Möglichkeiten.
Bei API Heaven stellen wir jedem Kunden eine ETH-Adresse zur Verfügung, an der Gelder eingezahlt werden können. Der Cronjob überprüft jede Minute alle Kundenadressen, um Änderungen festzustellen. Wenn sie ETH zur Adresse hinzufügen, wird das Guthaben in API-Kontingent umgewandelt, sodass sich unsere Kunden nicht einmal auf der Website anmelden müssen, um Geld hinzuzufügen.
Beispielintegration im API Heaven:
Ein anderer Ansatz besteht darin, einen Festpreis zu berechnen und diesen in der Benutzersitzung zu speichern. Der Kunde muss auf der Website bezahlen und Sie müssen AJAX verwenden, um den Zahlungseingang abzufragen. Ist der volle Betrag eingegangen, wird der Verkauf im Backend ausgelöst.
Das Beste daran ist, dass Sie keinen externen Dienst benötigen, um das Ethereum-Zahlungssystem auf Ihrer Website zu integrieren. Kommen Sie und lernen und spielen Sie gemeinsam Ethereum.
Verwandte Empfehlungen:
So entwickeln Sie ein Online-Zahlungssystem mit PHP
So entwickeln Sie ein virtuelles Domain-Name-System
Das obige ist der detaillierte Inhalt vonWie man PHP verwendet, um das Zahlungssystem von Ethereum zu entwickeln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

PHP bleibt im Modernisierungsprozess wichtig, da es eine große Anzahl von Websites und Anwendungen unterstützt und sich den Entwicklungsbedürfnissen durch Frameworks anpasst. 1.PHP7 verbessert die Leistung und führt neue Funktionen ein. 2. Moderne Frameworks wie Laravel, Symfony und Codesigniter vereinfachen die Entwicklung und verbessern die Codequalität. 3.. Leistungsoptimierung und Best Practices verbessern die Anwendungseffizienz weiter.

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Verwenden Sie in PHP das Klonschlüsselwort, um eine Kopie des Objekts zu erstellen und das Klonierungsverhalten über die \ _ \ _ Clone Magic -Methode anzupassen. 1. Verwenden Sie das Klonschlüsselwort, um eine flache Kopie zu erstellen und die Eigenschaften des Objekts, nicht die Eigenschaften des Objekts zu klonen. 2. Die \ _ \ _ Klonmethode kann verschachtelte Objekte tief kopieren, um flache Kopierprobleme zu vermeiden. 3. achten Sie darauf, dass kreisförmige Referenzen und Leistungsprobleme beim Klonen vermieden werden, und optimieren Sie die Klonierungsvorgänge, um die Effizienz zu verbessern.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.