var Web3 = require('web3');
var web3 = new Web3();
web3.setProvider(new web3.providers.HttpProvider("http://blahblah.com:8545"));
var token = web3.eth.contract(ABI).at("x0x_contract_address")
Wie würde dies in PHP geschehen?
Mit der Bibliothek ethereum.php, die ich verwende, kann ich beispielsweise Folgendes tun:
$data = new Ethereum_Transaction($users_eth_address, "x0_eth_address, $gas, $gasPrice, $hex_balance);
$result = $ethereum->eth_sendTransaction($data);
btelle/ethereum-php ist unvollständig und veraltet. Der letzte Commit ist von 2015.
Sie können digitaldonkey/ethereum-php verwenden
// The json file "$fileName" used is what you get when you compile a contract with Truffle.
$ContractMeta = json_decode(file_get_contents($fileName));
$contract = new SmartContract(
$ContractMeta->abi,
$ContractMeta->networks->{NETWORK_ID}->address,
new Ethereum(SERVER_URL)
);
$someBytes = new EthBytes('34537ce3a455db6b')
$x = $contract->myContractMethod();
echo $x->val()
Laut Repositorium
// include the class file
require 'ethereum.php';
// create a new object
$ethereum = new Ethereum('127.0.0.1', 8545);
// do your thing
echo $ethereum->net_version();
Dadurch können Sie eine Verbindung zu einer lokalen Geth-Instanz auf Ihrem Computer herstellen, die Port überwacht 8545
.
Um auf einen Vertrag zuzugreifen, beziehen Sie sich bitte auf die test.php
Datei, die weitere Beispiele enthält, wie Sie die Ihnen zur Verfügung stehenden Funktionen nutzen können.
Hier finden Sie möglicherweise die Dokumentation für die JSON-RPC-API besonders hilfreich. Dies liegt daran, dass das ethereum.php
Projekt im Wesentlichen nur ein Wrapper um die Ethereum-Implementierung ist, die unter läuft localhost:8545
.
Hoffe das hilft.
at(address)
Funktion entspricht keiner bestimmten JSON-RPC-API. Daher sehen Sie im Projekt keine entsprechende Funktion ethereum.php
. at(address)
wird aufgerufen, um Zugriff auf einen bestehenden Vertrag in einer Blockchain zu erhalten. Unter der Haube, wenn Sie einen neuen Vertrag erstellen. Web3 ruft nur standardmäßige JSON-RPC-Funktionen auf, um eth_sendTransaction
. Mit dem PHP-Wrapper werden Sie nicht so "sauber" wie mit Web3js.
Malone
Markus Alexander
Malone