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")
¿Cómo se haría esto en PHP?
Por ejemplo, con la biblioteca ethereum.php que uso, puedo hacer cosas como esta:
$data = new Ethereum_Transaction($users_eth_address, "x0_eth_address, $gas, $gasPrice, $hex_balance);
$result = $ethereum->eth_sendTransaction($data);
btelle/ethereum-php está incompleto y desactualizado. El último compromiso es de 2015.
Podrías usar digitaldonkey/ethereum-php
// 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()
Según el depósito
// 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();
Esto le permitirá conectarse a una instancia local de Geth en su máquina escuchando en el puerto 8545
.
Para acceder a un contrato, consulte el test.php
archivo que incluye más ejemplos de cómo hacer uso de las funciones disponibles para usted.
Puede encontrar la documentación para la API JSON RPC particularmente útil aquí. Esto se debe a que el ethereum.php
proyecto es esencialmente solo un contenedor de la implementación de Ethereum que se ejecuta en localhost:8545
.
Espero que esto ayude.
at(address)
función no corresponde a una API JSON RPC en particular. Por lo tanto, no verá una función equivalente en el ethereum.php
proyecto. at(address)
se llama para obtener acceso al contrato existente en una cadena de bloques. Bajo el capó, cuando crea un nuevo contrato. Web3 solo está invocando funciones JSON RPC estándar para dar me gusta eth_sendTransaction
. No obtendrá una API tan "limpia" con el contenedor php como lo hace con Web3js.
Malone
marco alejandro
Malone